|
|
| | -文章搜索 - 最新文章 - | |
图形点阵式液晶显示模块的控制技术 |
| 发布时间:2006年5月16日 点击次数:867 |
| 来源: 作者:三联集团上海研究开发中心 胡嗣云 |
摘要:分析了图形点阵式液晶显示模块LCD240128A的内部结构及工作原理,结合AT89S58单片机给出了MPU与液晶显示模块LCD240128的接口电路,并根据LCD240128A模块中T6963A液晶驱动器的文本与图形两种模式的指令特性,给出了相应的控制软件。 关键词:液晶 微控制器 显示器 LCD240128A AT89S58 T6963A 1 模块简介 图形点阵式液晶显示模块具有尺寸小、功耗小、可靠性高、成本低等优点,可显示各种图像与文本信息,因此在电子仪器中得到广泛的应用。 LCD240128A是热致液晶STN型图形点阵式显示模块,它由STN型液晶板、液晶显示控制器、液晶驱动器、背光板等组成,图1怕示是LCD240128A模块的结构框图。 T6863A内部含有共128字节的字符发生器CGROM,可外接8k(最大为128k)字节的RAM作为外部的显示缓冲区及字符发生器CGRAM,并允许MPU访问显示缓冲区,甚至还可进行位操作。 根据T6963A的特性设计出的LCD240128A模块与AT89S58单片机的接口电路如图2所示。 在图2中,AT89S58单片机作为控制液晶模块MPU,扩展在16k字节EPROM27128用于存放16点阵汉字的字模数据,AT89S58与外部数据及指令的效换采和8255作为I/O通道。 从图2可以看出,液晶模块的控制指令端口为4FFFH,数据端口为4FFEH,可通过电位器P1来调整液晶的显示效果。 为了更好地阐述LCD240128A的控制方法,这里先介绍T6963A的指令。
T6963A的指令格式为:数据1+数据2+指令字节,但是,有的指令只含有一个数据或根本就没有数据。而LCD240128A模块选择的是单屏结构、每行最大为80个字节、总行数为16的显示模式。 为了确保每条指令的正确执行,有必要在执行指令前,先分析一下模块的状态字: STATE:MOV DPTR,#40001H MOVX A,@DPTR RET 此时,累加器A中的每位所代表的内容如下: ACC.0:指令读写状态,1表示已准备好,0表示忙 ACC.1:指令读写状态,1表示已准备好,0表示忙 ACC.2:数据自动读状态,1表示已准备好,0表示忙 ACC.3:数据自动写状态,1表示已准备好,0表示忙 ACC.4:未用 ACC.5:控制器运行特性检测,1表示可以,0表示不可; ACC.6:屏读/拷贝状态,1表示出错,0表示正确; ACC.7:闪烁状态,1表示正常,0表示不正常; 2.1 地址指令设置命令 地址指令设置命令主要包括如下三种设置: (1)设置光标位置:D1+D2+21H; 其中D1为光标离液晶屏左上角的横向字符数;D2为光标离液晶屏左上角的纵向字符数。 (2_设置CGRAM的位置:D1+00H+22H; 此指令中D1的有效位为低5位,用于设置2kCGRAM在8k显示RAM中的高5位地址,中间8位为字符代码,低3位为字符8×8点阵行计数值。 (3)设置当前要操作的单元:D1+D2+24H 其中D1为地址的低字节,D2为高字节。 2.2 显示区域设置命令 显示区域设置命令主要是对文本区首址和每行字符数以及图形区的首址和每行字符数进行设置。 (1)设置文本显示区的首址:D1+D2+40H 其中D1为低字节,D2为高字节,地址对应于显示屏左上角的字符位。 (2)设置文本区的每行字符数:D1+00H+41H (3)设置图形区首址:D1+D2+42H 其中D1为地址的低字节,D2为高字节。 (4)设置图形区每行字符数:D1+00H+43H 2.3 设置显示方式 设置显示方式的格式为:
各位的意义如下: N3-字符发生器选择位,当N3=1时,选择CGRAM,字符代码为00H~FFH,字节空间为2k;当N3=0时,选择CGROM,字符代码为00H~7FH。 通过N2、N1和N0的不同组合可对合成显示方式进行选择,选择方式如表2所列。只有当文本方式和图形方式均打开时,上述合成显示方式的设置才有效。
2.4 设置显示状态 显示状态指令模式为:
其中:N0为光标闪烁位,1为可以,0为禁止; N1为为光标显示,1为可以,0为禁止; N2为文本显示,1为可以,0为禁止; N3为图形显示,1为可以,0为禁止。 2.5 光标形状选择 光标形状选择指令格式为:
光标形状为8点(列)×N点(行),其中N的值由N0~N2决定。 2.6 设置数据自动读/写方式 该指令包括B0H,B1H和B2H(B3H)等。其中: B0H表示自动写;B1H表示自动读;B2H为结束自动方式。 该指令的格式为:D1+指令字节,意义如下: D1+C0H:表示数据写,地址加1; C1H:表示数据读,地址加1; D1+C2H:表示数据写,地址减1; C3H:表示数据读,地址减1; D1+C4H:表示数据写,地址不变; C5H:表示数据读,地址不变。 有了上述指令,我们就可开始下一步的软件设计,至于T6963A的更详细说明,请参考文献[1]。 3 控制软件 该控制软件主要讨论液晶模块的初始化、CGROM中字符的显示、CGRAM的设置以及汉字与图形的显示等。 3.1 初始化与准备工作 以下为状态检测程序: STA1:LCALL STATE JNB ACC.0,STA1 ;指令读写状态 JNB ACC.1,STA1 ;数据读写状态 RET STA2:LCALL STATE JNB ACC.2,STA2 ;数据自动读状态 RET STA3:LCALL STATE JNB ACC.3,STA3 ;数据自动写状态 RET STA6:LCALL STATE JB ACC.6,ERR ;屏读/拷贝状态 RET ;- - - - - - - - - - - - - - - - - - - - - - ERR_;LJMP ERR ;出错处理程序 ;- - - - - - - - - - - - - - - - - - - - - - ; STATE:MOV DPTR,#4001H MOVX A,@DPTR RET 在下面的写指令与数据程序中,R2为数据D1,R3为数据D2,R4为指令字节; ; WR2:LCALL STA1 ;有D1与D2 MOV A,R2 LCALL WRD WR1:LCALL STA1 ;无D1, MOV A,R3 LCALL WRD WR0:LCALL STA1 ;无D1与D2, MOV A,R4 AJMP WR00 WRD:MOV DPTR,#4000H WR00:MOVX @DPTR,A RET ; 以下是读数程序: ; RD_:LCALL STA1 MOV DPTR,#4000H MOVX A,@DPTR RET ; 有关硬件的初始化,LCD240128A在模块制造时就已做了如下选择: FS=0,用于选择8×8点阵; MD2=0,MD3=0确定了每行最大字符数为80; MDS=1,MD0=0,MD1=0,确定了总行数为16; 下面为软件的初始化程序: INITATION:LCALL CLR_ MOV R2,#0 ;建立文本区首址 MOV R3,#0 ;为00H MOV R4,#40H LCALL WR2 MOV R2,#1EH ;设置文本区宽度 MOV R3,#0 ;为30 MOV R4,#41H LCALL WR2 ; MOV R2,#00H ;设置图形区首址 MOV R3,#00H MOV R4,#42H LCALL WR2 MOV R2,#1EH ;设置图形区宽度 MOV R3,#0 MOV R4,#43H LCALL WR2 MOV R4,#0A0H LCALL WR0 ;设置光标形状 MOV R4,#98H ;打开文本与图形方式 LCALL WR0 MOV R4,#80H ;采用逻辑“或” LCALL WR0 RET ; CLR_; MOV R2,#0 ;清RAM单元 MOV R3,#0 MOV R4,#24H LCALL WR2 MOV R4,#0B0H ;设置自动写 LCALL WR0 MOV R2,#1FH ; CLR1: MOV R3,#0FFH CLR2: LCALL STA3 CLR A ;写入0 LCALL WRD DJNZ R3,CLR2 DJNZ R2,CLR1 MOV R4,#0B3H ;结束自动写 LCALL WR0 RET ; CLR_:MOV R2,#0 ;清RAM单元 MOV R3,#0 MOV R4,#24H LCALL WR2 MOV R4,#0B0H ;设置自动写 LCALL WR0 MOV R2,#1FH ; CLR1: MOV R3,#0FFH CLR2: LCALL STA3 CLR A ;写入0 LCALL WRD DJNZ R3,CLR2 DJNZ R2,CLR1 MOV R4,#0B3H ;结束自动写 LCALL WR0 RET ; 3.2 CGROM中的字符显示 在1k字节的CGROM中,含有以下00H~7FH为字符代码的常用字母与符号。并于它们的显示程序可以描述如下,这里以显示:“OK!”为例: DISPI:MOV R3,#00h ;设置指针地址 MOV R2,#0 MOV R4,#24H LCALL WR2 MOV R2,#0 DISP10:MOV DPTR,#TAB1 MOV A,R2 MOVC A,@A+DPTR MOV R3,A ;取字符 MOV R4,#0C0H LCALL WR1 ;写入模块 INC R2 CJNE R2,#03H,DISP10 RET TAB1: DB 2FH,2BH,01H 3.3 图形方式下显示汉字 可以很方便地从计算机中提取点阵式的汉字字模,并按左上,左下,右上,右下的顺序,把字模保存在程序ROM中,下面以占用32个字节的汉字16点阵“交”字为例如以说明: HK0:DB 02H,01H,01H,0FFH,08H,08H,10H,28H DB 44H,02H,01H,02H,04H,08H,30H,0C0H DB 00H,10H,0A0H,48H,0FCH,48H,48H,0F8H DB 48H,0FCH,20H,20H,20H,24H,0FEH,00H 下面这个子程序,可以显示一个汉字“交”,通过调用该子程序,即可显示一组语句,具体说明如下: ;R2,R3,R4,R5,A HZDISP:MOV DPTR,#HK0 MOV B,#20H MUL AB ADD A,DPL MOV DPL,A MOV A,B MDDC A,DPH MOV DPH,A push dph push dp1 MOV R2,#10H MOV A,#00H ;指向字模的左半部地址 HZD1:pop dp1 Pop dph MOV R5,A MOVC A,@A+DPTR Push dph Push dp1 MOV R3,A MOV R4,#0C0H LCALL WR1 pop dp1 pop dph MOV A,R5 ADD,A,#10H ;指向字模的右半部地址 MOVC A,@A+DPTR PUSH DPH PUSH DPL ; MOV R3,A LCALL WR1 MOV A,R2 MOV R3,A ;改变显示指针, MOV R2,#1CH MOV R4,#0C1H HZD2:LCALL WR0 DJNZ R2,HZD2 ; MOV A,R3 MOV R2,A MOV A,R5 INC A DJNZ R2,HZD1 pop dp1 pop dph RET 在TA6963A的控制指令中,有一个位操作指令,格式为:
格式中的D2D1D0用于确定要操作的是0~7位某一位,D3确定该位为1或0.该指令可对当前显示地址指针所指的显示单元中的数据的任一位写“0”或写“1”。有了这个指令,欠就可以很方便地设置点或清除点,从而达到显示任意曲线或图案的目的。 4 结束语 利用LCD240128A液晶模块可以增加系统的可读性。本文就其基本的控制软件与电路作为分析。当然,液晶模块的控制集成电路有很多种,各套指令也有一定的差异,但其基本思想都有很多相似的地址。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
[显示技术] 相关文章: DMF5005N点阵图形液晶显示模块电路分析简介:
摘要: DMF5005N是日本东芝公司生产的点阵式图形液晶显示模块。它具有体积小、重量轻、低电压、低功耗等特点。文中介绍了它的整体结构,并对控制器T6963C、行和列驱动器T6A40和T6A39的工作原理和功能进行了详细地分析和说明。 关键词: 液晶显示 点阵图形式 DMF5005N T6963C T6A40 T6A39 ...... 中华映管深圳将投产 瞄准大尺寸面板
装配光电激光器件的一种新兴模式
可调激光器的应用现状及未来
明基否认将出售液晶显示器产品线 称非卖品
聚积针对集束型RGB LED应用推出新款LED驱动IC
CMOS图像传感器新技术--C3D
Vishay的高密度LED可替代TLM系列
三星、SONY投资20亿美元建第八代TFT液晶面板厂
友达光电年内欲称霸全球大尺寸LCD面板市场 |
|
|
|