首页 理论教育 FPGA技术基础工程实践:LCD1602简介

FPGA技术基础工程实践:LCD1602简介

时间:2023-10-28 理论教育 版权反馈
【摘要】:图5.14LCD1602 尺寸大小和外观表5.4引脚功能说明第1 脚:VSS 为电源地。表5.5控制命令表LCD1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。图5.181602LCD 内部显示地址从图5.18 可以看出,LCD1602 液晶的第一行第一个字符的地址代码是“00H”,第十六个字符的地址是“0FH”,第二行第一个字符的地址是“40H”,第十六个字符的地址是“4FH”。

FPGA技术基础工程实践:LCD1602简介

1. 实物参数

LCD1602 字符液晶显示模块是一种专门用于显示字母、数字、符号等内容的点阵式LCD,目前常用的有16×1,16×2,20×2 和40×2 行等型号规格。根据名称可以知道,这种字符的液晶能显示2 行,每行16 个字符功能,并且只能显示字母、数字和符号等字符,不能显示汉字,除非经过自定义字库,其实物外观和尺寸大小如图5.14 所示。

2. 引脚功能

LCD1602 采用标准的14 脚(无背光)或16 脚(带背光)接口,各引脚接口说明如表5.4 所示。

图5.14 LCD1602 尺寸大小和外观

表5.4 引脚功能说明

第1 脚:VSS 为电源地。

第2 脚:VDD 接5 V 正电源。

第3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10 K 的电位器调整对比度。

第4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W 共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可以读忙信号,当RS 为高电平R/W 为低电平时可以写入数据。

第6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。

第7~14 脚:D0~D7 为8 位双向数据线。

第15 脚:背光源正极。

第16 脚:背光源负极。

3. 控制指令

LCD 1602 液晶模块内部的控制器共有11 条控制指令,如表5.5 所示。

表5.5 控制命令表

LCD1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的(1为高电平、0 为低电平)。

指令 1:清显示,指令码01H,光标复位到地址00H 位置。

指令 2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置I/D—— 光标移动方向,高电平右移,低电平左移;S—— 屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。D—— 控制整体显示的开与关,高电平表示开显示,低电平表示关显示;C—— 控制光标的开与关,高电平表示有光标,低电平表示无光标;B—— 控制光标是否闪烁,高电平闪烁,低电平不闪烁。(www.xing528.com)

指令5:光标或显示移位S/C—— 高电平时移动显示的文字,低电平时移动光标。

指令6:功能设置命令DL—— 高电平时为4 位总线,低电平时为8 位总线;N—— 低电平时为单行显示,高电平时双行显示;F—— 低电平时显示5x7 的点阵字符,高电平时显示5x10 的点阵字符。

指令7:字符发生器RAM 地址设置。

指令8:DDRAM 地址设置。

指令9:读忙信号和光标地址;BF—— 为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据。

指令11:读数据。

4. 读写时序

LCD1602 的读写操作时序如图5.15 和5.16 所示。

图5.15 读操作时序

图5.16 写操作时序

与HD44780 相兼容的芯片时序见表5.6。

表5.6 时序功能表

5. RAM 地址映射及标准字库表

LCD1602 液晶内部自带有一个标准的字库,存储于字符发生存储器(CGROM)中,包含有160 个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等。每一个字符都有一个固定的代码,如大写的英文字母“A”的代码是“01000001B(41H)”,当在指定位置输入字符“A”或代码“41H”时,显示时模块就会把地址41H 中的点阵字符图形显示出来,这时就能看到字母“A”对应的效果。这些字符图形对应的代码如图5.17 所示。

图5.17 字符代码与图形对应图

图5.18 是LCD1602 内部显示地址关系图,只有正确指定了字符的显示位置,才能往相应的位置送入所需要显示字符对应的代码,这样才能看到正确显示结果。

图5.18 1602LCD 内部显示地址

从图5.18 可以看出,LCD1602 液晶的第一行第一个字符的地址代码是“00H”,第十六个字符的地址是“0FH”,第二行第一个字符的地址是“40H”,第十六个字符的地址是“4FH”。那么是否直接写入“00H”就可以将光标定位在第一行第一个字符的位置呢?答案是否定的,这样不能正确指定相应的地址代码,因为写入显示地址时要求最高位D7 恒定为高电平1。以第一行第一个字符为例,实际写入的数据应该是00000000B(00H)+10000000B(80H)=10000000B(80H);第二行第一个字符的地址应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。因此,在设计时应该注意字符显示地址的正确输入代码。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。

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

我要反馈