好文档 - 专业文书写作范文服务资料分享网站

温湿度传感器 - 课程设计报告 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

.

3.3 实时监控与测试流程图

本系统设计分为实时监控与测试模块,图3.3示为测试模块。上电是

数码管显示四个零,当按下测试按键后,系统开始测量环境温、湿度。当数码管显示四个“—”时,表示成功测量温、湿度。当按下温度(湿度)显示按键,该模块显示测试时的温度(湿度)。当要进行下一次测量时,必须按下测试按键。

开始 N 是否按键? Y 显示 N 是否按键? Y 调用测试函数 温度按键按下? Y 湿度按键按下? Y 调用显示湿度函数

.

调用显示温度函数 图3.3 测试流程图

.

图3.4示为实时监控模块,按下实时监控键后,启动T0定时器开始定时,每一分钟测试一次温度、湿度,并在四位一体的共阳极数码管轮流显示温度、湿度。当按下温度(湿度)显示按键后,该模块只显示实时的温度(湿度)。当再次按下实时监控按键后。定时器T0关闭。

.

开始 是否按键? N Y 显示 是否按键? N Y 重装初值启动定时器 调用测试函数 轮流显示温湿度 图3.4 实时监控模块

.

第4章 硬件调试与结果分析

4.1调试过程

在编写此程序前,感觉DHT11的通信程序和取数程序最为难写,在之前的学习中我并没有接触过单总线的通信时序图。通过查阅资料和参考现有的程序,然后在老师讲解和与本组的其他组员谈论后,终于弄明白这方面的知识。而在测量函数中,刚开始并没有测得数据,通过查阅书籍我设置了一个全局变量,一步一步跟踪每一步并显示在P1的LED灯上,一步一步跟踪,完善了DTH11的通信与取数函数。

但在通信与取数函数与按键函数衔接时,总是有一定的概率测不到数据,慢慢的调试我发现我的通信与取数函数要连续调用两次才能每次正确的读取数据,在此,我设置了一个全局变量作为一个标志位,每次按下测量键是将该标志位设置为2,使通信与取数函数循环两次,这样保证了每次按下测试按键后就能与DHT11正确的通信从而保证得到正确的数据。

在实时监控这个模块中,为了保证温、湿度能循环显示、按键后能只显示温度(湿度)。由于按键有限,所以一下设置了很多的标志位。因为标志位太多,而没有将所有的环节考虑进去,一下程序有调试了很久才正确的实现要求的功能。

.

.

4.2 硬件调试

如图4.1所示,按下左下角按键时,单片机开始与DHT11通信并开始测试温、湿度。图示为测量温、湿度成功。

图4.1 初始化

当按下图示按键时,数码管显示此时或实时监控的环境湿度。其中最前端的“C” 表示此时显示的事环节温度,如图4.2。

图4.2 显示湿度

.

.

当按下此按键时,数码管显示此时或实时监控的环境温度。其中最前端的“H”表示此时显示的是环境湿度,如图4.3。

图4.3 显示温度

.

6ojwy6af1z3z01x0bvw21wxgu8k84a00neg
领取福利

微信扫码领取福利

微信扫码分享