LCD1602液晶完整中文资料 下载本文

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

与HD44780相兼容的芯片时序表如下:

读状态 写指令 读数据 写数据 输入 输入 输入 输入 RS=L,R/W=H,E=H RS=L,R/W=L,D0—D7=指令码,E=高脉冲 RS=H,R/W=H,E=H RS=H,R/W=L,D0—D7=数据,E=高脉冲 输出 输出 输出 输出 D0—D7=状态字 无 D0—D7=数据 无 表10-15:基本操作时序表 读写操作时序如图10-55和10-56所示: 图10-55 读操作时序

图10-56 写操作时序

10.8.2.4 1602LCD的RAM地址映射及标准字库表

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图10-57是1602的内部显示地址。

图10-57 1602LCD内部显示地址

例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”

图10-58 字符代码与图形对应图

10.8.2.5 1602LCD的一般初始化(复位)过程 延时15mS

写指令38H(不检测忙信号) 延时5mS

写指令38H(不检测忙信号) 延时5mS

写指令38H(不检测忙信号)

以后每次写指令、读/写数据操作均需要检测忙信号 写指令38H:显示模式设置 写指令08H:显示关闭 写指令01H:显示清屏 写指令06H:显示光标移动设置 写指令0CH:显示开及光标设置

10.8.3 1602LCD的软硬件设计实例

在1602LCD第一行显示网站名:在第二行显示联系电话:8。实验前应先将显示切换开关切换到LCD工作状态。

图10-59 1602LCD实验演示图

10.8.3.1 硬件原理图

1602液晶显示模块可以和单片机AT89C51直接接口,电路如图10-60所示。

图10-60 硬件原理图

10.8.3.2 程序流程图