一、 目的与要求
制作一个温湿度实时显示小系统,响应时间控制在1s左右,探头部分能够放进大约10cm直径的容器中。
二、 工作原理
采用AT89S52单片机作为本系统的控制单元,传感器采用DHT90(即把SHT10封装为4个2.54标准插针的独立结构,大连北方测控代理的价格为50元/片),显示模块为LCD1602。单片机收到来自DHT90的温湿度数据,再经过软件线性拟合,最后送到1602上显示并没隔1s刷新一次数据。
三、 原理图
<IGNORE_JS_OP>
图1 温湿度显示系统原理图 (原文件名:图1.jpg)
四、 硬件设计
电源部分采用+5V开关电源集成模块(实测输出电压5.19V),这符合DHT90和AT89S52单片机的供电要求。本系统电路设计较简单,难点至于软件编写与调试。
五、 软件设计
5.1 流程图
<IGNORE_JS_OP>
软件流程图 (原文件名:流程图.jpg)
5.2 软件调试过程及经验
对于本系统,我首先调试1602的显示程序,重点理解时序图。对硬件理解清楚后,参照相关程序,编写自己规范的程序。然后,调试DHT90数据通信显示,在SHT11(DHT90/SHT10也属于同系列)例程中,显示功能是利用51单片机串口向上位机发数据,在上位机上显示温湿度。所以,这部分在我的程序中就去掉了。同样,DHT90程序部分的关键也是时序图,读明白时序图,就可以很快得进入编程调试阶段。
六、 系统实物图
<IGNORE_JS_OP>
图2 单片机控制及显示部分 (原文件名:图2.jpg)
<IGNORE_JS_OP>
图3 LCD1602显示特写 (原文件名:图3.jpg)
<IGNORE_JS_OP>