我是靠谱客的博主 俏皮小笼包,最近开发中收集的这篇文章主要介绍Arduino UNO通过PCF8574串行IIC接口驱动LCD1602/LCD2004液晶屏,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 UNOFCF8574
A4SDA
A5SCL
5VVCC
GNDGND

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上第一行和第二行显示出程序所输入的字符
在这里插入图片描述
拔掉跳线帽,关闭背光灯时,也可看见字符显示,这样可以省电
在这里插入图片描述

最后

以上就是俏皮小笼包为你收集整理的Arduino UNO通过PCF8574串行IIC接口驱动LCD1602/LCD2004液晶屏的全部内容,希望文章能够帮你解决Arduino UNO通过PCF8574串行IIC接口驱动LCD1602/LCD2004液晶屏所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部