室内温湿度检测_第1页
室内温湿度检测_第2页
室内温湿度检测_第3页
室内温湿度检测_第4页
室内温湿度检测_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,室内环境检测系统,2012年12月25日,设计思想: 本设计是利用AT89C52单片机实现温湿度自动检测与报警,温度范围在0至60之间,湿度测量范围在10%至95%,温度测量误差小于2%,湿度测量误差小于5%。随机显示所采集的温度,可以设定温度的范围,对周围环境的温湿度进行有效检测与报警。具体设计思想是:先利用键盘设定上限温度和下限温度,并可以切换温湿度显示。再利用YX-HT-300U温湿度传感器采集周围环境中的温湿度值,并将现场温湿度非线性信号转化为电信号进行调理使之满足A/D转换要求,然后驱动ADC0809来完成温湿度传感器输出的模拟信号到数字信号的转换。将采样值和设定值进行比较,如果超出了设定范围就进行蜂鸣器报警,如果高于最高温湿度或是低于最低温湿度,蜂鸣器开始报警。,设备的选择: 单片机:AT89C52 温湿度传感: YX-HT-300U 输出显示设备 :LED A/D转换设备:ADC0809,整体框图 :,系统硬件设计:,1、AT89C52单片机,AT89C52管脚图,2、AT89C52单片机与HD7279接口设计,HD7279是可编程的键盘和显示接口器件,键盘和显示器由HD7279管理,实现5按键和4显示器的功能。,HD7279管脚图,单片机与HD7279引脚的连接和相关的地址分配如下: (1) CS2:片选端,低电平有效,与P1.4相连; (2) CLK:串行时钟输入端,与P1.5相连; (3) DATA:串行数据输入/输出端,与P1.6相连; (4) KEY:按键有效信号端,与P1.7相连。,AT89C52与HD7279连接电路图,3、AT89C52单片机与X5045的接口设计,X5045是单片机系统电路的一个辅助芯片,它将复位,电压检测,看门狗定时器和块锁保护的串E2PROM功能集合成一个芯片内 。采用SPI串行外设接口方式,降低了系统成本并减少了对电路板空间的要求,提高了系统的可靠性。,X5045管脚图,单片机与X5045引脚的连接 (1)CS1:片选端,低电平有效,与P1.0相连; (2)SO:串行数据输出端,与P1.1相连; (3)CK:串行时钟输入端,与P1.2相连; (4)SI:串行数据输入端,与P1.3相连,AT89C52与X5045连接电路图,4、 AT89C52单片机与ADC0809的接口设计,A/D转换器是一种能把输入模拟电压变成与它成正比的数字量的器件,即能把被控对象的各种模拟信息转变成计算机可以识别的数字信息 。,ADC0809的引脚 IN0-IN7:8路模拟量输入通道 A,B,C:模拟通道地址线 ALE:地址锁存信号 START:A/D转换启动信号 D0-D7:数据输出线 OE:输出允许信号 CLOCK:时钟信号 EOC:转换结束状态信号 Vcc:+5V电源,GND:地 Vref:参考电压,ADC0809管脚图,AT89C52与ADC0809连接电路图,5、两路采集开关,由于要实现温湿度两个变量的数据采集,而在LED上只能显示一路不能同时显示,所以要有两路之间相互转换电路,单片机的P2.7引脚作为ADC0809的片选通信号。ADC0809的A引脚接单片机的P3.3脚,B和C引脚接地。用主机的P3.3脚控制采集通道,当P3.3为低电平时,采集通道0;当P3.3为高电平时,采集通道1。用P3.4控制LED显示。当P3.4控制LED显示。当P3.4为高电平时,显示湿度值;当P3.4为低电平时,显示温度值 。,6、热敏电阻补偿电路,该系统温度采集我们采用温湿度模块中的热敏电阻,模块中的热敏电阻为负温度系数的热敏电阻,由于传感器温度输出信号是阻抗,而ADC0809只能接受电压信号,因此要想办法将阻抗信号变为0-5V易于采集的标准信号。经过查阅相关资料解决办法是将传感器的阻抗输出端加上一个电阻,电阻另一端接地。将温度输出端接到ADC0809的IN1脚,取电阻两端电压作为单片机的输入。,7、报警单元,报警利用蜂鸣器,采样值高于报警上限或低于报警下限时,蜂鸣器发出蜂鸣声。,AT89C52与蜂鸣器连接,系统软件设计:,本设计采用单片机C52编程实现。程序由C语言编写。本程序主要分为以下几部分:A/D采集程序,LED显示程序,温湿度量化程序,平均值滤波程序,定时中断服务程序。,主程序流程图 :,下面就各部分程序模块设计进行了阐述,其中有中断程序模块设计,按键处理模块设计,设定键处理模块设计,左移键处理模块设计,增键处理模块设计,确认键处理模块设计,报警程序模块设计 。,1、中断程序模块设计,在中断中要完成对定时器的重新赋值,采样处理,按键处理,显示处理,报警处理。 (1)定时器重装:重新对定时器T0进行100ms的初值定义。 (2)采样:当一个时间片结束的时候,通过YX-HT-300U温湿度传感器所采集的信号通过A/D芯片的IN0和IN1口进行采样,并进行平均值滤波,最后将采样值送入AT89C52进行处理并由LED显示。,(3)键处理:对是否有按键进行判断,若有按键则根据键值进行相应的处理,否则返回。 (4)显示:对当前测量值或各个设定状态进行显示。(5)报警:提取采样值,与X5045内报警上下限进行比较,如超出范围调用报警程序,拉低蜂鸣器;否则返回。,2、按键处理模块设计,按键处理流程图,KEY-OK=0时表示有键按下;KEY-OK=1时表示无键按下。KB-FIG=0时表示按键未处理过;KB-FIG=1时表示按键已处理过。显示键的键码是08H,含义是每按下一次就显示一个测量参数值。设定键的键码是00H,含义是每按一下就显示一个设定参数值。增加键的键码是10H,含义是每按一下,处于闪烁状态的数码管值加1.当增加到9后,再循环到0,再重新增加。,3、设定键处理模块设计,当键值为00H时,为设定键。设定键处理中SET-STA包含3个状态,SET_STA=0时,显示采样值;SET_STA=1时,显示报警上限;SET_STA=2时,显示报警下限,4、报警程序模块设计,报警模块流程图,注:AH表示温湿度报警上限值;AL表示温湿度报警下限值。SP表示采样值,BJ_FLAGH=1与BJ_FLAGL=1表示报警,BJ_FLAGH=0与BJ_FLAGL=0表示未报警。,部分程序说明,A/D采集部分说明:,本次设计A/D采集程序采用查询方式,实现两路数据采集,设定每100ms通道0采集一次,每500ms通道1采集一次。在主程序中设定定时器,让定时器定时250us,再用软计时既在程序中和定义变量对其进行累加,达到定时100ms和500ms的目的。使用定时器0的中断方式2,方式2是8位的可自动重装载的定时器/计数器,慢计数值为256 。,LED显示部分说明 :,在主程序中设变量,给这个变量赋值,然后查段码表,送去显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论