(1)1602LCD主要技术参数
显示容量为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所示
图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条评论)
登录后参与讨论