基于AT89C51的温湿度监测系统
张东东
(苏州大学 电子信息学院,江苏 苏州 215006)
摘要 :在现代生产领域,温湿度的监测与控制应用广泛,对于监测技术的研究也越显重要。鉴于国内外温湿度测量技术的发展现状,基于AT89C51单片机和DHT11数字式温湿度传感器设计实现了一个温湿度监测系统。硬件电路包括微控制器模块、数据采集模块、显示电路、报警电路以及按键设置5个部分,用户可通过按键设定温湿度上下限,当测得的数据超出所设定的范围时发出报警信号(蜂鸣器蜂鸣)。软件部分由主程序和各部分子程序构成。系统精确度较好,在日常环境监测以及生产活动中都有一定的应用价值。 0引言随着现代科技的发展与通信技术的进步,温湿度测量系统的整体性能及其优越性也取得了很大突破,对于温湿度传感器的应用和开发也越来越智能化。
国外很早就开始了对于温湿度测量技术的研究,且一些技术已趋于成熟,集成化的监测设计、传感器的应用、智能测试系统等技术早已研发出来并得以应用,这是国际传感器领域的重大突破。
目前,虽然国内外对于此技术的研究已较为成熟,但科技探索是永无止境的,未来生产领域必然会提出更高的要求,一种完全智能化甚至完全无人化的潮流正悄然兴起,这是不可避免的发展趋势[1]。
1设计任务及方案论证
1.1设计要求
基于微控制器的温湿度测量系统设计要求如下[2]:
(1)对所处环境的温湿度进行检测,要求温度检测范围为0℃~50℃,测温精度为±2℃; 湿度检测范围为20%~90%RH,测湿精度为±5%RH。
(2)能够通过按键设定阈值。
(3)当检测数据超出阈值蜂鸣报警。
(4)系统使用4位LCD显示。
1.2设计方案
对温湿度进行实时监测并LCD显示,可自主设定温湿度阈值,当传感器所测得数据超出设定范围,蜂鸣器报警。为达到本次设计的要求,系统需包含以下功能模块[3]:温湿度传感器模块、主控制模块、按键和显示模块、报警电路。系统原理框图如图1所示。
2硬件设计
2.1主控制模块
AT89C51是一种带4 KB移序存储器的低电压、高性能CMOS 8位微处理器,其内部包含下列几个部件[45]:一个8位CPU;一个片内振荡器及时钟电路;4 KB程序存储器,128 B数据存储器;两个定时器,也可用作计数功能;一个可编程全双工串行口;4个8位可编程并行I/O端口;5个中断源和两个优先级嵌套中断结构。
以上各部分通过内部总线相连接。另外,除了8位CPU外,MCS-51内部还有一个微处理器,它实际上是一个完整的一位字长的计算机。
AT89C51单片机引脚排列图如图2所示。
DHT11的DATA口与单片机AT89C51的P3.0口连接。LCD1602显示电路就是将各引脚依次与单片机的P0口相连,蜂鸣器超限蜂鸣。
2.2主要功能模块
2.2.1晶振与复位电路
XTAL1和XTAL2分别是单片机内用于构成振荡器的放大器的输入端和输出端。在XTAL1和XTAL2的引脚上接一个石英晶体和两个电容,便能使内部振荡器自激振荡。与石英晶体振荡器并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。石英晶振的电容可以在20~40 pF之间选择,本文选择22 pF。
单片机复位电路也是必不可少的部分。当程序执行出现问题时,复位操作使单片机的程序重新运行,复位操作至少要两个机器周期以上的高电平位于RST引脚。本设计采用的是上电复位。
2.2.2温湿度传感器电路
温湿度采集是完成环境与微处理器数据沟通的前端部分,采用DHT11来完成设计[6]。
(1)DATA单总线通信[7]
DATA接口用于数据通信,传送的数据由小数部分和整数部分组成。主机等待DHT11响应时,总线处于高电平状态,当传感器接收到开始信号时,就会发送一个响应信号,使总线处于低电平状态,信号长80 μs,如果读取高电平响应信号,但DHT11并无响应,则说明线路连接可能表1DHT11性能指标测量范围测量精度分辨力0℃~50℃,
20%~90%RH±2℃±5%RH1出现问题。
(2) DHT11各项性能指数如表1、表2、表3所示。
(3)DHT11典型应用如图3所示。
2.2.3报警电路
基于微型计算机所设计的控制系统中,通常都设定有紧急状态报警系统,以便采取应对措施。本次设计如果测值超出此设定范围则进行报警,即蜂鸣器持续鸣叫[8]。报警电路如图4所示。
2.2.4LCD显示电路
显示模块选用LCD1602液晶显示屏,它是目前工控系统中使用最广泛的液晶屏之一,显示质量高。1602字符型液晶模块是点阵型液晶,驱动方便,经过编程后显示内容多样化[9]。
LCD1602参数如表4、表5所示。表4LCD1602液晶屏的主要参数内容参数工作电压/V4.5~5.5容量/字符16×2最佳工作电压/V5工作电流/mA2.0字符尺寸/mm2.95×4.35表5LCD1602引脚定义引脚号符号引脚说明1VDD正极2VSS地3VL液晶显示偏压4RS数据/命令5R/W读/写6EN使能信号7~14D0~D7数据15BLA背光源正极16BLK背光源负极将LCD1602的7~14脚依次与单片机的P0端口相连。
3软件设计
3.1编程思想
本文设计的温湿度测量系统,其主要功能是对当前环境的温湿度进行实时监测,并在LCD1602上进行显示,当所测数据超出所设定的阈值范围时,蜂鸣器蜂鸣报警。软件设计:首先将LCD初始化,LCD1602采用5×7点阵并分两行显示,然后读取温湿度值进行处理和按键检测,判断数值是否超出预设范围,超出则蜂鸣器报警。第一次按键单片机复位,进入设定界面分别完成,3个设定按键设定数据切换、数据加、数据减等功能。
3.2软件流程图
本设计采用按键复位与阈值设置操作,第一个按键可切换至阈值设置界面,按2次键可选择设置参数;第二与第三个按键分别完成参量加减操作,按键检测软件流程如图5所示。
整个系统的软件设计流程图如图6所示,上电启动系统,蜂鸣器蜂鸣,图6软件设计流程图然后将LCD1602初始化,微控制器读取温湿度值,经检测后与预设值进行比较,若超出阈值范围,则蜂鸣器蜂鸣,并模拟启动控制设备,直至温湿度处于预设范围之内,若未超出,则温湿度值正常显示[10]。
4系统调试与测试结果
4.1仿真分析
Proteus仿真运行结果如图7所示[11]。
4.2测试结果
(1)在上电之后,电源指示灯工作,系统正常运行,图8为温湿度正常显示界面。
(2)第一次按下按键1,系统进入阈值设置界面,再次按下可选择要设置的参数,第二个与第三个按键分别执行参量加与减操作。
(3)若当前温湿度超出预设范围,报警指示灯亮,蜂鸣器持续鸣叫。
5结论
本设计是基于51单片机与DHT11的一个温湿度监测系统,是对实际生产应用系统的一个模拟,通过DHT11温湿度传感器与单片机完成实时监测,按键与LCD实现人机交互,可自主设置温湿度阈值,实时显示当前数据,并带有超限报警功能,在实际生产中,可以启动相应设备调整环境数据,实现安全生产。
通过实验仿真与系统实测,系统可以达到预期目标,这样的一个系统可以经过更加精准的优化改进投入到实际应用中。
参考文献
[1] 刘宝元,张玉虹,姜旭,等.基于单片机的温湿度监控系统设计[J].国外电子测量技术,2009,28(12):7780.
[2] 薛玲,孙曼,张志会,等.基于单片机AT89S51的温湿度控制仪[J].化工自动化及仪表,2010, 37(7):6669.
[3] 张广军,黄俊钦,李行善,等.温度传感器现场动态校准方法与 实验研究[J].北京航空航天大学学报,1997,23(3):311315.
[4] 徐春河.浅谈AT89S51[J].制造业自动化,2010(12):8082.
[5] 吴汉清.常用的典型单片机资料[J].无线电,2007,18(11):7280.
[6] 张冬林,李鑫,戴梅,等.基于DHT11的低成本蚕室温湿度自动控制系统的设计[J].现代农业科技,2010(18):1415.
[7] 周鹏.基于STC89C52单片机的多功能测温仪设计[J].微型机与应用,2013,32(1):2629.
[8] 李建民.单片机在温度控制系统中的应用[J].江汉大学学报,1999,16(3):6062.
[9] 梁振涛,樊泽明,任永亮,等.基于单片机的移动监控系统硬件设计[J].微型机与应用,2014,33(2):2527,30.
[10] 吴大中,宋俊飞.实验室智能监控系统设计[J].电子技术应用,2014,40(3):120122.
[11] 汤武辉.Proteus仿真软件与单片机实验教学[J].长江大学学报,2010,7(3):408409.
单片机入坑指南,包含9个实用案例推荐
刚入门单片机的时候很迷茫,不知道该从哪里开始学习,买哪些开发板比较好……
于是,我写了一篇《单片机入坑指南》。
新手看完一定会有实践的方向 ,学习起来也会轻松很多!
单片机入坑指南
大部分人都是从——“51单片机”开始入坑的。
而从入门到进阶,大概是这三个阶段—— "51单片机" 、“32系列单片机” 、 “物联网”。
你现在,是在哪个阶段呢?
ps:看完了我做的攻略,可别忘了实践哦~
一、51单片机类
① 51单片机DIY开发板(97%直插件)
这个开发板由山东交通学院解兆延老师 倾情设计,多年单片机课程教学经验只为做好一块开发板。
实物图
核心主控为单片机入门必备 的STC89C52RC,此块开发板基本都是直插类器件 !对新手小白非常友好。
它不仅能学习51的单片机入门开发,还能学习如何焊接 。
开发板资源分布图
开源资料下载入口: 51单片机DIY开发板(97%直插件) - 嘉立创EDA开源硬件平台
② STC8G-51单片机开发板
孟老师出品,必是精品!
这块开发板是基于STC8G2K64S4单片机制作的,精致小巧。
别看它小,入门学习的资源可是一个都不少 哦。
它包含: IO口、PWM、定时器、ADC模数转换、串口通信、I2C通信、SPI通信、并口通信、看门狗、低功耗电源管理等。
而且还有配套的例程和视频可学习!
开源资料下载入口: STC8G-51单片机开发板 - 嘉立创EDA开源硬件平台
非常喜欢孟老师的那句话:如果你要学车,你只看如何开车的视频教程,而不去亲自上车,那估计一万年也学不会。
③ STC32G12K128最小系统
此块开发板专门使用STC32设计的32位的 51单片机最小系统。
兼容STM32小蓝板设计。
比开发板简洁又不失精妙。
它适合用于高校教学应用: 学习微机原理与程序设计,使用该核心板完成课程设计项目。适合电子爱好者学习: 掌握单片机电路设计与程序开发能力,学习项目开发规范。适合电子工程师验证: 快速上手STC32单片机的学习,对所需的功能进行验证开发。适合电赛学习与训练: 可以在电赛中快速搭建所需电路。它还有对应的软件和硬件视频教学哦。
开源资料下载入口: 【最小系统】STC32G12K128 - 嘉立创EDA开源硬件平台
二、32单片机类
51入门之后,大家肯定对32位的单片机也有所了解。
市面上32位的单片机开发板很多,资料也比较齐全。
所以我只推荐几个适合入门的 32“最小系统板”和“核心板”。
也比较适合拿去做项目、学习。
毕竟开发板都很大一块,上面的资源也比较固定,无法拆卸。所以核心板和最小系统就比较合适。
① STM32F103/205/407Vx小型开发板
这位作者对STM系列的单片机比较了解,制作的板子也非常美观实用。
它的核心板是基于STM32F205VE的最小系统板。
兼容STM32F103Vx和STM32F407Vx,板载ST-Link V2.1。
集调试、串口、USB下载 与一体。
兼容芯片说明
开源资料下载入口: STM32F103/205/407Vx小型开发板 - 嘉立创EDA开源硬件平台
② 立创·梁山派
它是基于GD32F450ZGT6的开源开发板。
资源、接口丰富,拥有完善的视频教程、文档教程、实验案例。
它还提供在线编译器,10分钟快速入门!
开源资料下载入口: https://lckfb.com/project/detail/lckfb_lspi?param=baseInfo
③ 小汐 -> STM32 Mega Mini
这是一个基于 STM32F10xCxTx 系列单片机的 STM32 Mega Mini 开发板。
支持STM32F103系列的大部分芯片做替换。
开源资料下载入口: Arduino 1.3'' OLED Shield - 嘉立创EDA开源硬件平台
三、物联网类
学习了32,肯定要尝试一下最热门的物联网技术!
下面给大家推荐几个不错的物联网开发板工程。
① 物联网开发板-ESP8266
这块开发板是不是很眼熟?
此模块以 ESP8266 模组为核心:
配合稳压电路、USB-TTL 电路、串口下载电路,实现 ESP8266 的 SDK 开发,实现物联网功能 。配合 OLED、DHT11 模块,实现温度上报到云端、显示云端下发的消息 等功能。开源资料下载入口: 物联网开发板-ESP8266 - 嘉立创EDA开源硬件平台
② 基于STM32和涂鸦智能平台开发的一款物联网开发板
基于“STM32”和“涂鸦智能平台”开发的一款物联网开发板。
也可以把他当成一个带有蓝牙和水墨屏的32开发板。
此块开发板的器件选型上比较有讲究。
考虑到了大家的经济实力,特意选了一款还没怎么涨价的相对便宜的型号 制作。
这块开发板的不仅可以学习STM32,还能顺便学习物联网设计 ,一举两得!
个人觉得性价比妥妥的 。
开源资料下载入口: 开源物联网项目ilabel-基于STM32和涂鸦智能平台 - 嘉立创EDA开源硬件平台
③ ESP32-IOT-KIT全开源物联网开发板
以ESP32模组为主控设计的开发板。
支持WIFI、蓝牙、以太网、RS485、CAN等通信方式。
软硬件全开源,配套Easyio驱动库、CSDN博文教程,方便大家从ESP-IDF入门物联网的学习与开发。
ESP8266的资源肯定满足不了大家了,不知这个咋样呢?
开源资料下载入口: ESP32开发板 ESP32-IOT-KIT全开源物联网开发板 - 嘉立创EDA开源硬件平台
汇总结束!基本学到这里,就可以放弃开发板了……
还用啥开发板呢,这时候已经完全有能力直接用嘉立创EDA软件设计电路啦,直接板载单片机!
ps:下次预估会发:FPGA、Linux、4G、LOT类型、嵌入式开发相关、开发板等类型的开源工程。
如果你有其他更好的推荐,也可以在评论区发表,我会安排的!
相关问答
DHT11 数字传感器 与单片机 怎么实现连接?DHT11是一个温湿度传感器,根据DHT11的引脚图,将DHT11数据线DATA接到单片机的IO口,并将DHT11的电源供电3.3-5V,地线与单片机共地,NC脚悬空。然后软件部分,根...
DHT11 温湿度传感器怎样给 单片机 传输数据?DHT11是一个温湿度传感器,根据DHT11的引脚图,将DHT11数据线DATA接到单片机的IO口,并将DHT11的电源供电3.3-5V,地线与单片机共地,NC脚悬空。然后软件部分,...
dht11 传感器由哪几部分组成?DHT11传感器由一个温湿度传感器元件、一个信号调理电路和一个8位单片机芯片组成。温湿度传感器元件主要用于检测环境的温度和湿度信息,信号调理电路则负责对传...
想做一个温湿度控制器,可以液晶显示温湿度,可以通过键盘设定温湿度,超过设定会声光报警,电路原理图有什么建议?2、TDK0302温湿度控制仪,1台。3、声光蜂鸣器,电压220V,1个。4、继电器或接接触器,2个。5、电线,若干。单片机控制电路与温控器电路优缺点对比1、单片...优...
温湿度监测器价格是多少- 一起装修网一起装修网问答平台为您提供温湿度监测器价格是多少的相关答案,并为您推荐了关于温湿度监测器价格是多少的相关问题,一起装修网问答平台:装修问题,因我而止。
aht 11 温湿度传感器质量怎么样- 一起装修网aht11温湿度传感器质量怎么样
各位老司机 急需了解!一对一视觉统合失调测试,视觉统合失...[回答]不会单片机还有办法,用两块万用表测电压和电流,然后用电脑和摄像头定时捕捉照片,几个小时后,调出这些照片进行读取累加,即可得到电池容量楼主问哪...