基于单片机的温湿度监测系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的温湿度监测系统设计
***
1设计目的
随着科学技术的日新月异,在居家生活、工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境中的湿度和温度进行测量及控制。但目前我国的温湿度测量和设备的操作大多还是由人工来完成,当温度极端时不利于测量的实施。本设计是以单片机控制为核心,用温湿度传感器来进行实时测量的智能型温湿度监测系统,该设计将大大降低工人的劳动强度,且本设计课题做成的温湿度监测系统结构简单、价格便宜、量程宽、带报警功能,具有较高的可靠性、安全性及应用前景。
2 设计的主要内容和要求
本基于单片机的温湿度监测系统设计,主要用来完成对所测环境的温湿度测量,显示,以及在超出设定环境值时能执行报警功能。
主要设计内容:
①设计一个温湿度采集电路。
②设计一个温湿度液晶显示电路。
③设计一个矩阵键盘输入电路。
④设计一个报警器电路。
主要功能要求:能准确实时的显示温湿度,能通过键盘预置温湿度的上限值
和下限值,并在所测环境值超出此X围时发出警报。
3 整体设计方案
本设计的基本设计方案:首先单片机从温湿度传感器采集温湿度信息,然后将采集来的数据转换成液晶显示所需的实际数据,再通过液晶将温湿度以及露点显示出来。并可预先设置一个温湿度X围值,当环境超过该值时发出报警提醒。总体设计方框图如图3.1所示。
主要说明:这里的温度为摄氏温度,湿度为日常生活中的相对湿度,而露点是指水蒸气凝结开始出现时的温度。
图3.1总体设计框图
4 硬件电路的设计
4.1 主控制器
本设计采用ATMEGA16单片机作为系统控制芯片,这是一款高性能、低功耗的8位AVR微处理器,其最小系统电路原理图如图4.1所示。AVR单片机大多数指令执行时间为单个时钟周期,其数据吞吐率高达1MIPS/MHz,相比51系列的
单片机的处理速率要提高一倍,而他们价格相仿,所以AVR单片机成为更加合理的选择。
C15
图4.1主控制器电路原理图
4.2 温湿度传感器
市场上有各种温度传感器和湿度传感器,这里采用温湿度可同时测量的SHT75传感器。SHT75是瑞士SENSIRION生产的一种高度集成的温、湿度传感器,具有14位的温度和12位的湿度全量程标定数字输出。传感器包含1个电容性聚合体相对湿度传感器和1个隙(bandgap)温度传感器,14位A/D转换器以及1个2-Wires式串行接口电路。湿度在0-100%RHX围内能达到±1.8%的高精度,温度能再25℃时把误差控制在±0.3℃的X围内。SHT75工作电压为2.4-5.5V,体积小、功耗低,使用电池供电可以长期稳定运行,防浸泡特性使其在高湿环境下也能长期正常工作,它是各类温湿度测量系统应用设计的首选传感器。
SHT75与单片机连接的电路原理图如图4.2所示,通过单片机控制来完成温湿度数据的采集。
图4.2 SHT75电路原理图
4.3 键盘输入模块
键盘输入模块主要用来输入温湿度的上限以及下限值。其电路原理图如图4.3所示。
图4.3键盘输入模块电路原理图
4.4 液晶显示电路
液晶用来显示单片机采集和处理后的温湿度数值,是本系统的显示界面。这里采用广泛使用的LGM12864液晶做显示屏。其电路连接图如图4.4所示。
图4.4液晶显示电路
4.5 报警电路
当温湿度超出所设定的X 围时系统产生报警提醒,这里采用蜂鸣器来实现。
蜂鸣器的一端接地,一端与单片机的PD7口相接,其电路图如图4.5所示。
图4.5报警电路
5 软件设计
本设计软件部分均采用C 语言编写,并采用模块化设计来完成整个系统功能的设计。首先采集温湿度数据,再由液晶显示温湿度,如果需要设置报警温湿度X 围,则由键盘进行输入设置,在温湿度超出设定值时控制报警。总的设计框图如图5.0所示。
图5.0程序设计框图
5.1 温湿度采集程序设计
温湿度采集程序主要完成:单片机从SHT75采集温湿值,并通过换算公式计算出实际温湿度值,再通过温湿度值计算出露点值。流程图如图5.1所示。
N
图5.1温湿度采集程序图
5.2键盘输入程序设计
本设计通过按键扫描来判断是否进行温湿度报警值设置,当按下KeyD时为温湿度的上限值设置,当按下KeyE时为温湿度的下限值设置,KeyF为设置完成键。在未进入设置状态时,除KeyD 、KeyE以外其余键为无效键;在进入设置状态后将等待温湿度值的设置,由Key0-Key9来完成温湿度值设定。当输入完设定的温湿度值后液晶可自动跳到温湿度的显示界面。键盘输入程序流程图如图5.2所示。
Y
图5.2键盘输入程序设计
5.3 液晶显示程序设计
本设计采用LGM12864来做显示界面,可显示4行,每行8个汉字或16个字符。开启监控后液晶将实时显示温湿度以及露点。当按下设置键后,液晶将进
入设置界面并反白显示此时所设置的对象,如设置温湿度上限值时,上限二字将反白显示,并将设置的值也反白显示出来,设置完成后跳到温湿度的显示界面。显示流程图如图5.3所示:
N
图5.3液晶显示程序设计框图
5.4 报警程序设计
本设计采用蜂鸣器作为报警装置。每采集完一次温湿度值后进行一次设定值与所测值的比较,当环境的温湿度超过设置的环境值时系统控制蜂鸣器进行报警。报警程序设计的流程图如图5.4所示。
开始
初始化
温湿度值比较
N
温湿度超出
设定值?
Y
报警
图5.4报警程序设计框图
6 系统仿真
在Proteus的ISIS 7.1sp2软件环境下画出电路原理图,接下来就是将设计的程序在AVR Studio4开发集成环境上编译成机器语言,然后进入Proteus的ISIS,在Proteus中双击单片机,将Studio4下编程生成的*..HEX文件导入到Atmega16中,便可在Proteus中单击全速仿真运行按钮,进行现象的查看,能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平;如果现象不正确,则需分析修改程序,并检验原理图的正确性,直到仿真成功。
6.1 仿真图设计
本设计的全局仿真图如图6.1所示,包括主控制器Atmega16,4×4矩阵键盘,LGM12864液晶显示,SHT75温湿度传感器和蜂鸣器等五个主要部分。