(1)1602LCD主要技术参数<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
显示容量为16×2个字符;
芯片工作电压为4.5~5.5V;
工作电流为2.0mA(5.0V);
模块最佳工作电压为5.0V;
字符尺寸为2.95×4.35(W×H)mm。
(2)接口,信号说明1602LCD采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚接口说明见表
1602液晶接口引脚定义
编号 | 符号 | 引脚说明 | 编号 | 符号 | 引脚说明 |
1 | VSS | 电源地 | 9 | D2 | Date I/O |
2 | VDD | 电源正极 | 10 | D3 | Date I/O |
3 | VL | 液晶显示偏压信号 | 11 | D4 | Date I/O |
4 | RS | 数据/命令选择端(V/L) | 12 | D5 | Date I/O |
5 | R/W | 读/写选择端(H/L) | 13 | D6 | Date I/O |
6 | E | 使能信号 | 14 | D7 | Date I/O |
7 | D0 | Date I/O | 15 | BLA | 背光源正极 |
8 | D1 | Date I/O | 16 | BLK | 背光源负极 |
1、2 组电源 一组是模块的电源 一组是背光板的电源 均为5V 供电。
2、VL 是调节对比度的引脚调节此脚上的电压可以改变黑白对比度
3、RS 是很多液晶上都有的引脚 是命令/数据选择引脚 该脚电平为高时表示将进行数据操作;为低时表示进行命令操作。
4、RW 也是很多液晶上都有的引脚 是读写选择端 该脚电平为高是表示要对液晶进行读操作;为低时表示要进行写操作。
5、E 同样很多液晶模块有此引脚 通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。
6、D0—D7 8 位双向并行总线,用来传送命令和数据。
7、BLA是背光源正极,BLK是背光源负极。
与单片机的连接方式,如图9所示
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
图7 1602与单片机的连接方式图
(3)控制器接口说明
基本操作时序见表
基本操作时序
读状态 | 输入 | RS=L,R/W=H,E=H | 输出 | D0~D7=状态字 |
写指令 | 输入 | RS=L,R/W=L,D0~D7=指令码,E=高脉冲 | 输出 | 无 |
读数据 | 输入 | RS=H,R/W=H,E=H | 输出 | D0~D7=数据 |
写数据 | 输入 | RS=H,R/W=L,D0~D7=数据,E=高脉冲 | 输出 | 无 |
对此液晶操作主要有以下几种方法。
1 写命令(包括但不限于初始化、调节显示位置、清除显示)
2 写数据 (把一个字符的ASC 码写入液晶使其显示)
3 读忙信号(液晶乃低速设备,每次操作前应该测试忙信号,确定其不忙时再操作)
(4)1602LCD的指令码(命令码)
此液晶上电的时候需要初始化 典型的指令码是38H,也就是上电的时候需要 调用 void write_cmd(unsigned char command)这个函数写指令码,用法是write_cmd(0x38);执行完这个函数可以把液晶初始化成16x2 显示5x7 的点阵8 位总线接口。以下指令码用法相同。
此液晶支持的指令码有
指令码 | 功能 | |||||||
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 设置16×2显示,5×7点陈,8位数据接口 |
解释:就是0x38 的命令
指令码 | 功能 | |||||||
0 | 0 | 0 | 0 | 1 | D | C | B | D=1 开显示;D=0 关显示 C=1 显示光标;C=0 不显示光标 B=1 光标闪烁;B=0 光标不显示 |
0 | 0 | 0 | 0 | 0 | 1 | N | S | N=1 当读或写一个字符后地址指针加一,且光标加一 N=0 当读或写一个字符后地址指针减一,且光标减一 S=1 当写一个字符,整屏显示左移(N=1) 或右移(N=0),以得到光标不移动而屏幕移动的效果。 S=1 当写一个字符,整屏显示不移动 |
解释:第一行指令主要能完成的功能是 控制液晶显示否,光标显示否,光标闪烁否?
共有以下8 种指令
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 08H | 关液晶显示 光标不闪烁 不显示光标位置 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 09H | 关液晶显示 光标不闪烁 显示光标位置 |
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0AH | 关液晶显示 光标不闪烁 不显示光标位置 |
0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0BH | 关液晶显示 光标不闪烁 显示光标位置 |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0CH | 开液晶显示 光标不闪烁 不显示光标位置 |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0DH | 开液晶显示 光标不闪烁 显示光标位置 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0EH | 开液晶显示 光标不闪烁 不显示光标位置 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0FH | 开液晶显示 光标不闪烁 显示光标位置 |
解释:第二行指令主要能完成的功能是写完字符 光标或屏幕移动方向
指令码 | 功能 |
80H+地址码(0-27H,40H-67H) | 设置数据地址指针 |
解释: 用该指令码可以把光标移动到想要的位置
这是虚拟的液晶显示图 表示2 行16 列显示 方框中的数字表示当前位置的指针 | ||||||||||||||||||
| 80H | 81H | 82H | 83H | 84H | 85H | 86H | 87H | 88H | 89H | 8AH | 8BH | 8CH | 8DH | 8EH | 8FH |
| |
C0H | C1H | C2H | C3H | C4H | C5H | C6H | C7H | C8H | C9H | CAH | CBH | CCH | CDH | CEH | CFH | |||
例如: 只要调用write_cmd(0x82) ;函数就能把光标挪到第1 行第3 列的位置 | ||||||||||||||||||
| ||||||||||||||||||
指令码 | 功能 | |||||||||||||||||
01H | 显示清屏:1.数据指针清零 2.所有显示清零 | |||||||||||||||||
02H | 显示回车:1数据指针清零 |
文章评论(0条评论)
登录后参与讨论