ATMEAGl6L驱动16×2点阵字符液晶模块的实骑在小型的智能化电子产品中,普通的7段LED数码管只能用来显示数字,若遇到要显示英文字母或图像、汉字时,则必须选择使用液晶显示器(简称LCD)。
LCD显示器的应用很广,简单的如手表、计算器上的液晶显示器,复杂如笔记本电脑上的显示器等都使用LCD。在一般的商务办公机器上,如复印机和传真机,以及一些娱乐器材、医疗仪器上,也常常看见LCD的足迹。
LCD可分为两种类型,一种是字符模式LCD,另一种为图形模式LCD。本章介绍的16x2LCD为字符型点矩阵式LCD模组(LiquidCrystalDisplayModule简称LCM),或称字符型LCD。
市场上有各种不同厂牌的字符显示类型的LCD,但大部分的控制器都是使用同一块芯片来控制的,编号为HD44780,或是兼容的控制芯片。
1.16x2点阵字符液晶显示器概述字符型液晶显示模块是一类专门用于显示字母、数字、符号等的点阵型液晶显示模块。在显示器件的电极图形设计上,它是由若干个5x7或5x11等点阵字符位组成。每一个点阵字符位都可以显示一个字符。点阵字符位之间空有一个点距的间隔起到了字符间距和行距的作用。
目前常用的有16字x1行、16字x2行、20字x2行和40字×2行等的字符模组。这些LCM虽然显示的字数各不相同,但是都具有相同的输入输出界面。
16x2点阵字符液晶模块是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件、结构件装配而成,可以显示数字和英文字符。这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。
液晶点阵字符模块的点阵排列是由5x7、5x8、5x11的一组组像素点阵排列组成的。每组为1位,每位间有一点的间隔,每行间也有一行的间隔,所以不能显示图形。
一般在模块控制、驱动器内具有已固化好192个字符字模的字符库CGROM,还具有让用户自定义建立专用字符的随机存储器CGRAM,允许用户建立8个5x8点阵的字符。点阵字符模块具有丰富的显示功能,其控制器主要为日立公司的HD44780及其替代集成电路,驱动器为HD44100及其替代的兼容集成电路。
2.液晶显示器的突出特点液晶显示器和其它显示器相比,具有以下突出的特点:
1).低电压、场致驱动;2).微功耗,仅1μW/平方厘米:3).平板显示,体积小而薄;4).与集成电路匹配方便、简单;5).被动显示,不怕光冲刷;6).可彩色、黑白显示,效果逼真;7)显示面积可大可小,目前世界上最大的液晶电视尺寸已超过50英寸:8).易于大批量生产.9)随着工艺的提高,成品率还会进一步提高,成本也会进一步下降。
液晶显示器的缺点:
1)视角较小:2).显示质量不算最高:3)响应速度较慢,对快速移动图像可能有一些拖尾,目前正在克服中。
3.1 6x2字符型液晶显示模块( LCM)特性1)+5V电压,反视度(明暗对比度)可调整:2).内含振荡电路,系统内含重置电路:3).提供各种控制命令,如清除显示器、字符闪烁、光标闪烁、显示移位等多种功能;4)显示用数据DDRAM共有80个字节;5)字符发生器CGROM有160个5x7点阵字型;6)字符发生器CGRAM可由使用者自行定义8个5X7的点阵字型。
4.16x2字符型液晶显示模块(LCM)引脚及功能1脚(Vdd/Vss)电源5V±10%或接地。
2脚(Vss/Vdd)接地或电源5V±10%。
3脚(V0):反视度调整。使用可变电阻调整,通常接地。
4脚(RS):寄存器选择。1:选择数据寄存器:O:选择指令寄存器。
5脚(R/W)读/写选择。1读:O:写。
6脚(E):使能操作。1.LCM可做读写操作;0 LCM不能做读写操作。
7脚(DB0)双向数据总线的第0位。
8脚(DB1)双向数据总线的第1位。
9脚(DB2):双向数据总线的第2位。
11脚(D)B3).双向数据总线的第3位。
11脚(DB4):双向数据总线的第4位。
12脚(DB5):双向数据总线的第5位。
13脚(DB6):双向数据总线的第6位。
14脚{DB7):双向数据总线的第7位。
15脚(Vdd):背光显示器电源+5V。
16脚(Vss):背光显示器接地。
说明:由于生产LCM厂商众多,使用时应注意电源引脚1、2的不同。LCM数据读写方式可以分为8位及4位2种,以8位数据进行读写则DB7~DBO都有效,若以4位方式进行读写,则只用到DB7~DB4。
5.16x2字符型液晶显示模块(LCM)的内部结构LCM的内部结构可分为三个部分:LCD控制器、LCD驱动器、LCD显示装置,如下图所示。
LCM与单片机(MCU)之间是利用LCM的控制器进行通信。HD44780是集驱动器与控制器于一体,专用于字符显示的液晶显示控制驱动集成电路。HD44780是字符型液晶显示控制器的代表电路,了解熟知HD44780,将可通晓字符型液晶显示控制器的工作原理。
6.液晶显示控制驱动集成电路HD44780特点(1).HD44780不仅作为控制器而且还具有驱动40xl6点阵液晶像素的能力,并且HD44780的驱动能力可通过外接驱动器扩展360列驱动。
(2).HD44780的显示缓冲区及用户白定义的字符发生器CGRAM全部内藏在芯片内。
(3).HD44780具有适用于M6800系列MCU的接口,并且接口数据传输可为8位数据传输和4位数据传输丙种方式。
(4).HD44780具有简单而功能较强的指令集,可实现字符移动烁等显示功能。
下图为HD44780的内部组成结构。
HD44780可控制的字符为每行80个字。也就是5×8O=400点。HD44780内藏有16路行驱动器和40路列驱动器,所以HD44780本身就具有驱动16×4O点阵LCD的能力,(即单行16个字符或两行8个字符)。加一个HD44100外扩展多40路/列驱动,则可驱动16×2LCD(如下图所示)。
当MCU写入指令设置了显示字符体的形式和字符行数后)驱动器的液晶显示驱动的占空比系数就确定了下来)驱动器在时序发生器的作用下,产生帧扫描信号和扫描时序,同时把由字符代码确定的字符数据通过并/串转换电路串行输出给外部列驱动器和内部列驱动,数据的传输顺序总是起始于显示缓冲区所对应一行显示字符的最高地址的数据。当全部一行数据到位后,锁存时钟CL1将数据锁存在列驱动器的锁存器内,最后传输的40位数据,也就是说各显示行的前8个字符位总是被锁存在HD44780的内部列驱动器的锁存器中。CL1同时也是行驱动器的移位脉冲,使得扫描行更新。如此循环,使得屏上呈现字符的组合。
7.HD44780工作原理HD44780的引脚图如下图所示。
1)、DDRAM——数据显示用RAMDDRAM--数据显示用RAM(Datadis-playRAM,简称DDRAM)DDRAM用来存放我们要LCD显示的数据,只要将标准的ASCII码送入DDRAM,内部控制电路会自动将数据传送到显示器上,例如要LCD显示字符A,则我们只须将ASCII码41H存入DDRAM即可。DDRAM有80bytes字节)空间,共可显示80个字(每个字为1个bytes),其存储器地址与实际显示位置的排列顺序与LCM的型号有关,请参阅图5o图5(A)为16字x1行的LCM)它的地址从OOH到OFH;图5(B)为20字×2行的LCM,第一行的地址从OOH到13H,第二行的地址从40H到53H;图5(C)为20字x4行的LCM,第一行的地址从OOH到13H,第二行的地址从40H到53H,第三行的地址从14H到27H,第四行的地址从54H到67H。
2)、CGROM——字符产生器ROM
CGROM——字符产生器ROM(CharacterGenerator的ROM,简称CGROM)
CGROM储存了192个5×7的点矩阵字型,CGROM的字型要经过内部电路的转换才会传到显示器上,仅能读出不可写入。字型或字符的排列方式与标准的ASCII码相同,例如字符码31H为1字符,字符码41H为A字符。如我们要在LCD中显示A,就是将A的ASCII代码41H写入DDRAM中,同时电路到CGROM中将A的字型点阵数据找出来显示在LCD上。字符与字符码对照表如下表所示。
3)、CGRAM——字型、字符产生器RAMCGRAM——字型、字符产生器RAM(CharacterGeneratorRAM,简称CGRAM)CGRAM是供使用者储存自行设计的特殊造型的造型码RAM,CGRAM共有512bits(64字节)。一个5×7点矩阵字型占用8x8bit,所以CGRAM最多可存8个造型。
4)IR——指令寄存器IR--指令寄存器(InstructionRegister,简称IR)fR寄存器负责储存MCU要写给LCM的指令码。当MCU要发送一个命令到IR寄存器时,必须要控制LCM的RS、R/W及E这三个引脚,当RS及R/W引脚信号为0,E引脚信号由1变为O时,就会把在DB0~DB7引脚上的数据送入IR寄存器。
5)、DR——数据寄存器DR——数据寄存器(DataRegister,简称DR)DR寄存器负责储存MCU要写到CGRAM或DDRAM的数据,或储存MCU要从CGRAM或DDRAM读出的数据,因此DR寄存器可视为一个数据缓冲区,它也是由LCM的RS、R/W及E等三个引脚来控制。当RS及R/W引脚信号为I,E接脚信号由1变为O时,LCM会将DR寄存器内的数据由DB0~DB7输出以供MCU读取;当RS接脚信号为I,R/W接脚信号为O,E接脚信号由1变为0时,就会把在DB0~DB7引脚上的数据存入DR寄存器。
6)、BF——忙碌标志信号BF——忙碌标志信号(BusyFlag,简称BF)BF的功能是告诉MCU,LCM内部是否正忙着处理数据。当BF=1时,表示LCM内部正在处理数据,不能接受MCU送来的指令或数据。LCM设置BF的原因为MCU处理一个指令的时间很短,只需几微秒左右,而LCM得花上40微秒~164亳秒的时间,所以MCU要写数据或指令到LCM之前,必须先查看BF是否为O。
7)、AC——地址计数器AC——地址计数器(AddressCounter,简称AC)AC的工作是负责计数写到CGRAM、DDRAM数据的地址,或从DDRAM、CGRAM读出数据的地址。使用地址设定指令写到IR寄存器后,则地址数据会经过指令解码器(1nstructionDe-coder),再存入AC。当MCU从DDRAM或CGRAM存取资料时,AC依照MCU对LCM的操作而自动的修改它的地址计数值。
8LCD控制器的指令用MCU来控制LCD模块,方式十分简单,LCD模块其内部可以看成两组寄存器,一个为指令寄存器,一个为数据寄存器,由RS引脚来控制。所有对指令寄存器或数据寄存器的存取均需检查LCD内部的忙碌标志BF,此标志用来告知LCD内部正在工作,并不允许接收任何的控制命令。而此位的检查可以令RS=O,用读取DB7来加以判断,当此DB7为O时,才可以写入指令或数据寄存器。LCD控制器的指令共有11组,以下分别介绍。
1)、清除显示器