LCD显示-硅谷芯微技术奉献.ppt

上传人:牧羊曲112 文档编号:5437062 上传时间:2023-07-06 格式:PPT 页数:27 大小:418KB
返回 下载 相关 举报
LCD显示-硅谷芯微技术奉献.ppt_第1页
第1页 / 共27页
LCD显示-硅谷芯微技术奉献.ppt_第2页
第2页 / 共27页
LCD显示-硅谷芯微技术奉献.ppt_第3页
第3页 / 共27页
LCD显示-硅谷芯微技术奉献.ppt_第4页
第4页 / 共27页
LCD显示-硅谷芯微技术奉献.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《LCD显示-硅谷芯微技术奉献.ppt》由会员分享,可在线阅读,更多相关《LCD显示-硅谷芯微技术奉献.ppt(27页珍藏版)》请在三一办公上搜索。

1、第十二章 12864LCD显示,硅谷芯微 技术贡献网址:,现在市面上常用的显示器有CRT、LCD、LED、等离子显示器几种。根据应用领域分类一般分为:TN-LCD,主要用于钟表、计算器、仪表、家电、数字小型点矩阵、通信及办公设备。STN-LCD,以黑白色为主,应用集中在PDA、游戏机、翻译机、传真机、电话、摄影机、POS收款机、医疗器材、工业仪器显示屏等领域。TFT-LCD,以彩色为主,应用集中在电视、TV电话、计算机、导航仪等为主流,将来会渐渐取代传统之CRT显示器。根据液晶显示像素大小可分为:64*32、128*64、320*640等。根据其显示颜色有单色(黑白)、4灰阶、16灰阶、256

2、色、4096色、16位真彩色、32位真彩色等。根据控制方式可分为:段式液晶 字符图形式液晶。,掌握12864串行和并行模式读写时序 掌握串行和并行模式的数据传输方法 理解12864显示汉字原理 理解12864显示图片原理,本章重点:,12.1 12864概述 我们学习是采用的LCD为STN类,像素为128*64黑白字符图形式12864液晶屏。买LCD的时候会配带相应的驱动控制器,虽然对应的驱动控制其型号很多,不过使用方法大同小异。12864有带字库的和不带字库两种,不带字库的需要自己用专用软件取模,现在市面上常用的驱动控制器都带字库。JHD529M1是一个128*64的LCD驱动控制器,可显示

3、汉字及图形。内置8192个中文汉字CGROM(16*16)、128个字符(ASCII码)HCGROM(8*16)及128*64点阵显示RAM(GDRAM)。基本特征 低电源电压,2MHZ时钟频率,通讯方式为串并行可选,工作温度为0-55度。显示内容 可以构成全中文人机互交图形界面。可以显示8*4行16*16点阵汉字,也可以完成图形显示。并且可以实现光标显示,画面移动,自定义字符、睡眠模式。通信接口 并行:8位数据线DB0-DB7、3位控制线RS,R/W,E 串行:I2C接口CS,SCLK,SDA,管脚定义:,12.2 传输方式,向驱动控制器发送命令分为串行和并行传输,无论何种传输,他们的控制字

4、格式都是一样的:格式11111ABC,A为读写控制,H_读,L_写;B为类型控制,H_数据,L_指令;C为0。以及指令集是相同的。,基本指令集:,扩充指令集:,12.3 并行方式传输 LCD12864和单片机并口连接图,12.3.1 并行时序(将PSB接H为并行模式)1.写时序 写时序流程如图所示:,RS为命令/数据选择信号,R/W为读写选择信号,E微操作驱动信号,DB0-DB7为数据总线。上图为写操作,所以R/W则表明当前进行的是写操作。DB0-DB7为单片机向JHD529M1写数据。,写时序部分程序代码:写指令:,并口写指令时注意时序,RS拉低。注意写指令时不同指令的延时时间不同。,写数据

5、:,LCDWC:;并口写指令子程序LCALLCHK_BUSY;以确保上一指令/数据模块已经接收处理完NOPCLRRSCLRRWSETBEMOVP2,A;将要操作的指令通过数据口发送NOPCLRENOPRET,LCDWD:;并口写数据子程序LCALLCHK_BUSY;判忙子程序NOPSETBRSCLRRWSETBEMOV P2,A;将要写入的数据通过数据口发送CLRENOPRET,读忙状态子程序:,并行模式判忙:当R/W为H,RS为L时,驱动控制器会输出它的状态和当前地址计数器AC的值。最高位为状态位,低六位为地址。,CHK_BUSY:CLRRSSETBRWSETBECHK_B:NOPJBP2.

6、7,CHK_B;读出的AC值存放在P2口,判断最高位,为1则忙,为0则空闲。CLRE RET,2.读时序 读时序流程如图所示:,RS为命令/数据选择信号,R/W为读写选择信号,E为操作驱动信号,DB0-DB7为数据总线。当写入命令11111100B时,R/W为H,RS为L,不需要延时,控制器会马上读出当前的AC值。然后进行判忙等操作。当发送11111110B时,R/W为H,RS为H,驱动控制器会把当前地址计数器的数据发送出来。读数据要延时72us。,读子程序:,READ:MOVP2,#11111100B;写入读命令指令NOPCLRRSSETBRWSETBEMOVA,P2;P2读出计数器AC值N

7、OPCLRERETR,12.4串行模式,LCD12864和单片机串行模式连接图(将PSB接L为串行模式,串行模式只需三根线),串行模式写时序和读时序是一样的流程,串行口时序图如下图:,串行模式下输入11111100后,驱动控制器会输出两个字节的数据,分别为DDDD0000和0000DDDD,最高位为判忙状态位。,写指令或数据子程序:,F_WRITE:;按照时序写入第二个拆分的字节MOVR6,A;A为要写入的命令或者操作ANLA,#0F0H;取要发送指令或数据的高四位LCALLF_WRITEBETY;发送高四位MOVA,R6ANLA,#0FH;去要发送指令或数据的第四位SWAPALCALLF_W

8、RITEBETY;发送低四位RETF_WRITEBETY:;按位发送8次,发送所要操作的指令或者数据MOVR7,#08L_WRITENEXTBIT:RLCAMOVB_SDA,CNOPNOPNOPNOPSETBB_CLKNOPNOPNOPNOPCLRB_CLKDJNZ R7,L_WRITENEXTBITRET,注意:当模块在接受指令前,微处理必须先确认模块内部处于非忙碌状态,即读取AC最高位状态标志时,状态位需为0,方可接受新的指令;如果在送出一个指令前并不检查状态标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的指令说明。

