学物联网,来万物简单IoT物联网!!
LCD1602 字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块。分4位和8位数据传输方式。提供5x7点阵+游标的显示模式。提供显示数据缓冲区 DDRAM、字符发生器CGROM和字符发生器CGRAM,可以使用CGRAM来存储自己定义的最多8个5x8点阵的图形字符的字模数据。提供了丰富的指令设置:清显示;游标回原点;显示开/关;游标开/关;显示字符闪烁;游标移位;显示移位等。提供内部上电自动复位电路,当外加电源电压超过+4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。
引脚定义:
lcd1602Obj = LCD1602(RS, RW, E, D4, D5, D6, D7)
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
RS | GPIO | 是 | 传入GPIO对象 |
RW | GPIO | 是 | 传入GPIO对象 |
E | GPIO | 是 | 传入GPIO对象 |
D4 | GPIO | 是 | 传入GPIO对象 |
D5 | GPIO | 是 | 传入GPIO对象 |
D6 | GPIO | 是 | 传入GPIO对象 |
D7 | GPIO | 是 | 传入GPIO对象 |
from machine import Pin
import lcd1602
# 初始化 LCD 的各个 GPIO 管脚
print('GPIO init begin')
# 按照 board.json 中名为 "RS" 的设备节点的配置参数,如下以此类推
gpioRSObj = Pin(2,Pin.OUT)
gpioRWObj = Pin(4,Pin.OUT)
gpioEObj = Pin(16,Pin.OUT)
gpioD4Obj = Pin(17,Pin.OUT)
gpioD5Obj = Pin(18,Pin.OUT)
gpioD6Obj = Pin(19,Pin.OUT)
gpioD7Obj = Pin(21,Pin.OUT)
print('GPIO init done')
lcd1602Obj = lcd1602.LCD1602(gpioRSObj, gpioRWObj, gpioEObj, gpioD5Obj, gpioD5Obj, gpioD5Obj, gpioD5Obj)
print('LCD inited!')
GPIO init begin
GPIO init done
LCD inited!
drv.displayString(1, 0, ‘Hello’)
# 在第二行,第一列打印字符 Hello
from machine import Pin
import lcd1602
# 初始化 LCD 的各个 GPIO 管脚
print('GPIO init begin')
# 按照 board.json 中名为 "RS" 的设备节点的配置参数,如下以此类推
gpioRSObj = Pin(2,Pin.OUT)
gpioRWObj = Pin(4,Pin.OUT)
gpioEObj = Pin(16,Pin.OUT)
gpioD4Obj = Pin(17,Pin.OUT)
gpioD5Obj = Pin(18,Pin.OUT)
gpioD6Obj = Pin(19,Pin.OUT)
gpioD7Obj = Pin(21,Pin.OUT)
print('GPIO init done')
lcd1602Obj = lcd1602.LCD1602(gpioRSObj, gpioRWObj, gpioEObj, gpioD5Obj, gpioD5Obj, gpioD5Obj, gpioD5Obj)
print('LCD inited!')
lcd1602Obj.displayString(1, 0, 'Hello')
print('LCD printed')
GPIO init begin
GPIO init done
LCD inited!
LCD printed
# Python代码
from machine import Pin
import lcd1602
if __name__ == '__main__':
# 初始化 LCD 的各个 GPIO 管脚
print('GPIO init begin')
# 按照 board.json 中名为 "RS" 的设备节点的配置参数,如下以此类推
gpioRSObj = Pin(2,Pin.OUT)
gpioRWObj = Pin(4,Pin.OUT)
gpioEObj = Pin(16,Pin.OUT)
gpioD4Obj = Pin(17,Pin.OUT)
gpioD5Obj = Pin(18,Pin.OUT)
gpioD6Obj = Pin(19,Pin.OUT)
gpioD7Obj = Pin(21,Pin.OUT)
print('GPIO init done')
lcd1602Obj = lcd1602.LCD1602(gpioRSObj, gpioRWObj, gpioEObj, gpioD5Obj, gpioD5Obj, gpioD5Obj, gpioD5Obj)
print('LCD inited!')
lcd1602Obj.displayString(1, 0, 'Hello')
print('LCD printed')
...
GPIO init begin
GPIO init done
LCD inited!
LCD printed
...
主控芯片和 LCD1602 控制器之间通信为 GPIO 通讯,分为初始化阶段以及指令通讯阶段。
液晶显示屏从 LCD 控制器引出 16 个管脚用于控制指令/数据输入,通过 GPIO 控制。
[1] LCD1602电气手册
[2] LCD1602系列
[3] LCD1602商品购买链接