基于单片机的温湿度监测系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的温湿度监测系统设计

***

1设计目的

随着科学技术的日新月异,在居家生活、工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境中的湿度和温度进行测量及控制。但目前我国的温湿度测量和设备的操作大多还是由人工来完成,当温度极端时不利于测量的实施。本设计是以单片机控制为核心,用温湿度传感器来进行实时测量的智能型温湿度监测系统,该设计将大大降低工人的劳动强度,且本设计课题做成的温湿度监测系统结构简单、价格便宜、量程宽、带报警功能,具有较高的可靠性、安全性及应用前景。

2 设计的主要内容和要求

本基于单片机的温湿度监测系统设计,主要用来完成对所测环境的温湿度测量,显示,以及在超出设定环境值时能执行报警功能。

主要设计内容:

①设计一个温湿度采集电路。

②设计一个温湿度液晶显示电路。

③设计一个矩阵键盘输入电路。

④设计一个报警器电路。

主要功能要求:能准确实时的显示温湿度,能通过键盘预置温湿度的上限值和下限值,并在所测环境值超出此范围时发出警报。

3 整体设计方案

本设计的基本设计方案:首先单片机从温湿度传感器采集温湿度信息,然后将采集来的数据转换成液晶显示所需的实际数据,再通过液晶将温湿度以及露点显示出来。并可预先设置一个温湿度范围值,当环境超过该值时发出报警提醒。总体设计方框图如图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%RH 范围内能达到±1.8%的高精度,温度能再25℃时把误差控制在±0.3℃的范围内。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 报警电路

当温湿度超出所设定的范围时系统产生报警提醒,这里采用蜂鸣器来实现。蜂鸣器的一端接地,一端与单片机的PD7口相接,其电路图如图4.5所示。

图4.5报警电路

5 软件设计

本设计软件部分均采用C语言编写,并采用模块化设计来完成整个系统功能的设计。首先采集温湿度数据,再由液晶显示温湿度,如果需要设置报警温湿度范围,则由键盘进行输入设置,在温湿度超出设定值时控制报警。总的设计框图如图5.0所示。

图5.0程序设计框图

5.1 温湿度采集程序设计

温湿度采集程序主要完成:单片机从SHT75采集温湿值,并通过换算公式计算出实际温湿度值,再通过温湿度值计算出露点值。流程图如图5.1所示。

图5.1温湿度采集程序图

5.2 键盘输入程序设计

本设计通过按键扫描来判断是否进行温湿度报警值设置,当按下KeyD 时为温湿度的上限值设置,当按下KeyE时为温湿度的下限值设置,KeyF为设置完成键。在未进入设置状态时,除KeyD 、KeyE以外其余键为无效键;在进入设置状态后将等待温湿度值的设置,由Key0-Key9来完成温湿度值设定。当输入完设定的温湿度值后液晶可自动跳到温湿度的显示界面。键盘输入程序流程图如图

5.2所示。

图5.2键盘输入程序设计

5.3 液晶显示程序设计

本设计采用LGM12864来做显示界面,可显示4行,每行8个汉字或16个字符。开启监控后液晶将实时显示温湿度以及露点。当按下设置键后,液晶将进入设置界面并反白显示此时所设置的对象,如设置温湿度上限值时,上限二字将反白显示,并将设置的值也反白显示出来,设置完成后跳到温湿度的显示界面。显

示流程图如图5.3所示:

N

图5.3液晶显示程序设计框图

5.4 报警程序设计

本设计采用蜂鸣器作为报警装置。

每采集完一次温湿度值后进行一次设定值

与所测值的比较,当环境的温湿度超过设置的环境值时系统控制蜂鸣器进行报警。报警程序设计的流程图如图5.4所示。

N

图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温湿度传感器和蜂鸣器等五个主要部分。

图6.1温湿度监测系统仿真图

6.2 仿真验证

向Atmega16导入编程生成的HEX文件后,首先按下开始按钮让系统开始工作,此后12864液晶将立刻显示出所测的温湿度值。如图6.21所示为环境温度,如图6.22所示为系统所测温度和显示界面。

相关文档
最新文档