LCD1602程序
LCD1602
为什么叫1602呢?
原因:LCD的显示是2行,每行只有16个字符显示。
引脚 | 符号 | 功能说明 |
---|---|---|
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 |
本身的原始地址 :0x80 则要找的地址为:0x80+00 0x80+01 …
常用的指令:
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 可以参考讲解
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Javis's Blogs!
评论