根据显示方式和内容的不同,常用于仪器仪表上的液晶显示模块有笔段型和点阵型两类。前者可用于显示有限个简单符号,控制也较为简单。后者又可分成两种:字符型液晶显示模块和图形液晶显示模块。点阵液晶显示模块显示的信息多,可显示字符、汉字,也可以显示图形和曲线,且容易与微处理器接口,因此经常用在机械设备控制和自动生产线中显示设备的工作参数,或者用图形方式显示设备和生产线的工作过程。
本文从实际应用角度出发,在简单介绍了基于T6963C控制器的HY-240128M-201图形点阵式液晶显示模块的组成和工作原理之后,重点阐述此款液晶显示模块的使用方法,给出了用ATmega8535型单片机设计软/硬件的思路和设计要点。
液晶显示模块简介
HY-240128M-201是北京博汶迪(BALDWIN)电子技术有限公司推出的240×128点阵液晶显示模块。虽然液晶显示模块的内部电路工作原理较为复杂,但是显示模块只留一个接口与外部通信,LCM可以通过这个接口接收显示命令和数据,并按照命令和数据的要求进行显示;外部电路也是通过这个接口读出显示模块的工作状态和显示数据的。使用者只需要了解LCM外部引脚的功能和模块的显示原理即可。此款LCM提供两种接口:并行和串行方式传输数据命令接口。并行方式采取8位传输,即一次传输8位命令或数据;而串行方式采用4位数据总线传输。为了使液晶显示模块有较稳定的显示,在实际应用中常常采用并行传输方式。
HY-240128M-201液晶显示模块主要由1片LCM控制器T6963C、2片行驱动器T6A40、3片列驱动器T6A39、1片8kB的显示存储器6264和1块240×128点阵液晶显示屏组成。6A40是与T6963C相配套的68路行驱动器,它将来自T6963C的串行信号转换成并行信号,以驱动液晶显示屏上相应的行。此模块有128行点阵,因此用了2片T6A40,其中第2片只用了60路。T6A39是与T6963C配套的80路列驱动器,它将来自T6963C的串行列信号转换成并行信号,以此驱动液晶显示屏上相应的列。HY-240128M-201有240列点阵,因此用了3片T6A39。
单片机与液晶显示模块的接口和控制
由于T6963C接口适用于8080系列和Z80系列MPU,所以可以直接用8031的/RD、/WR作为液晶显示模块的读、写控制信号,液晶显示模块VDD接+5V电压,/RESET接RC复位电路。/CE信号可由地址线译码产生。C/D信号由地址线中某一个引脚A*提供,A* = 1为指令口地址;A* = 0为数据口地址。间接控制方式则是通过MPU的I/O并行接口,按照模拟模块时序的方式,间接实现对液晶显示模块的控制。这种访问方式不占用CPU的存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现。
LCM与ATmega8535单片机的接口连接
由于ATmega8535的总线读写周期为50ns,是51系列单片机的上百倍。对于此种高速MPU来说,采用间接方式较好,即采用模拟液晶控制器时序的方式与液晶控制器通信。基于间接方法的实用性较强且接口方式简单,下面给出HY-240128M-201型LCM与AVR系列中ATmega8535型单片机的接口方法,电路如图1所示。
图1 HY-240128M-201与ATmega8535单片机接口电路图
LCM电源电路
HY-240128M-201需要三种供电电源:逻辑电源、驱动电源和背光电源。其中逻辑电源通过VSS和VDD两个引脚来提供;驱动电源通过V0和VEE提供;背光电源通过LEDA和LEDK提供。
VSS和LEDK可直接接地,VDD和LEDA接+5V;V0通过电位计接地,VEE接滑动端来调节驱动电压,当驱动电压过低时,屏幕无显示,过高时屏幕全黑。注意电位计的最大阻值应该在10KW-20KW之间。
LCM的复位电路
复位引脚为16-/RST,高电平时为正常状态,低电平时为复位状态,它将行、列计数器和显示寄存器清零。复位电路部分可通过对+5V接4.7KW电阻,对地接4.7μF电容来实现,也可直接与单片机I/O口相连,通过软件来控制,注意,LCM上电后/RST引脚保持低电平5个时钟周期才能实现复位。
LCM指令控制接口
HY-240128M-201型LCM外部面板提供了5个命令接口,15引脚(/CE)为使能信号端,低电平有效;4引脚(C/D)为通道选择信号,1为指令通道,0为数据通道,同时通过控制/RD和/WR的输入信号可以实现对指令和数据的读写。
LCM字体选择
18引脚FS用于选择字体,T6963C规定:此引脚为低电平时,字体为8×8点阵形式,反之为8×6点阵形式。注意,此引脚不能悬空,如果所用到的字体是8×8的,则可以将此引脚接地,或者接MPU的I/O引脚并通过软件来设置显示字体。
控制软件设计
软件采用ICCAVR-C语言开发,它具有很强的软件控制能力,也就是由主控CPU通过接口向液晶模块写入指令来实现模块控制。程序的设计主要包括两个部分,一是设计液晶读写指令或数据、初始化及清屏等通用子程序,其中,初始化设置主要包括以下几方面:设置文本显示缓冲区、图形显示缓冲区和CGRAM区各自的首地址和区域宽度,设置LCM工作模式和显示模式以及选择光标形状等。另一部分是汉字和图形的显示模块程序,显示操作就是将欲显示的字符或图形的点阵信息写入显示缓冲区中的指定位置。要显示的内容由初始化中显示方式设置部分决定,有了通用子程序,就可以构造出各种显示程序。当采用图形显示方式时,与字符、汉字和菜单图形显示的原理类似,关键在字模库的建立,在网上可以下载专门的汉字图形点阵信息提取软件(如zimo21或Image2Lcd等),它们可以提取8×16或16×16等在汇编或C语言状态下的点阵信息,以及各种图片的点阵数据。当采用ATmega8535型单片机控制液晶显示模块时,由于是间接访问方式,所以要对读/写操作时序十分了解。
T6963C控制器时序
当数据指令设置位C/D为高,使能位/CE为低,写状态位/WR为高,读状态位/RD为低时,可以从并行数据口读取内部控制器的状态。
当数据指令设置位C/D为高,使能位/CE为低,写状态位/WR为低,读状态位/RD为高时,可以通过并行数据口向内部控制器写指令。
当数据指令设置位C/D为低,使能位/CE为低,写状态位/WR为低,读状态位/RD为高时,可以通过并行数据口向内部控制器写数据。
设计液晶读写指令或数据通用子程序
LCD状态检测子函数
在写数据或写命令之前,应先检查LCM的状态,即状态寄存器中命令就绪(STA0)和数据就绪(STA1)需要同时检查,只有这两位同时为“1”(LCM空闲状态)时,才可以进行数据和命令的写操作,通常情况下,可以设计一个读状态子函数,用以判断两个标志位的空/忙状态。
显示字符和图形的子函数
液晶显示屏的显示方式包括文本和图形显示。采用图形显示方式时,液晶屏显示信息的管理单位是8×1点阵,称为一个图形显示单位。T6963C按此单位把液晶屏在水平方向上分成20列,垂直方向上分成128行,共20×128个图形显示单位,每个图形显示单位对应图形显示缓冲区中的一个存储单元。将点阵状态信息写入这个存储单元,则在对应的位置显示出图形。采用文本显示方式时,写入文本显示缓冲区的不是点阵状态信息,而是字符代码,其点阵状态信息(8×8) ,即字模存放在CGRAM中。将字符代码写入文本显示缓冲区后,T6963C从CGRAM中取出该字符代码所对应字符的点阵状态信息,通过行列驱动器驱动液晶屏显示该字符。
清屏子函数
在显示数据前,首先要清除屏幕上次显示的内容,为此要用到清屏函数,只需向整个屏幕写入“0”即可实现,具体过程从略。
液晶显示模块的调试注意事项
设计电路时的注意事项
HY-240128M-201的液晶驱动电压高达-19V,一旦错接在其他引脚上,液晶模块内的驱动、控制芯片将在短时间内烧毁,所以,在上电前要反复确认各电源线连接正确,最好将驱动电源与液晶模块通过电位器连接。
要注意复位线电平状态的正确性。当产品使用环境比较好时,可以直接采用在管脚定义里提供的RC复位电路;但当产品用在比较恶劣的环境时,最好将/RST接到MPU的端口上。
调试注意事项
初次上电前,应慢慢调节电位器,使驱动电源端的输出调节在0V左右,观察显示情况,同时监视液晶驱动电压,然后慢慢调整至正常工作点。在调节过程中,不要使液晶模块承受超出最大值的驱动电压,否则会造成液晶模块的损坏。如果在低于或大致等于典型驱动电压时,观察到了显示屏上有色调的变化,即显示域的底色略深于边缘的颜色,表明液晶模块电源连接正确,可以进人下一步工作。如果在室温条件下,调节到超出典型值2-3V时,仍未观察到显示屏上有色调的变化,就不必继续调节了。
HY-240128M-201在虚拟仿真机器人控制系统中的应用
虚拟仿真控制系统用3D-MAX建立排爆机器人和虚拟环境模型,OpenGL绘制仿真环境。通过控制面板上的控件控制仿真环境中的排爆机器人完成各种训练动作。整个系统集成在一个控制箱内,控制箱包括控制面板、显示器和集成PC,系统下位机中的主机首先采集控制面板上的模拟数据和数字数据,以将操作面板按钮的操作转化为控制指令,然后每50ms通过串口向上位机发送一次命令,上位机收到数据后控制虚拟仿真机器人,最后,上位机收集虚拟机器人的姿态参数,再通过串口传送到下位机的主机部分,主机通过SPI把数据传送到从机,从机则用来控制液晶显示模块。通过液晶显示模块,操作者可以观测到虚拟机器人的真实姿态值,以此来准确控制机器人的动作,完成预期的任务。
结语
HY-240128M-201型LCM是一款性价比较高的液晶显示模块, 该模块与单片机的接口十分方便,且能进行大信息量的字符显示,还可以实现图形及曲线的显示,这就使人机接口更友好。当然,不同型号的液晶模块的内置控制器有很多种,各套指令也有一定差异, 但其设计思路和流程基本相同。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !