LCD1602原理
写程序要遵循硬件电路->硬件接口->软件编程三部分。
LCD1602可以显示2行16个字符,用用16个引脚,主要控制端口为RS,R/W,EN。
通过RS,R/W可以选择不同的读写操作:
RS | R/W | 操作 |
---|---|---|
0 | 0 | 写命令 |
0 | 1 | 读取BUSY Flag及AC地址 |
1 | 0 | 写数据 |
1 | 1 | 读数据 |
结合EN,可分为下面三种操作:
读Flag:RS=0,RW=1,EN高电平
写命令:RS=0,RW=0,EN高脉冲
写数据:RS=1,RW=0,EN高脉冲
LCD1602的时序图
写操作:
根据RS的不同,写操作分为写指令和写数据两种:
- 写指令:
- RS置为0
- R/W置为0
- EN置为0
- 输入CMD
- 延时
- EN置为1
- 延时
- EN置为0
- 写数据:
- RS置为1
- R/W置为0
- EN置为0
- 输入DAT
- 延时
- EN置为1
- 延时
- EN置为0
读操作一般不常见,因此在本文中就不提及了。
LCD1602的常用指令
根据常用指令,需要先将LCD1602初始化:
- 写指令0x38:表示为8位数据,两行显示,5*7点阵
- 延时
- 写入0x38,显示模式设置
- 写指令0x0f:显示开关控制
- 写指令0x06:输入方式