LCD1602

为什么叫1602呢?

原因:LCD的显示是2行,每行只有16个字符显示。

pk44

管脚功能
引脚 符号 功能说明
1 VSS 一般接地
2 VDD 接电源(+5V)
3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4 RS RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5 R/W R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
6 E E(或EN)端为使能(enable)端,写操作时,下降沿使能。读操作时,E高电平有效
7 DB0 低4位三态、 双向数据总线 0位(最低位)
8 DB1 低4位三态、 双向数据总线 1位
9 DB2 低4位三态、 双向数据总线 2位
10 DB3 低4位三态、 双向数据总线 3位
11 DB4 高4位三态、 双向数据总线 4位
12 DB5 高4位三态、 双向数据总线 5位
13 DB6 高4位三态、 双向数据总线 6位
14 DB7 高4位三态、 双向数据总线 7位(最高位)(也是busy flag)
15 BLA 背光电源正极 (仿真中没有)
16 BLK 背光 电源负极(仿真中没有)
显示地址
00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH
40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH

pk43

本身的原始地址 :0x80 则要找的地址为:0x80+00 0x80+01 …

指令

pk48

常用的指令:

0x38 : 设置16 * 2显示,5 * 7点阵 ,8位数据接口

0x0C : 设置开显示 ,不显示光标

0x06 : 写一个字符后地址指针+1

0x01 :显示清0 数据指针清0

0x80 : LCD第一行的起始地址

0x80+0x40 : LCD第二行的起始地址

时序图

看懂时序图:https://blog.csdn.net/u010794281/article/details/46273479 可以参考讲解

pk46

pk47