液晶汉字显示原理.doc_第1页
液晶汉字显示原理.doc_第2页
液晶汉字显示原理.doc_第3页
液晶汉字显示原理.doc_第4页
液晶汉字显示原理.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

点阵图形液晶显示模块应用研究(2008-06-23 10:56:57)标签:爱在中国行显示模块lcm点阵lcd单屏图形区校园 点阵图形液晶显示模块应用研究摘要根据显示方式和内容的不同,常用于仪器仪表上的液晶显示模块有笔段型和点阵型两类。前者可用于显示有限个简单符号,控制也较为简单。后者又可分为两种:字符型液晶显示模块和图形液晶显示模块。点阵液晶显示模块现实的信息多,可显示字符、汉字,也可以显示图形和曲线,且容易与微处理器接口,因此经常用在机械设备控制和自动生产线中显示设备的工作参数,或者用图形方式显示设备和生产线的工作过程。 本文首先从应用角度阐述了基于T6963C控制器的12864T图形点阵式液晶显示模块(LCM)的组成和工作原理,然后给出了用单片机对模块进行控制的硬件电路和软件编程方法,最后介绍了调试图形点阵式LCM 时的相关注意事项。 12864T型LCM是一款性价比较高的液晶显示模块, 该模块与单片机的接口十分方便,且能进行大信息量的字符显示,还可以实现图形及曲线的显示,这就使人机接口更友好。当然,不同型号的液晶模块的内置控制器有很多种,各套指令也有一定差异, 但其设计思路和流程基本相同。关键词:T6963C 12864T 液晶显示模块 模块调试 8051单片机Lattice Graphics LCD Module Applied ResearchAbstract According to show the different ways and content, commonly used in the instrumentation on the liquid crystal display modules and a T-point formation of two types. The former can be used to display a simple limited symbols, control is relatively simple. The latter can be divided into two types: character LCD modules and graphics LCD modules. Dot-matrix LCD modules reality of the information, to display characters, Chinese characters, can also display graphics and curves, and easy to interface with the microprocessor, often used in machinery and equipment control and automatic production line equipment in the work displayed parameter, or With graphic displayproduction line equipment and the work process.In this paper, from the application point of view based on the T6963C controller on the 12864T graphics dot-matrix LCD module (LCM) of the composition and work principles, and then presented to the MCU module control circuit and the hardware software programming, debugging conclusion, the graphics dot-matrix LCM attention of the relevant matters.12864T LCM is a cost-effective liquid crystal display module, the module with the MCU interface is very convenient, but also a large amount of information of the characters, graphics and can also achieve the curve, this On the people more friendly computer interface. Of course, different models of LCD module built-in controller there are many, different sets of instructions are also differences, but their design ideas and processes is basically theKey words: T6963C 12864T LCD module module debugging 8051 MCU一、 引言 近年来液晶显示技术发展迅猛,市场预测表明,液晶显示器平均年销售量增长10%13%,不久的将来有可能取代CRT,成为电子信息产品的主要显示器件,另外,液晶显示器对空间电磁辐射的干扰不敏感,且在紧凑的仪器空间不需要专门的屏蔽保护,因而可大大简化仪器的结构和制造成本,在各种便携式仪器、仪表将会得到越来越广泛的应用。特别是在电池供电的单片机产品中,液晶显示器更是必选的显示器件。液晶显示是微型机系统中反映系统输入/ 输出的人机界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化、接口电路简单等诸多优点得到广泛应用。液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB 线路板、背光源、结构件装配在一起的组件1。英文名称为“LCD Module”,简称LCM,中文一般称为“液晶显示模块”。 本文从实际应用角度出发,在简单介绍了基于T6963C控制器的12864T的点阵图形液晶显示模块的组成和工作原理之后,重点阐述了此款液晶显示模块的方法,给出了用8051单片机设计软硬件的思路和设计要求。二、 液晶显示模块简介 点阵式12864T 液晶显示模块是单屏显示结构,其内部以T6963C 作为控制芯片。该液晶显示模块有文本和图形两种显示方式,其中在文本显示方式下,一个字符在屏上占用8 8 大小的点阵空间,一屏可以显示8 行(64 8) 字符,每行字符数为16 (128 8) ;在图形显示方式下,显示屏上可以显示的点数为12864 = 8192 ,显示屏上的点阵以1 8 为显示编程单位划分为8 行16 列2。在此方式下,可以通过编程控制屏上每一点是否显示,常用的汉字显示也属于图形显示。一个汉字在屏上一般占用16 16 大小的点阵空间,故对12864T 液晶显示模块来说,一屏可以无重叠显示128 个字符,32 个汉字。三、T6963C液晶显示控制器 T6963C液晶显示控制器适用于较小规模的液晶显示器件,常被装配在图形液晶形式模块上,以内藏图形液晶显示模块的形式出现。 T6963C的特点有:(1)适合与MCS-51系列等多种单片机的接口信号,可方便的与多种单片机连接;(2)具有丰富的指令功能,可以设置成字符与图形的合成显示方式及字符显示方式;(3)显示窗口尺寸及字体等模式采用硬件设置方式,可以控制640128点阵单屏结构或640256点阵双屏结构的液晶显示器;(4)T6963C具有内部字符发生器CGRAM,共有128个字符,可允许CPU随时访问显示缓冲区,甚至可以进行位操作;(5)采用单电源+5V供电,内置时序振荡电路,可以外接最大为5.5MHz的振荡器。四、单片机与液晶显示模块的接口和控制(一) LCM 与8051单片机的接口连接 图1是典型的液晶模块与单片机的接口电路3,在图中选用我国应用非常广泛的8051单片机作为MCU,采用12864T(12864)液晶模块,其内置的液晶显示驱动控制器为日本东芝公司的T6963C。在电路中,地址线A12-A15和WR,RD信号通过GAL16V8译码出外扩芯片的片选信号,其中液晶的译码地址为0xE000,将地址线A0与液晶控制口的C/D相连。当A0为低时液晶控制器接收数据,A0为高时液晶控制器接收命令码,因此液晶数据端口地址为0xE000,液晶命令端口为0xE001,采用Keil C51进行程序设计,在程序中可进行如下定义。#define XBYTE(unsigned char volatile xdata* )0)#define Lcd_Data XBYTE0xE000 /液晶数据端口#define Lcd_Code XBYTE0xE001 /液晶命令端口 单片机的数据线通过74HC245双向缓冲器与液晶控制器的数据口相连,用液晶控制器的片选信号/LCD_CS作为74HC245的使能信号,单片机的写信号/WR控制数据传送方向4。/WR为低时,单片机数据写入液晶控制器;/WR为高时,CPU读取液晶控制器的数据和状态。图1 基于8051单片机的液晶显示模块接口电路(二) LCM电源电路12864T只需要一种供电电源即驱动电源,通过V0和VEE提供。V0通过电位计接地,VEE接滑动端来调节驱动电压,当驱动电压过低时,屏幕无显示,过高时屏幕全黑。注意电位计的最大阻值应该在10KW-20KW之间。(三) LCM的复位电路复位引脚为16-/RST,高电平时为正常状态,低电平时为复位状态,它将行、列计数器和显示寄存器清零。复位电路部分可通过对+5V接4.7KW电阻,对地接4.7F电容来实现,也可直接与单片机I/O口相连,通过软件来控制,注意,LCM上电后/RST引脚保持低电平5个时钟周期才能实现复位5。(四) LCM字体选择18引脚FS用于选择字体,T6963C规定:此引脚为低电平时,字体为88点阵形式,反之为86点阵形式6。注意,此引脚不能悬空,如果所用到的字体是88的,则可以将此引脚接地,或者接MPU的I/O引脚并通过软件来设置显示字体。五、 控制软件设计软件采用C51语言开发,它具有很强的软件控制能力,也就是由主控CPU通过接口向液晶模块写入指令来实现模块控制。程序的设计主要包括两个部分,一是设计液晶读写指令或数据、初始化及清屏等通用子程序7。另一部分是汉字和图形的显示模块程序,显示操作就是将欲显示的字符或图形的点阵信息写入显示缓冲区中的指定位置7。要显示的内容由初始化中显示方式设置部分决定,有了通用子程序,就可以构造出各种显示程序。当采用图形显示方式时,与字符、汉字、菜单图形显示的原理类似。(一) T6963C控制器时序当数据指令设置位C/D为高,使能位/CE为低,写状态位/WR为高,读状态位/RD为低时,可以从并行数据口读取内部控制器的状态。 当数据指令设置位C/D为高,使能位/CE为低,写状态位/WR为低,读状态位/RD为高时,可以通过并行数据口向内部控制器写指令。 当数据指令设置位C/D为低,使能位/CE为低,写状态位/WR为低,读状态位/RD为高时,可以通过并行数据口向内部控制器写数据。(二)设计液晶读写指令或数据通用子程序1. LCD状态检测子函数在写数据或写命令之前,应先检查LCM的状态,即状态寄存器中命令就绪(STA0)和数据就绪(STA1)需要同时检查,只有这两位同时为“1”(LCM空闲状态)时,才可以进行数据和命令的写操作,通常情况下,可以设计一个读状态子函数,用以判断两个标志位的空/忙状态。2. 显示字符和图形的子函数液晶显示屏的显示方式包括文本和图形显示。采用图形显示方式时,液晶屏显示信息的管理单位是81点阵,称为一个图形显示单位。T6963C按此单位把液晶屏在水平方向上分成20列,垂直方向上分成128行,共20128个图形显示单位,每个图形显示单位对应图形显示缓冲区中的一个存储单元8。将点阵状态信息写入这个存储单元,则在对应的位置显示出图形。采用文本显示方式时,写入文本显示缓冲区的不是点阵状态信息,而是字符代码,其点阵状态信息(88) ,即字模存放在CGRAM中。将字符代码写入文本显示缓冲区后, T6963C从CGRAM中取出该字符代码所对应字符的点阵状态信息,通过行列驱动器驱动液晶屏显示该字符。3. 清屏子函数在显示数据前,首先要清除屏幕上次显示的内容,为此要用到清屏函数,只需向整个屏幕写入“0”即可实现,具体过程从略。六、 液晶显示模块的调试注意事项初次上电前,应慢慢调节电位器,使驱动电源端的输出调节在0V左右,观察显示情况,同时监视液晶驱动电压,然后慢慢调整至正常工作点。在调节过程中,不要使液晶模块承受超出最大值的驱动电压,否则会造成液晶模块的损坏。如果在低于或大致等于典型驱动电压时,观察到了显示屏上有色调的变化,即显示域的底色略深于边缘的颜色,表明液晶模块电源连接正确,可以进人下一步工作9。如果在室温条件下,调节到超出典型值2-3V时,仍未观察到显示屏上有色调的变化,就不必继续调节了。七、 12864T型液晶显示模块的应用(一) 使用液晶显示模块必须完成初始化工作初始化的工作通常包括: 显示方式的选择; 光标的显示控制,包括形状选择,是否闪烁,是否显示出光标; 文本区的首址及宽度设置; 图形区的首址及宽度设置; 对设定好的文本区和图形区的缓冲区进行清除,为写入数据做好准备10。下面给出用C51 语言编写的初始化程序片断。# define write-XDATA(add ,x) ( ( (char 3 ) 0x010000) add =x)Void initial () check();/ / 读液晶显示模块的状态字P1. 7 = 1 ;/ / 当前为写控制字write-XDATA(add ,0x9c) ; / /add 为LCM的选通地址 ,0x9c 是显示开关指令check() ; P1. 7 = 1 ;write-XDATA (add ,0x80) ; / / 送显示方式设置指令Void initial-t (uc ht ,uc lt) check() ;P1. 7 = 0 ;/ / 当前为写数据Write-XDATA(add ,lt) ; Write-XDATA(add ,ht) ;Check() ;P1. 7 = 1 ;Write-XDATA(add ,0x40) ;Check() ;P1. 7 = 0 ; / / 当前为写数据Write-XDATA(add ,0x10) ; Write-XDATA(add ,0x00) ;Check() ;P1. 7 = 1 ;Write-XDATA(add ,0x41) ;Void clear-t (uc hct ,uc lct ,uc p) uc i ;set-offset (hct ,lct) ;/ / 送要清除的文本起始地址,p为清除的/ /符个数,如果为清屏p = 0x80 = 128 ;for (i = 0 ;i p ;i + ) check() ;P1. 7 = 0 ;write-XDATA(add ,0x00) ; / / 送文本区首址check( ) ; P1. 7 = 1 ;write-XDATA ( add , 0xc0) ;/ / 循环送入/ / 0x00 ,对应的字符为空,屏上无显示内容。(二) 显示汉字使用图形液晶模块以点阵形式来显示汉字和图形,每8个点组成1个字节,每个点用一个二进制位表示,存1的点显示时在屏上显示一个亮点,存0的点则在屏上不显示,最常用的1616的汉字点阵由32个字节组成11。在液晶屏上横向8个点为1个字节数据,则“孔”字的1616点阵字模如图2,通过字模提取软件按照先左后右,先上后下的方式对“孔”字进行字模提取,则可获得表1左边的字模对应的32个字节值。将这些字节按一定顺序写入液晶控制器的显示缓冲区,就可在液晶屏上显示1616的“孔”字。同理一个2424的汉字则需72个字节,存放方式如表1,其他规格的汉字存放方式以此类推。“孔”字在液晶屏上的示意图如图3 所示。024481254923477100H,40H,7FH,40H,21H,40H,02H,40H0CH,40H,08H,40H,08H,40H,0BH,40H1CH,40H,0E8H,40H,08H,40H,08H,40H08H,42H,08H,42H,28H,3EH,10H,00H图 2点阵字模表1 存放方式图 3 “孔”字在液晶屏上的示意图在显示汉字时只需将构成该汉字的32 个字节内容按照在图形显示区中对应位置依次写入即可。(三) 汉字字模存储、提取及显示方法笔者只介绍一种常用的方法:将提取的汉字字模数据作为常量数组存放在程序存储区内。要显示“滨州”两字,如下面程序所示。Const char Hz_Dot /汉字16*16点阵00H,80H,40H,40H,2FH,0FEH,28H,02H. /滨10H,64H,83H,80H,52H,10H,13H,0F8H.12H,20H,22H,20H,0E2H,24H,3FH,0FEH.20H,00H,23H,20H,22H,18H,24H,08H.10H,04H,10H,84H,10H,84H,10H,84H. /州54H,0A4H,52H,94H,52H,94H,90H,84H.10H,84H,10H,84H,10H,84H,10H,84H.20H,84H,20H,84H,40H,04H,00H,04H.再编制汉字显示子函数Write_Hz。Void Write_Hz(Uchar x,Uchar y, Uchar p) Uchar i,low_ad,high_ad; Uint address,p;Address=( Uint)*Wide+y; /* tp=address; for(i=0;i8); Disp_ address(low_ad,high_ad); Lcd_Wait(); Lcd_Data= Hz_Dotp+i; /* Lcd_Wait(); Lcd_Code=0xC4; /写数据命令 tp=tp+Wide; address+;tp=address; for(i=0;i8);Disp_ address(low_ad,high_ad); Lcd_Wait(); Lcd_Data= Hz_Dotp+16+i; /* Lcd_Wait(); Lcd_Code=0xC4; /写数据命令 tp=tp+Wide; 函数Write_Hz的参数x和y对应液晶屏幕的显示位置,其与液晶控制器显示缓冲区中的地址通过行*可计算出,该行中的Wide为事先定义的液晶屏每行字节数,对于DG12864液晶而言,Wide为16。参数p为要显示的汉字在数组中的坐标。Write_Hz根据1616点阵汉字液晶控制器显示缓冲区的存放形式,依次改变显示地址,先将左半部1-16个字节写入显示缓冲区,再写入右半部17-32个字节。若要液晶显示“滨州”两字,只要在程序中带显示地区参数调用该函数即可。如: write_Hz(0,4, 0); /滨 write_Hz(0,10,0x20);/州此外,在单片机系统中对字模的存储,还有两种方式:将提取的汉字字模数据存放在EPROM或E2PROM内和将整个汉字字库存放在EPROM或E2PROM内。三者的主要区别是,第三种方法无须事先提取字模和设定其地址用于程序调用,因此在进行程序升级,涉及到汉字显示时,不用更改汉字字模数据。对于这两种方式的具体使用方法,笔者不再介绍。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论