9、当有多个数据或指令要传送时,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则,会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。,12.5 显示字符或者汉字 显示资料RAM提供642个位元组的空间,最多可以控制4行16字(64个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;JHD529M1可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的编码(

10、A140D75F),各种字型详细编码如下:1.显示半宽字型:将8位元资料写入DDRAM中,范围为02H7FH的编码。2.显示CGRAM字型:将16位元资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。3.显示中文字形:将16位元资料写入DDRAM,范围为A1A1HF7FEH的编码作为字符显示,在控制器内有个供写入字符代码的缓存器DDRAM,你只要将要显示的中文字符代码或西文字符代码写入DDRAM,硬件将依照编码自动从CGROM中选择将要显示的字型显示再屏幕上。至于是显示西文字符还是中文字符,它会自动辨别的,这和我们PC上是一样的,字符代码也完全一样。,ASCI

11、I码如表所示:,字符显示时,DDRAM地址与液晶屏的位置关系见下表:,这个表上可以看出,它的地址编排很奇特,第一行到87H完了以后就跳到了第三行接着88H了,每二行也是一样的,很明显,有下面两行接在上面两行后面的迹像。,例:要在第一行开始写个心,则应先设置DDRAM地址为80H,然后向其写入数据03H 要在第二行”单片机”三个字只需将要写入的字放入表中,通过查表写入即可。写入数据之前先写入地址,注意地址为指令操作。表中的数据写入后DDRAM会自动匹配汉字。,12.6 绘图显示绘图显示RAM地址分布如图所示:,上图我们可以看出JHD529M1的LCD12864在地址的排列上是分为上、下半屏来显示

12、的,上半屏横向的列地址(X)是07(00H-07H),下半屏的列地址是815(08H-0fH)。而每个一地址都可写入两个字节的内容,它们是按高位在前低位在后排列的。垂直方向上的地址(Y)上半屏是031(00H-1fH),下半屏的Y地址仍是031(00H-1fH),可以看出,它的地址排列方式还是将下半屏接在上半屏后面的,因此这块LCD12864,虽然在点阵的物理排列上是12864,但在地址排列上,它却是块25632。,绘图RAM(GDRAM)绘图显示RAM提供6432个位元组的记忆空间,最多可以控制25664点的二维也纳绘图缓冲空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个8

13、位元的资料到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:1 关闭绘图显示功能。2 先将水平的位元组坐标(X)写入绘图RAM地址;3 再将垂直的坐标(Y)写入绘图RAM地址;4 将D15D8写入到RAM中;5 将D7D0写入到RAM中;6 打开绘图显示功能。,图像数据处理方法 使用Image2Lcd工具可以将图像处理为对应的显示数据。,1.输出数据类型应设置为C语言数组,这样可以直接得到十六进制的字节型数据。2.扫描模式可设为水平扫描模式,这样便于软件设计。3.输出灰度应该设为单色模式,因为128*64只能显示单色的图像4.

14、最大宽度和高度应该为128*64,如果图像本身为100*50。,则无法处理成128*64的,所以在使用Image2Lcd工具之前,应该用专业的软件将图像处理成128*64大小的。5.高位在前,因为128*64驱动控制器将会显示最高位在前面。(先写入D8-D15)6.设置完了之后点击保存,即可获得图像数据。,12.7 下面程序为写字符和绘图的主程序代码:,R_KZZEQU50H;控制字缓冲区C_QPEQU00000001B;清除屏幕C_XSEQU00001100B;字符显示设置开C_ZLEQU00110000B;指令类别设置(基本指令集)C_ZLKCEQU00110100B;指令类别设置(扩充指

15、令集)C_HTXSEQU00110110B;绘图显示开关 L_LOOP:LCALLF_CSHLCD;初始化显示屏(清屏)MOVR_KZZ,#C_ZLLCALLF_WRITECMD;写入指令类别(基本指令集)LCALLF_ShowWords;在地址中写入文字数据MOVR_KZZ,#C_XSLCALLF_WRITECMD;显示汉字LCALLF_DELAY1S;汉字显示1秒钟子程序MOVR_KZZ,#C_QPLCALLF_WRITECMD;清屏LCALLF_Delay4600usMOVR_Xzb,#80H;写图像x坐标MOVR_Yzb,#80H;写图像y坐标MOVR_KZZ,#C_ZLKCLCALL

16、F_WRITECMD;写入指令类别(扩充指令集)LCALLF_Showphoto;在地址中写入图片数据MOVR_KZZ,#C_HTXSLCALLF_WRITECMD;显示图片LCALLF_DELAY1S;图片显示1秒钟子程序MOVR_KZZ,#C_ZLLCALLF_WRITECMD;写入指令类别(基本指令集)MOVR_KZZ,#C_QPLCALLF_WRITECMD;清屏LCALLF_Delay4600usLJMPL_LOOP,代码详解:写字符:先初始化清屏,紧接着设置指令类别为基本指令集,再写字符到DDRAM中,然后打开显示。绘图:将指令类别设置为基本指令集,然后清屏,再设置指令类别为扩充指令集将图像数据写入绘图显示RAM(GDRAM)中,打开显示。注意清屏命令必须在基本指令集设置下完成。,12.8 课后练习 1.显示一段汉字在LCD12864屏中。2.显示一幅图像在LCD12864屏中。3.显示一段汉字和图像实现换页。(先显示一屏汉字,在显示一幅图像硬件结合本章串行并行传输方式电路图),谢谢大家,硅谷芯微 技术贡献,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号