arduino lcd点阵屏:和爷爷一起学ArduinoLCD1602液晶屏的使用
arduino lcd点阵屏:和爷爷一起学ArduinoLCD1602液晶屏的使用0十六进制A1A0二进制
新的LCD1602液晶屏加了PCF8574小板子,也就是加了I2C。这样与Arduino连接,就只需要2条线。
I2C(或IIC,读作I squared C),Inter-Integrated Circuit(芯片间电路)。I2C是一种总线,一条I2C总线上最多可以挂接128个I2C节点,其中一个是主节点,其余为从节点。因此,挂接在I2C总线上的每个组件必须有独一无二的I2C地址。I2C地址是7位二进制数。最早的I2C组件的地址是在芯片里烧死的。后来为了不使组件的地址发生冲突,只烧死了高4位,低3位做成跳线,让用户自行改变I2C地址。以LCD1602A为例,高4位是烧死的,0100。上图是LCD1602A的背面。在对比度调节电位器的下方有三对焊点,分别标以A0、A1、A2。这就是I2C地址低3位。里面各自有一个上拉电阻。因此,如果你不动它们,它们就全是高电平,111。你在哪对焊点上滴一滴锡,对应的位就变成了0。也就改变了I2C地址。
LCD1602A的I2C地址的高4位是0100,因此,LCD1602A可以选择的I2C地址如下表。
A2 |
A1 |
A0 |
二进制 |
十六进制 |
0 |
0 |
0 |
0100000 |
0x20 |
0 |
0 |
1 |
0100001 |
0x21 |
0 |
1 |
0 |
0100010 |
0x22 |
0 |
1 |
1 |
0100011 |
0x23 |
1 |
0 |
0 |
0100100 |
0x24 |
1 |
0 |
1 |
0100101 |
0x25 |
1 |
1 |
0 |
0100110 |
0x26 |
1 |
1 |
1 |
0100111 |
0x27 |
如果你的Arduino连接一个以上I2C组件,你就得考虑I2C地址冲突问题。
I2C还有个上拉电阻问题,下次再说。