AVR 单片机学习笔记–LCD1602模块
一、主要技术参数:
本文引用地址://m.amcfsurvey.com/article/201611/323868.htm显示容量:16X2个字符(两行,每行16个字符)
模块工作电源:4.5~5.5V
模块工作电流: 2.0mA (5.0V)
模块最佳工作电源: 5.0V
字符尺寸:2.95X4.35(WXH)mm
二、IO引脚功能
LCD1602A模块引脚功能 | |||||
编号 | 符号 | 引脚说明 | 编号 | 符号 | 引脚说明 |
1 | VSS | 电源地(模块供电) | 9 | D2 | Data I/O |
2 | VDD | 电源正极(模块供电) | 10 | D3 | Data I/O |
3 | VL | 接在滑动电阻可以调节对比度 | 11 | D4 | Data I/O |
4 | RS | 数据/命令选择端 (H/L) | 12 | D5 | Data I/O |
5 | R/W | 读/写选择端 (H/L) | 13 | D6 | Data I/O |
6 | E | 使能信号(通知芯片读取数据) | 14 | D7 | Data I/O |
7 | D0 | Data I/O | 15 | BLA | 模块背光灯正极 |
8 | D1 | Data I/O | 16 | BLK | 模块背光灯负极 |
三、基本操作时序:
读状态:输入:RS=L、RW=H、E=H模块输出:状态字=D0~D7
写指令:输入:RS=L、RW=L、D0~D7=指令码、E=H模块输出:无
读数据:输入:RS=H、RW=H、E=H 模块输出:数据=D0~D7
写数据:输入:RS=H、RW=L、D0~D7=数据、E=H 模块输出:无
状态字说明(因为单片机的速度可能快过1602,所以需要判断当1602是否在忙,或者延时。) | |||||||
STA7 | STA6 | STA5 | STA4 | STA3 | STA2 | STA1 | STA0 |
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
STA0-6:当前数据地址指针的数值 | |||||||
STA7 | 主要用来检查1602模块的是否可以写入或读出操作 | 1:禁止0:允许 | |||||
四、指令说明(这指令是用来设置1602显示的方式)
显示模式设置 | ||||||||
指令码 | 功能 | |||||||
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 设置16X2显示,5X7点阵,8位数据接口 |
显示开/关及光标设置 | ||||||||
指令码 | 功能 | |||||||
0 | 0 | 0 | 0 | 1 | D | C | B | D=1 开显示D=0 关显示 |
0 | 0 | 0 | 0 | 0 | 1 | N | S | N=1 当读或写一个字符后地址指针加1,且光 |
五、时序图
写操作(写指令、写数据)时序图
时序参数
写指令时序,RS拉低表示写指令,R/W拉低表示写操作,给DB0-DB7赋值指令数据并保持>40ns时间,将E拉高表示数据已经准备好保持>150ns让1602读取,将E拉低,并延时>10ns一次写操作完毕。
写数据时序,RS拉高表示写数据,R/W拉低表示写操作,给DB0-DB7赋值指令数据并保持>40ns时间,将E拉高表示数据已经准备好保持>150ns让1602读取,将E拉低,并延时>10ns一次写操作完毕。
评论