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还有个上拉电阻问题,下次再说。




