理论教育 ARM嵌入式系统基础与应用:点阵字符型液晶模块接口技术

ARM嵌入式系统基础与应用:点阵字符型液晶模块接口技术

时间:2023-11-03 理论教育 版权反馈
【摘要】:表5-1列出了EPSON公司生产的EA-D系列各型号点阵字符型液晶显示模块的外部特性。图5-1 EPSON公司的点阵字符型液晶显示模块内部结构SED1278控制器有14条引脚:●VSS:地线输入端。表5-2 DDRAM显示地址与显示屏物理位置关系预定义字符发生器CGROM由8位字符码生成5×7点阵字符160个和5×10点阵字符32个,已经固化在液晶显示器模块内部,由用户随意使用。表5-4 CGRAM自定义字符点阵字符型液晶显示模块的显示功能是由各种命令来实现的,共有11条命令。

ARM嵌入式系统基础与应用:点阵字符型液晶模块接口技术

点阵字符型液晶显示模块能显示数字、字母、符号以及少量自定义图形符号,如简单汉字等,因而得到了广泛应用。点阵字符型液晶显示模块由液晶显示器、点阵驱动器、LCD控制器等组成,模块内集成有字符发生器和数据存储器,采用单一+5V电源供电。点阵字符型液晶显示模块在国际上已经规范化,所采用的控制器多为日立公司的HD44780及其兼容电路,如SED1278(SEIKO、EPSON公司产品)、KS0066(三星公司产品)等。表5-1列出了EPSON公司生产的EA-D系列各型号点阵字符型液晶显示模块的外部特性。

表5-1 EA-D系列点阵式液晶显示模块外部特性

978-7-111-44508-1-Chapter05-1.jpg

下面介绍EPSON公司生产的点阵字符型液晶显示模块的接口及应用。EA-D系列点阵字符型液晶显示模块内部结构如图5-1所示。它由点阵式液晶显示面板、SED1287控制器和4个列驱动器组成。SED1278完成显示模块的时序控制,同时也可以驱动16行40列的点阵库。

978-7-111-44508-1-Chapter05-2.jpg

图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显示地址与显示屏物理位置关系

978-7-111-44508-1-Chapter05-3.jpg

预定义字符发生器CGROM由8位字符码生成5×7点阵字符160个和5×10点阵字符32个,已经固化在液晶显示器模块内部,由用户随意使用。表5-3列出了8位字符编码的高、低位排列及其与字符的对应关系,如果想显示192个字符中的一个,只要把该字符的编码送入DDRAM即可,如果想显示192个字符以外的字符,则需要利用自定义字符发生器CGRAM来定义特殊字符。

表5-3 CGROM字符编码表

978-7-111-44508-1-Chapter05-4.jpg

自定义字符发生器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自定义字符

978-7-111-44508-1-Chapter05-5.jpg

点阵字符型液晶显示模块的显示功能是由各种命令来实现的,共有11条命令。

1.清显示命令

编码格式为

978-7-111-44508-1-Chapter05-6.jpg

该命令把空格编码20H写入显示数据存储器的所有单元。

2.光标返回命令

编码格式为

978-7-111-44508-1-Chapter05-7.jpg

该命令把地址计数器中DDRAM地址清0,如果显示屏上显示了字符,则光标移到起始位置。如果显示两行,则光标移到第一行第一个字符的位置,显示数据存储器的内容不变。

3.设置输入方式命令

编码格式为

978-7-111-44508-1-Chapter05-8.jpg

当一个字符编码被写入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.显示开/关控制命令

编码格式为

978-7-111-44508-1-Chapter05-9.jpg

当D=0时,显示器关闭,显示数据存储器中的数据不变;当D=1时,显示器立即显示DDRAM中的数据。(www.daowen.com)

当C=0时,不显示光标;当C=1时,显示光标。当选择字符为5×7点阵时,用第8 行的第5个点显示光标。

当B=1时,显示闪烁光标,当时钟为270kHz时,在379.2ms内交换显示全黑点和字符,以实现字符闪烁。

5.光标或显示屏移动命令

编码格式为

978-7-111-44508-1-Chapter05-10.jpg

该命令使显示和光标向左或向右移位。对两行显示而言,光标从第一行的第40个字符位置移到第二行的首位。从第二行的第40个位置不能移位到清屏的起始位置,而是回到第二行的第一个位置。命令中S/C和R/L位的作用如表5-5所示。

表5-5 S/C和R/L的作用

978-7-111-44508-1-Chapter05-11.jpg

6.功能设置命令

编码格式为

978-7-111-44508-1-Chapter05-12.jpg

命令中的IF位用来设置接口数据长度,当IF=1时,数据以8位长度(D7~D0)发送或接收,当IF=0时,数据以4位长度(D7~D4)发送或接收。命令中的N和F位用来设置显示屏的行数和字符的点阵。设置方式如表5-6所示。

表5-6 控制位N、F的设置

978-7-111-44508-1-Chapter05-13.jpg

对于EA-D20040来说一定要设置N=1,显示两行。

7.设置CGRAM地址命令

编码格式为

978-7-111-44508-1-Chapter05-14.jpg

该命令的功能是设置CGRAM的地址,命令执行后,系统和CGRAM可连续进行数据交换。

8.设置DDRAM地址命令

编码格式为

978-7-111-44508-1-Chapter05-15.jpg

该命令的功能是设置DDRAM的地址,命令执行后,系统与DDRAM进行数据交换。

9.读忙标志和地址命令

编码格式为

978-7-111-44508-1-Chapter05-16.jpg

该命令的功能是读出忙标志BF的值。当读出的BF=1时,则说明系统内部正在进行操作,不能接收下一条命令。在读出BF值的同时,CGRAM和DDRAM所使用的地址计数器的值也被同时读出。

10.向CGRAM或DDRAM写数据命令

编码格式为

978-7-111-44508-1-Chapter05-17.jpg

该命令的功能是把二进制数DDDDDDDD写入CGRAM或DDRAM中,若先送入CGRAM的地址则向CGRAM写入;若先送入DDRAM地址则向DDRAM写入。

11.从CGRAM或DDRAM读取数据命令

编码格式为

978-7-111-44508-1-Chapter05-18.jpg

该命令的功能是将数据从用写数据命令建立的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位数据线,这种方式称为间接式接口。

978-7-111-44508-1-Chapter05-19.jpg

图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如下:

978-7-111-44508-1-Chapter05-20.jpg

978-7-111-44508-1-Chapter05-21.jpg

978-7-111-44508-1-Chapter05-22.jpg

978-7-111-44508-1-Chapter05-23.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