LCD1602/2004液晶屏简介
LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。可以显示2行每行16个字符,总共32个字符。字符型液晶显示模块是一种专门用于显示字母、数字和符号等的点阵式LCD,常用16×1,16×2,20×2和40×2等的模块。不同厂家生产的LCD1602驱动控制芯片可能有所不同,但使用方法都是一样的,能够显示英文字母、阿拉伯数字、日文片假名和一般性符号。部分颜色的LCD在背光灯引脚A、K不接电源也可以在一定光照下可以看见显示出的字符。如黄绿屏的LCD1602/2004。
LCD2004可以显示4行每行20个字符,总共80个字符,比LCD1602(2*16=32个字符)显示的更多。其引脚功能顺序与LCD1602兼容。
![在这里插入图片描述](https://img-blog.csdnimg.cn/69435b4236ed489eae30828551553a0f.png#pic_center
PCF8574 IO扩展模块简介
它通过两条双向总线(I2C)可使大多数 MCU 实现远程 I/O 口扩展。该器件包含一个 8 位准双向口和一个 I2C 总线接口。PCF8574 电流消耗很低,且口输出锁存具有大电流驱动能力,可直接驱动 LED。它还带有一条中断接线(INT)可与 MCU 的中断逻辑相连。通过 INT 发送中断信号,远端 I/O 口不必经过 I2C 总线通信就可通知 MCU 是否有数据从端口输入。
带背光电源控制,可以通过跳线帽设置是否连接背光电源,插上跳线帽为连接背光电源,拔掉跳线帽为断开背光电源。
对比度可调节,旋转蓝色电位器,顺时针增强。
IIC总线上可以挂载八个PCF8574,即可连接八个LCD2004屏幕。
通过短路模块上的A0/A1/A2焊盘修改设备地址,默认不短接,此时A0/A1/A2都为1,短路时为0。PCF8574T的IIC器件地址为0100A2A1A0,PCF8574AT的器件地址为0111A2A1A0,本实验采用的是PCF8574AT,默认器件地址为0x3F。
Arduino UNO与模块接线
Arduino UNO | FCF8574 |
---|---|
A4 | SDA |
A5 | SCL |
5V | VCC |
GND | GND |
LCD1602接线
LCD2004接线
测试代码
在Arduino IDE库管理器搜索PCF8574,并安装如图示所例程库
打开Hello_World.ino例程,并按如下程序修改例程
LCD2004驱动程序
LCD_I2C lcd(0x3F, 20, 4); // Default address of most PCF8574 modules, change according
void setup()
{
lcd.begin(); // If you are using more I2C devices using the Wire library use lcd.begin(false)
// this stop the library(LCD_I2C) from calling Wire.begin()
lcd.backlight();
lcd.clear();
}
void loop()
{
lcd.setCursor(3, 0);
lcd.print("Hello! LCD2004"); // You can make spaces using well... spaces
lcd.setCursor(2, 2); // Or setting the cursor in the desired position.
lcd.print("YouXin Electronic");
}
LCD1602驱动程序
LCD_I2C lcd(0x3F, 16, 2); // Default address of most PCF8574 modules, change according
void setup()
{
lcd.begin(); // If you are using more I2C devices using the Wire library use lcd.begin(false)
// this stop the library(LCD_I2C) from calling Wire.begin()
lcd.backlight();
lcd.clear();
}
void loop()
{
lcd.setCursor(1, 0);
lcd.print("Hello! LCD1602"); // You can make spaces using well... spaces
lcd.setCursor(0, 1); // Or setting the cursor in the desired position.
lcd.print("YouXinElectronic");
}
实验结果
在LCD2004上第一行和第三行显示出程序所输入的字符
拔掉跳线帽,关闭背光灯时,也可看见字符显示,这样可以省电
在LCD1602上第一行和第二行显示出程序所输入的字符
拔掉跳线帽,关闭背光灯时,也可看见字符显示,这样可以省电