DHT11温湿度传感器与12864 LCD 实时显示与清除技巧

需积分: 13 7 下载量 134 浏览量 更新于2024-09-12 1 收藏 346KB DOC 举报
本文档主要介绍了如何使用DHT11温湿度传感器配合12864液晶显示屏进行实时温度和湿度的显示。作者分享了一个经过测试的程序实例,用于将DHT11采集的温湿度数据在12864LCD上清晰地展示出来。程序是基于单片机(可能使用的是8051系列,如8051或STM32)设计的,使用P1.0接口连接DHT11传感器,晶振频率设定为11.0592MHz。 在程序开始部分,定义了一些变量,如TH_data、TL_data等,用于存储DHT11传感器返回的温度和湿度数据,以及TH_temp、TL_temp等临时变量。此外,还有几个控制信号定义,如RS、RW、EN、PSB、RST和io,分别对应LCD的数据选择、读写、使能、并串口选择、复位和DHT11总线。 `clear_gcrom()`函数在未连接DHT11时可能会导致LCD屏幕闪烁的问题,但在DHT11模块的程序运行后,大约每12秒才执行一次clear_gcrom(),可能是由于DHT11数据的获取和处理占据了大部分时间。注释掉这段代码后,LCD的刷新变为正常。 程序的主要流程包括LCD初始化、发送命令到LCD进行清屏、读取DHT11数据、校验数据、处理数据并显示在LCD上,以及延时函数和LCD命令写入函数。LCD初始化函数用于设置LCD的工作模式和控制寄存器,确保LCD正确工作。数据读取函数`read_io()`用于启动DHT11通信,获取温度和湿度值,然后调用`delay()`函数来稳定数据处理过程。 测试图片提供了2012年6月11日在江苏连云港职大男生宿舍的实际测试结果,显示了实时的温湿度值。作者提到,程序中大部分代码已经注释,以便于读者理解。最后,作者展示了相关的代码片段,展示了如何通过`write_cmd()`函数发送LCD命令,以及LCD初始化、数据读取和显示的过程。 这篇文章是关于单片机与DHT11温湿度传感器结合12864液晶屏实现的简单但实用的小型环境监测系统,适合初学者学习和实践嵌入式开发中的硬件交互和数据处理。