这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 使用ESP8266驱动基于PCF8574的LCD1602

共18条 1/2 1 2 跳转至

使用ESP8266驱动基于PCF8574的LCD1602

专家
2022-01-20 13:19:27   被打赏 300 分(兑奖)     打赏

自己手里有几块STM32的开发板,一直想用来作为家用控制系统的主控板。作为主控板,没有显示部分,是很不方便进行调试和控制的,虽然有调试时有串口可供使用,但是实际工作时,是不可能一直连着电脑的。所以追加显示部分,就变得很紧要了。于是上网买了两种显示用的液晶,一个是0.96英寸的OLED,一个是基于PCF8574控制的IIC方式的LCD602。之所以选择这两种,一个原因是因为自己不想在这方面花太多的钱,一个是考虑工作电压的匹配。这两样拿到手以后,马上就进行了测试,OLED的那个,无论是用51系列单片机控制,还是ESP8266开发板控制,都没有问题。唯独LCD602不行,即使是使用网店提供的例程,两种开发板的驱动都没有成功。为了确认到底是程序不对,还是显示板本身的故障,开始上网查找解决方案。花了几个小时,最终找到了一个解决方案,并且通过实机验证,确认没有问题。以下是解决过程,使用的是Arduino程序,外加第三方开发包:

启动Arduino

image.png

启动管理库

image.png


在管理库的窗口中,在检索栏,输入“LiquidCrystal_PCF8574 

image.png

image.png

选择安装LiquidCrystal_PCF8574开发包。安装完成后,重新启动Arduino,打开示例工程“LiquidCrystal_PCF8574

1LiquidCrystal_PCF8574开发包安装成功后,在

C:\Users\xxx\Documents\Arduino\net\libraries\目录下会出现LiquidCrystal_PCF8574目录,子目录中会有名为LiquidCrystal_PCF8574_Test测试工程

注2:有关的资料,详见https://www.mathertel.de/Arduino/LiquidCrystal_PCF8574.aspx这个网站

image.png

ESP8266开发板和IIC LCD602开发板连接好,如下图:

image.png

因为是要联机调试,所以那个额外的+5电源直接使用USB口提供的5V电源。确认连接无误,通过USB连结线连接到电脑上。在Arduino中,选择“Gedneric ESP8266 Module”这个开发板,通过菜单“工具”—>“端口”,选择ESP8266开发板所在的串行端口,修改程序中涉及IIC端口地址的代码(第四行),和你的PCF8574所在的端口匹配一致,

image.png

然后执行编译下载。编译过程会花点时间,高低忍耐一会儿,直到你的LCD1602液晶出现“Hello LCD”,这就OK了。

image.png

通过这个测试,说明了显示板是没有问题的。那么下一步,就是如何调整IIC51驱动,来完成显示驱动了。

一个题外话哈,因为前几天自己手贱,重新安装了一个64位的MinGW,替代老早以前安装的32MinGW,结果导致整个Arduino的编译出了问题,任何以前测试过没有问题的程序,都编译不过去,卡在一个名为“C++congfig.h”的头文件,检查MinGW安装目录,确实不存在这个文件。实在没办法,卸载这个64位的MinGW,重新安装了32位的,然后为了保险,又重新安装了一个最新版本的Arduino。之后Arduino的程序开发终于又恢复了正常。





关键词: ESP8266     PCF8574     LCD602驱动    

工程师
2022-01-20 13:27:24     打赏
2楼

谢谢分享


工程师
2022-01-20 13:30:35     打赏
3楼

学习学习


工程师
2022-01-22 10:58:58     打赏
4楼

很详细,很实用


专家
2022-01-22 11:04:49     打赏
5楼

谢谢,学习了


专家
2022-01-22 12:11:48     打赏
6楼

写的好,去深圳华强买,便宜,价格好,运用ST编程和程序仿真软件,重新写一下,仿真烧进去,就没问题了


专家
2022-01-22 12:48:33     打赏
7楼

感谢分享


专家
2022-01-22 13:39:36     打赏
8楼

感谢分享


专家
2022-01-23 21:14:30     打赏
9楼

感谢。

做软件的时候,电脑都不敢升级。


专家
2022-01-24 21:59:36     打赏
10楼

回复machinnneee

确实,尤其是对于大的项目,有多个开发组那样的,在每次提交某个版本的时候,哪怕是看到程序有BUG了,也不敢改。

其实我的这个编译错误,和工程完全没有关系。是因为之前要安装基于C语言的eclipse开发环境,特意安装的MinGW,结果设置的系统环境变量,在Keil的工程编译过程中起了作用,MinGW本身也存在问题,所以导致没有问题的Keil工程编译出错。其实只要临时去掉系统中有关MinGW的环境变量,或者更简单点,直接修改MinGW目录名,导致环境变量失效,一样可以解决这个问题。


共18条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]