LCD240128图形点阵式液晶显示模块的控制技术 - 深圳led背光源生产厂家,lcd显示屏,lcm液晶显示模块|模组厂-z6尊龙官网
  1. z6尊龙官网

    1. 
        •  深圳市z6尊龙官网产品分类列表

          联系我们

          公司名称 :深圳市z6尊龙官网光电有限公司
          厂址 :中国.广东省.深圳市宝安西乡臣田工业区

          营销专线
          吴先生 手机:13538278608
          胡先生 手机:13823360976
          固定电话:86-0755-28246146/
          28246906/28246536/28247229
          电话传真:86-0755-89715671
          投诉与售后咨询 黄小姐:13823217679
          胡先生:13928021976

          Email:bly@tuanm9.com

          公司网址:https://www.tuanm9.com/

          LCD240128图形点阵式液晶显示模块的控制技术

          LCD240128图形点阵式液晶显示模块的控制技术

          摘要:分析了图形点阵式液晶显示模块LCD240128A的内部结构及工作原理 ,结合AT89S58单片机给出了MPU与液晶显示模块LCD240128的接口电路,并根据LCD240128A模块中T6963A液晶驱动器的文本与图形两种模式的指令特性 ,给出了相应的控制软件。

          1 模块简介

          图形点阵式液晶显示模块具有尺寸小、功耗小、可靠性高、成本低等优点,可显示各种图像与文本信息 ,因此在电子仪器中得到广泛的应用 。

          LCD240128A是热致液晶STN型图形点阵式显示模块,它由STN型液晶板、液晶显示控制器、液晶驱动器、背光板等组成 ,图1怕示是LCD240128A模块的结构框图 。它的整屏尺寸为114×104mm,有240×128点,可显示16点阵汉字15×8个,亦可显示各种图形。因此,在智能式电子仪器中 ,LCD240128A可用来作为显示器 ,以显示各种图形和文本信息。LCD240128A液晶模块内有T6963A液晶驱动控制器,该模块的外部接口引脚定义如表1所列 。

          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来调整液晶的显示效果。

          2 控制命令

          为了更好地阐述LCD240128A的控制方法 ,这里先介绍T6963A的指令。

          表1 LCD240128A的引脚定义

          引脚号信 号意 义
          1FG框架地 。
          2VSS信号地,为0V。
          3VDD模块电源输入端 ,为+5V±10%
          4VEELCD工作电压输入端。
          5WR写信号。
          6RD读信号 。
          7CE片选信号。
          8C/D“1”为指令码 ,“0”为数据码 。
          9N.C悬空脚
          10RESET复位信号
          11~18DB0~DB7数据位18
          19F.S点阵模式选择 。“1”选择5×8点阵 ,“0”选择8×8点阵。
          20VOUT-10V LCD驱动电压输出端。

          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 设置显示方式

          设置显示方式的格式为 :

          1000N3N2N1N0

          各位的意义如下 :

          N3-字符发生器选择位,当N3=1时,选择CGRAM,字符代码为00H~FFH ,字节空间为2k;当N3=0时,选择CGROM,字符代码为00H~7FH 。

          通过N2、N1和N0的不同组合可对合成显示方式进行选择,选择方式如表2所列。只有当文本方式和图形方式均打开时,上述合成显示方式的设置才有效 。

          表2 合成显示方式选择

          N2N1N0

          合成显示方式

          000文本与图形以逻辑“或”
          001文本与图形以逻辑“异或”
          011文本与图形以逻辑“与”
          100文本特征方式

          2.4 设置显示状态

          显示状态指令模式为:

          1001N3N2N1N0

          其中 :N0为光标闪烁位,1为可以 ,0为禁止 ;

          N1为为光标显示 ,1为可以,0为禁止;

          N2为文本显示,1为可以 ,0为禁止 ;

          N3为图形显示 ,1为可以,0为禁止。

          2.5 光标形状选择

          光标形状选择指令格式为:

          10100N2N1N0

          光标形状为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的控制指令中,有一个位操作指令 ,格式为:

          1111D3D2D1D0

          格式中的D2D1D0用于确定要操作的是0~7位某一位,D3确定该位为1或0.该指令可对当前显示地址指针所指的显示单元中的数据的任一位写“0”或写“1” 。有了这个指令,欠就可以很方便地设置点或清除点,从而达到显示任意曲线或图案的目的 。

          4 结束语

          利用LCD240128A液晶模块可以增加系统的可读性 。本文就其基本的控制软件与电路作为分析。当然,液晶模块的控制集成电路有很多种,各套指令也有一定的差异 ,但其基本思想都有很多相似的地址。

           

          免责声明:本文转载于互联网 ,仅代表作者观点,如对稿件内容/版权等有疑议 ,请及时联系我们删除 。

          
          首 页 | 公司简介 | 企业荣誉 | 产品中心 | 新闻中心 | 联系我们 | 集团首页

          版权所有 深圳市z6尊龙官网光电有限公司     粤ICP备08129267号-1
          1. XML地图