1、室内环境实时监测系统的设计与制作 作者: 日期:2 个人收集整理 勿做商业用途室内环境实时监测系统的设计与制作摘要:随着人民生活的改善和提高,对于室内空气要求越来越高,本设计利用单片机STC89C52控制相关的传感器来检测室内的环境,实时检测室内的温度,湿度,以及有毒等气体检测,根据各个传感器的工作原理,设计相关的电路,通过单片机来采集相关的各个传感器的变化,并在液晶屏上显示各种状态,而且通过手动按键进行相关的操作,来进行设置相关的变量,超过设置界限时,进行声光报警,提示家人进行相关的操作处理。关键词:温湿度、烟雾、监测、52单片机第一章 绪论随着现代社会的节奏越来越快,同人们的生活的改善也越
2、来越高,对于室内的家具摆设,空气检测等要求越来越高。比如人们会需要一个适宜的温度,不是太热,不是太冷.同时,人们对室内空气的要求更显重要,比如男人抽烟会使得室内烟雾弥漫,使用液化气也按难免会有泄露,这些气体都是对人体有害的。因此,把握室内的环温度、湿度、空气质量的度,来进行妥善调节,从而避免由于这些环境因素的超标对人体健康造成的伤害就显的尤为重要。所以为了人们的身体健康,同时有个一个更好的环境,并且为了能够达到提前未卜先知的功能,利用所学的知识设计了本作品:一个微型的室内环境监测器。简单的实时监测室内的温度,湿度,以及烟雾的超标等,本设计利用STC89C52单片机作为监测器的控制中心即CPU,
3、用户它来控制相关的传感器。如温湿度传感器、烟雾传感器、液晶显示器等.以此来检测室内的环境。达到实时检测室内的温度,湿度,以及有毒气体的目的。使用者可以对监测系统进行相关的设置,限定温度、湿度、烟雾等环境因素的临界值.一旦某项指标超过所限定的临界值,这个系统可以自动的提醒家人进行相关的调节动作。例如,当温度高了,通过相关提示打开风扇、空调等。当湿度低了,通过相关提示喷洒水雾增加湿度.当有毒气体增多了,提示家人开窗通风并迅速关闭气体来源等。这样,系统在家人还没有发现危险到来之前就能够进行相关的提示操作,避免一定的危险事故的发生,从而达到监测报警实现未卜先知的目的。个人收集整理,勿做商业用途本文为互
4、联网收集,请勿用作商业用途第二章 总体系统设计 2.1 设计原理 本设计的思路是根据单片机的工作原理,利用各个传感器的特性,设计相关的电路,用单片机来采集相关的各个变量,结合时钟芯片在液晶屏上实时的显示各种状态,并且通过按键进行相关的设置,超过设置界限时,进行声光报警. 2。2 设计方案方案1:采用STC89C52单片机作为控制核心,直接利用温湿度传感器采集温度和湿度,利用烟雾传感器来监测烟雾的危害程序,经过处理后直接传给单片机,单片机综合分析以后,送到LCD12864上显示,并且单片机结合时钟实时的显示状态,通过独立键盘来设置和调整时间,真题电路设计简单,具体模块框图如下:单片机控制系统液晶
5、显示电路温湿度传感器独立键盘报警控制模块电源模块烟雾检测电路实时时钟电路方案2:我们采用ARM7处理器作为系统的控制核心,利用温度传感器和湿度传感器来分别采集温度和湿度,经过高精度AD转换器,编程数字信号后传送给ARM处理并用TFT彩屏显示出来,并添加专门各种气体检测传感器来检测室内气体的密度等,同时我们加上高精度时钟芯片DS12C887来实时显示时间,便于实时检测,对于控制我们用矩阵键盘来输入信号,方便处理,不用不断的按键盘。同时通过485串口把数据传给计算机来分析.具体框图如下:ARM处理器温湿度传感器AD转换模块时钟芯片矩阵键盘液晶显示电路报警控制电路电源模块485通信接口各种气体传感器
6、方案比较:方案1电路设计比较简单,对温度湿度要求不是很高的情况下,基本满足要求,而且可以实时显示,设置简单,软件调试比较简单,用在家庭中不但节约成本,而且操作方便,而方案2中我们选用ARM处理器,利用各种测量范围宽的温湿度传感器和高精度的气体传感器来检测室内的状态,这套方案对于要求比较高的场合比较用,特别是在工业场合上来检测室内的状态,并送到计算机进行分析,用在家庭中成本昂贵,综合比较方案1电路简单,测试范围满足要求,而方案2测试范围大,调试复杂,虽然精度高等优点,但是方案1更具有性价比和推广性,最后我们经过综合比较我们选用方案1。第三章 元件选型与电路设计3。1 单片机最小系统3。1。1ST
7、C89C52型单片机简介 STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机.该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。其总控制电路如图31:图3-13。1。2 STC89C52引脚功能介绍 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20)
8、:片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令.可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0。0P0.7P1口(Pin1Pin8):8位准双向I/
9、O口线,名称为P1。0P1。7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2。0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3。0P3.7根据原理我们制作了如下电路,单片机接线如下:STC89C52主要功能如表1所示。表1: STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率024MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3。1。3系
10、统的引脚接线根据其系统工作原理设计出如图3-2所示的引脚接线:图32根据52单片机的特点,我们采用12M晶振给单片机提供时钟信号,两个各加一个30pf的电容来稳定型号,由于52单片机是采用低电平复位,我们又在其旁边加了一个按键,便于手动复位,电路连接如图33:图3-33.2时钟电路3.2。1DS1302简介DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2。5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个3
11、18的用于临时性存放数据的RAM寄存器.DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力. 3.2。2 DS1302引脚功能介绍DS1302的引脚功能图如图3-4所示:图3-4DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行.DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32。768kHz晶振。RST是复位/
12、片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作.如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2。0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端. 3.2.3DS1302工作原理操作时序DS1302工作时为了对任何数据传送进行初始化,需要将复
13、位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式.此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。日
14、历、时间寄存器及控制字如表2所示:表2:日历、时钟寄存器与控制字对照表寄存器名称765432101RAM/CKA4A3A2A1A0RD/W秒寄存器1000000分寄存器1000001小时寄存器1000010日寄存器1000011月寄存器1000100星期寄存器1000101年寄存器1000110写保护寄存器1000111慢充电寄存器1001000时钟突发寄存器1011111最后一位RD/W,为“0时表示写操作进行,为“1”时表示读操作.DS1302内部寄存器列表如表3所示:表3:DS14302内部主要寄存器分布表寄存器名称命令字取值范围各位内容写读76543210秒寄存器80H81H00-59
15、CH10SECSEC分寄存器82H83H0059010MINMIN小时寄存器84H85H01-12或00-2312/240AHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH010700000DAY年份寄存器8CH8DH009910YEARYEARDS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(
16、写)、FFH(读)单片机是通过简单的同步串行通讯与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令帧,这个帧的格式如表1所示,最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在DS1302的内部地址,最后一个BIT表示这次操作是读操作抑或是写操作.物理上,DS1302的通讯接口由3个口线组成,即*RST,SCLK,I/O。其中*RST从低电平变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。具体的读写时序参考图35:但是请注意,无论是哪种同步通讯类型的串行接口,都
17、是对时钟信号敏感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿(DS1302正是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时SCLK保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。图3-5根据其电路特点我们设计电路图如图3-6:图363.3 显示电路3。3.1 LCD12864简介带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192
18、个1616点汉字,和128个168点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。3.3.2接口时序操作3.3。3外围电路连接我用P0口来给控制数据及命令传输,因为PO口没有接上拉,我们在外围电路上接4.千欧的上拉电阻,提高推拉电流的能力。电路如图37:图3-73。4温湿度传感器在这里我选用DHT11数字温湿度传感器
19、DHT11数字温湿度传感器,十一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,具有很高的可靠性与稳定性。DHT11数字温湿度传感器包括一个电阻式感湿原件和一个NTC测温元件,并与一个高性能8位单片机相连接。单线制串行接口,使系统连接可以更简洁。功耗极低,信号传输距离可达20m以上。作为一种新型的单总线数字温湿度传感器,DHT11具有体积小功耗低响应速度快抗干扰能力强控制简单性价比高等优点,能够广泛应用于各个领域,其基本指标如下:全量程标定校准,单线数字输出;温度测量范围050;湿度测量范围20-90RH;温度测量精度+-1;湿度测量精度+-5%RH;
20、低功耗;超长的信号传输距离;出色的长期稳定性:DHT11采用4针单排引脚封装,电路连接方便,引脚说明如表4所示:表 4:DATA是用于未处理器与DHT11之间的通信和同步的串行双向接口,采用单总线数据格式。每次通信都是以高位先出的顺序传输40为数据,永世约4ms数据格式为:8位温度整数数据+8位校验和数据+8位湿度整数数据+8位温度小数数据+8位校验和数据数据分小数部分和整数部分,当前小数部分用于以后扩展,现读出为零。数据传送正确时,校验和数据等于“8位温度整数数据+8位温度小数数据”所得结果的末8位。其典型应用电路如图3-8:图3-8根据其结构特点我们设计了电路图39:图3-93.5烟雾检测
21、电路这里我选用MQ-2/MQ2S气体传感器MQ2/MQ2S气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2/MQ-2S气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。其结构和外形如图3-10:图310根据它的工作特点我们设计了电路图311:图3113。6键盘控制电路键盘是若干按键的集合,是向系统提供操作人员干预命令及
22、数据的接口设备.键盘可分为编码键盘和非编码键盘两种类型。编码键盘能自动识别按下的键并产生相应代码,以并行或串行方式发给CPU。它使用方便,接口简单,响应速度快,但需要专用的硬件电路。非编码键盘则是通过软件来确定按键并计算键值.这种方法虽然没有编码键盘速度快,但它不需要专用的硬件支持,因此得到了广泛的应用.键盘是控制应用系统中的一个重要组成部分,设计时必须解决下述一些问题。按键的确认,重键与连击的处理,按键防抖动技术等.我们在在系统中用电路图312,相应的处理在软件中实现。图3-123.7状态指示电路其具体电路如图313:图3133.8电源模块电路 在系统中需要5V的单片机供电,供电我们之间用了
23、稳压模块LM780用来提供相应的电压5V,电路图如图3-14:图3-143。9模块总电路将上面所设计的单片机模块、时钟电路模块、温湿度传感器模块、烟雾传感器模块、液晶显示器模块以及键盘模块的电路正确的连接起来,得到如图315所示的系统总电路图:第四章 系统工作流程4.1 工作过程 单片机上电以后,系统开始初始化,完毕后,开始进入主循环,首先进行键盘检测,是否有键按下,若有键按下,判断按键状态是否设置那一部分,若是设置时间,则调用设置时间子函数,若是温度上下限,则调用设置温度上下限函数。设置完毕以后,返回主循环。然后调用DS1302子函数,读取时间,经过单片机处理以后,存放在时间缓冲区中,接着读
24、取温湿度传感器数据,进行相关处理,转化为具体温度,存储在缓冲区中。同时判断温度是否超过设置的温度上下限,若是超过上限温度,蜂鸣器开始报警,同时上限指示灯开始闪烁,控制继电器做出供应的动作。若是低于下限温度,下限指示灯开始闪烁,同时蜂鸣器报警,指示相关工作,继电器开始相关工作。若是在正常工作范围内,正常指示灯发光指示正常状态。4.2 系统流程图4.2.1 主流程图主流程图如图3-16上电工作程序初始化键盘检测读取时间,处理转换采集温度,处理转换设置判断断电停止指示工作状态键盘处理函数液晶显示报警及控制是否是否图3-16根据图3-16编写出对应的系统工作的主程序4。2.2 键盘检测子程序设计出如图3-17所示的键盘子程序流程:按键确定小时设置分钟设置秒设置温度上限设置温度下限设置时调整分钟调整秒调整上限调整下限调整存入存储芯片完毕返回时间写入寄存器湿度上限设置湿度下限设置湿度上限调整湿度下限调整5 总结参考文献12 3 45 6