基于STC51系列单片机的温湿度测试仪设计
   来源:中国科技博览     2021年06月30日 00:33

STC89系列是具有Flash结构的51系列单片机,因此,程序存储器(...

廖任秀

[摘  要]设计基于51单片机的温湿度测试仪,该温湿度测试仪测量范围为0摄氏度至80摄氏度,温度测试范围为30%-80%RH。温度测试精度为正负1摄氏度,湿度测量精度为正负5%RH,温度和湿度用LCD1602显示,通过按键可对温湿度设置上下限报警值,当温度或湿度超过上下限值时发出声光报警。

[关键词]STC51  DHT11  LCD1602

中图分类号:TP274 文献标识码:A 文章编号:1009-914X(2016)24-0105-01

引言

温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度进行检测与控制。随着人们生活水平的提高,人们对自己的生存环境越来越关注,空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度湿度的检测及控制就非常有必要了。

1.总体方案设计

按照系统功能的具体要求,在保证实现其功能的基础上,尽可能降低系统成本。总体设计方案如图1所示。从图中可以看出,系统设计以STC51单片机为控制核心,包含微处理器模块、DHT11温湿度传感器模块、阈值设置模块、1602字符液晶显示模块、报警模块。

2.系统硬件设计

2.1 DHT11传感器模块接口电路设计

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上。

DHT11传感器与单片机采用单总线的方式进行通讯。由于测量范围电路小于20米,在DHT11传感器的DATA引脚接一个10K的上拉电阻后直接与51单片机的P2.0引脚连接。

2.2 1602液晶显示模块设计

液晶显示原理是利用液晶物理特性, 通过电压对其显示区域控制,有电就有显示,这样即可以显示出图形。LCD1602液晶是一种工业字符型液晶,能够同时显示2行,每行16个字符。在本系统中,第一行显示测量的温度和湿度值,第二行显示温度上下限值和湿度上下限值。当温度或湿度超过设定范围是,该测量值闪烁显示。

LCD1602液晶显示器与单片机采用并行通讯方式。单片机的P0口与LCD1602的8位双向数据端即第7~14脚相连,单片机的P1.0~P1.2与LCD1602数据通讯控制口RS、RW、EN脚相连。

2.3 阀值设置和报警电路设计

该温湿度测试仪阀值的设置通过按键来完成,设置内容包括温度上、下限和湿度上、下限四项内容。设计了K1、K2、K3、K4四个按键。K1为设置键,该键按下进入设置状态,设置项闪烁显示,再次按下此键退出设置状态;K2为切换键,按下K2切换设置的项目,设置项目在四个之间轮换;K3为加一键,按下该键设置值在原来的基础上加一;K4为减一键,按下该键设置值在原来的基础上减一。由于按键数量比较少,而且单片机I/O口资源充足,在本系统中采用独立式按键接口设计,按键一脚接地,另一脚与单片机的P2.0~P2.3相连。

报警采用蜂鸣器鸣叫和指示灯闪烁来实现,当测量的温度或湿度超过设定的上限或下限则发出报警。蜂鸣器和指示灯分别与单片机的P2.4、P2.5相连。单片机引脚的驱动电流比较小,不足以驱动蜂鸣器工作,因此采用三极管C9013驱动蜂鸣器发声。

3.系统软件设计

该温湿度测试仪的软件分模块设计,包括主程序、键盘扫描处理程序、显示程序、温湿度测量处理程序、声光报警程序组成。

3.1 主程序设计

该系统的主程序流程图如图2所示。系统上电后对单片机I/O口、LCD1602、温湿度传感器进行初始化设置。在主循环中单片机循环执行读取温湿度传感器的测量数据,对测量数据进行处理计算得到当前的温度和湿度值;单片机执行按键识别与处理程序;温湿度及温湿度的上下限送LCD1602显示;测量的温湿度值与阀值进行比较,如果超出阀值范围则发出声光报警。

3.2 传感器模块程序设计

DHT11作为新型的单总线温湿度数字传感器控制方便。总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一位数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。

4 结论

本文在论述了温湿度测试仪系统的总体设计方案,根据这个方案完成了系统的硬件和软件设计、应用程序的编写及调试,经实际运行验证,取得了满意的效果。

参考文献

[1]张秀国.单片机C语言程序设计.北京大学出版社.2008。

[2]李光飞,单片机课程设计实例指导[M],北京航空航天大学出版社,2004。

[3]林洁.单片机应用技术(C语言版).清华大学出版社.2014。

文章 单片机 温湿度