点阵字符型液晶显示模块能显示数字、字母、符号以及少量自定义图形符号,如简单汉字等,因而得到了广泛应用。点阵字符型液晶显示模块由液晶显示器、点阵驱动器、LCD控制器等组成,模块内集成有字符发生器和数据存储器,采用单一+5V电源供电。点阵字符型液晶显示模块在国际上已经规范化,所采用的控制器多为日立公司的HD44780及其兼容电路,如SED1278(SEIKO、EPSON公司产品)、KS0066(三星公司产品)等。表5-1列出了EPSON公司生产的EA-D系列各型号点阵字符型液晶显示模块的外部特性。
表5-1 EA-D系列点阵式液晶显示模块外部特性
下面介绍EPSON公司生产的点阵字符型液晶显示模块的接口及应用。EA-D系列点阵字符型液晶显示模块内部结构如图5-1所示。它由点阵式液晶显示面板、SED1287控制器和4个列驱动器组成。SED1278完成显示模块的时序控制,同时也可以驱动16行40列的点阵库。
图5-1 EPSON公司的点阵字符型液晶显示模块内部结构
SED1278控制器有14条引脚:
●VSS:地线输入端。
●VDD:+5V电源输入端。
●VO:液晶显示面板亮度调节,通过10~20kΩ的电阻接到+5V和地之间,起调节显示亮度的作用。
●RS:寄存器选择信号输入线,低电平选通指令寄存器,高电平选通数据寄存器。
●R/W:读/写信号输入线,低电平为写入,高电平为读出。
●E:片选信号输入线,高电平有效。
●D0~D7:数据总线,可以选择4位总线或8位总线操作,选择4位总线操作时使用D4~D7。
SED1287的控制电路主要由指令寄存器IR、数据寄存器DR、忙标志BF、地址计数器AC、预定义字符发生器CGROM、自定义字符发生器CGRAM、显示数据寄存器DDRAM以及时序发生电路所组成。
指令寄存器IR用于寄存各种指令码,只能写入,不能读出。
数据寄存器DR用于寄存显示数据,由内部操作自动写入DDRAM和CGRAM,或寄存从DDRAM和CGRAM读出的数据。
忙标志BF=1时,表示正在进行内部操作,此时不能接受任何外部指令和数据。
地址计数器AC作为DDRAM或CGRAM的地址指针。如果地址码随指令写入IR,则IR的地址码自动装入AC,同时选择DDRAM或CGRAM单元。
显示数据寄存器DDRAM用于存储显示数据,DDRAM的地址与显示屏幕的物理位置是一一对应的,当向显示数据寄存器某一地址单元写入一个字符的编码时,该字符就在对应的位置上显示出来。表5-2列出了DDRAM显示地址与显示屏物理位置的对应关系。
表5-2 DDRAM显示地址与显示屏物理位置关系
预定义字符发生器CGROM由8位字符码生成5×7点阵字符160个和5×10点阵字符32个,已经固化在液晶显示器模块内部,由用户随意使用。表5-3列出了8位字符编码的高、低位排列及其与字符的对应关系,如果想显示192个字符中的一个,只要把该字符的编码送入DDRAM即可,如果想显示192个字符以外的字符,则需要利用自定义字符发生器CGRAM来定义特殊字符。
表5-3 CGROM字符编码表
自定义字符发生器CGRAM是为用户创建自己的特殊字符而设立的,它的容量仅为64B,地址为00H~3FH,但是作为自定义字符字模使用的仅是一个字节中的低5位,每个字节的高3位可作为数据存储器使用。若自定义字符为5×7点阵,可定义8个字符,自定义字符的编码为00H~07H。
表5-4列出了自定义字符“上”,从表中可以看出,字符编码(DDRAM中的数据)的第0~2位等同于CGRAM地址的第3~5位。CGRAM地址的第0~2位定义字符数据的行位置。CGRAM中数据的0~4位决定字符形式,第4位是字符的最左端。CGRAM的第5~7位不用作显示字符,因此它可用作一般的数据RAM。
表5-4 CGRAM自定义字符
点阵字符型液晶显示模块的显示功能是由各种命令来实现的,共有11条命令。
1.清显示命令
编码格式为
该命令把空格编码20H写入显示数据存储器的所有单元。
2.光标返回命令
编码格式为
该命令把地址计数器中DDRAM地址清0,如果显示屏上显示了字符,则光标移到起始位置。如果显示两行,则光标移到第一行第一个字符的位置,显示数据存储器的内容不变。
3.设置输入方式命令
编码格式为
当一个字符编码被写入DDRAM或从DDRAM中读出时,若I/D=1,则DDRAM地址加一,若I/D=0则DDRAM地址减一。地址加一时,光标右移;地址减一时,光标左移。对CGRAM的读写操作和DDRAM一样,只是CGRAM与光标无关。当S=1时,整个显示屏向左(I/D=1)或向右(I/D=0)移动。在从DDRAM中读数、向CGRAM写数或从CGRAM中读数、S=0这三种情况下,显示屏不移动。
4.显示开/关控制命令
编码格式为
当D=0时,显示器关闭,显示数据存储器中的数据不变;当D=1时,显示器立即显示DDRAM中的数据。(www.daowen.com)
当C=0时,不显示光标;当C=1时,显示光标。当选择字符为5×7点阵时,用第8 行的第5个点显示光标。
当B=1时,显示闪烁光标,当时钟为270kHz时,在379.2ms内交换显示全黑点和字符,以实现字符闪烁。
5.光标或显示屏移动命令
编码格式为
该命令使显示和光标向左或向右移位。对两行显示而言,光标从第一行的第40个字符位置移到第二行的首位。从第二行的第40个位置不能移位到清屏的起始位置,而是回到第二行的第一个位置。命令中S/C和R/L位的作用如表5-5所示。
表5-5 S/C和R/L的作用
6.功能设置命令
编码格式为
命令中的IF位用来设置接口数据长度,当IF=1时,数据以8位长度(D7~D0)发送或接收,当IF=0时,数据以4位长度(D7~D4)发送或接收。命令中的N和F位用来设置显示屏的行数和字符的点阵。设置方式如表5-6所示。
表5-6 控制位N、F的设置
对于EA-D20040来说一定要设置N=1,显示两行。
7.设置CGRAM地址命令
编码格式为
该命令的功能是设置CGRAM的地址,命令执行后,系统和CGRAM可连续进行数据交换。
8.设置DDRAM地址命令
编码格式为
该命令的功能是设置DDRAM的地址,命令执行后,系统与DDRAM进行数据交换。
9.读忙标志和地址命令
编码格式为
该命令的功能是读出忙标志BF的值。当读出的BF=1时,则说明系统内部正在进行操作,不能接收下一条命令。在读出BF值的同时,CGRAM和DDRAM所使用的地址计数器的值也被同时读出。
10.向CGRAM或DDRAM写数据命令
编码格式为
该命令的功能是把二进制数DDDDDDDD写入CGRAM或DDRAM中,若先送入CGRAM的地址则向CGRAM写入;若先送入DDRAM地址则向DDRAM写入。
11.从CGRAM或DDRAM读取数据命令
编码格式为
该命令的功能是将数据从用写数据命令建立的CGRAM或DDRAM地址指出的RAM中读出。在本命令之前的命令应是CGRAM或DDRAM地址建立命令、光标移位命令、或是上次CGRAM/DDRAM数据读出命令,若是其他命令,读出的数据可能会出错。
在执行读数据或写数据命令之后,地址计数器会自动加一或减一。一般是先执行一条地址建立命令或光标移位命令,再执行读数据命令,一旦一条读数据命令被执行后,就可连续执行数据读取命令,而不需再执行其他命令了。
例5-1 图5-2所示为LPC2138与点阵字符型液晶显示模块的一种接口电路。液晶显示模块的R/W、RS和E信号分别由LPC2138的P0.5、P0.6和P0.7控制,P0.8~P0.15用作显示模块的8位数据线,这种方式称为间接式接口。
图5-2 LPC2138与点阵字符型液晶显示模块的接口电路
进入主程序后首先调用液晶模块初始化子程序,初始化内容包括将功能设置(8位字长、2行、5×7点阵)、清屏、设置输入方式和设置显示方式及光标等,需要注意的是,每写入一条命令,都应先检查忙标志BF,只有当BF=0时,才能执行下一条指令。接着调用自定义汉字字符子程序,该子程序中先设定CGRAM首地址,然后依次向CGRAM中写入各个自定义汉字的字模数据;接着设定显示字符在液晶屏上的位置,即DDRAM的地址,最后将要显示的字符代码分别写入DDRAM,对于CGROM中的字符代码,可以直接以ASCII码表示(双引号中的字符串编译后自动生成ASCII码),而自定义汉字字符的代码则为00H~07H,本例只定义了3个字符“年”、“月”、“日”,它们的代码分别为00H、01H和02H。
主程序文件main.c如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。