毕业设计(论文)-基于单片机的室内多功能检测系统系统设计.doc_第1页
毕业设计(论文)-基于单片机的室内多功能检测系统系统设计.doc_第2页
毕业设计(论文)-基于单片机的室内多功能检测系统系统设计.doc_第3页
毕业设计(论文)-基于单片机的室内多功能检测系统系统设计.doc_第4页
毕业设计(论文)-基于单片机的室内多功能检测系统系统设计.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的室内多功能检测系统系统设计 基于单片机的室内多功能检测系统设计摘要随着我国经济的发展,人民生活水平的提高,人们对环境问题及健康问题日益重视,室内空气品质(IAQ)状况受到越来越多的关;人的一生中有三分之二的时间是在居室内度过的。本文研究的室内便携式智能空气品质监测仪是以室内空气中有毒有害气体的监测监控为背景,是以ATMEL工公司的一款8位超低功耗单片机AT89S52为控制核心,一个51单片机的实时操作系统RTX51tiny将被应用到本系统中,使得本系统实时性更高,性能更可靠;该系统能够实现对室内温湿度、甲醛、CO和甲烷的实时采集处理、显示及相应的报警等功能。仪器采用锂电池供电,具有良好的便携性和通用性,并且使用LCD1602点阵式液晶屏显示菜单,有良好的人机对话界面;同时设计了声光报警系统,实现在参数超标时及时的报警。室内智能空气品质监测仪体积小,功耗低,操作简单,适合应用于家庭和社区的医疗健康保健,能够实时知道室内空气的质量;本设计选用数字化温湿度传感器DTH11对室内温湿度测量,CO和甲烷传感器采用定电位电解式气体传感器所需要的气体进行测量;用单片机控制模拟开关达到对 CO、甲烷及甲醛的交替测量与报警。关键词:室内环空气质量; 温湿度; 数字显示; 安全; 报警Multifunctional Microcontroller-based indoor-detection system designAbstractWith the development of our national economy and improvement of peoples living standard, awareness of environmental issues and indoor air quality (IAQ) conditions paid more attention to. Two-thirds of peoples life time is spent in the living room. In this paper, Indoor Air Quality Portable Intelligent Monitor is on the background of toxic and an ATMEL 8-bit working ultra-low power MCU AT89S52 as control core and a RTOS called RTXtiny51 which can maintain the reliability and the instantaneity of the system will be used into the design.The system can realize real-time acquisition and processing, display ,alarm and other functions of indoor temperature, to display menu, and , simple operation, and is suitable for family and community order to know real-time acquisition of indoor air quality.This design uses digital temperature and by using constant potential electrolysis gas sensors, and uses monolithic processor to control analog switch to measure CO,CH4 and formaldehyde alternately and give alarm.Key words: IAQ, temperature and Alarm!”。3.2 传感器的选用3.2.1 气体传感器气体传感器基础知识:按照气敏特性来分,气体传感器主要分为:半导体型、电化学型、固体电解质型、接触燃烧型、光化学型等气体传感器,又以前两种最为普遍。 (1)半导体型气体传感器的优缺点半导体气体传感器具有成本低廉、制造简单、灵敏度高、响应速度快、寿命长、对湿度敏感低和电路简单等优点。不足之处是必须在高温下工作、对气体或气味的选择性差、元件参数分散、稳定性不理想、功率高等方面。(2)半导体传感器需要加热的原因半导体传感器是利用一种金属氧化物薄膜制成的阻抗器件,其电阻随着气体含量不同而变化;气体分子在薄膜表面进行还原反应以引起传感器电导率的变化。为了消除气体分子达到初始状态就必须发生一次氧化反应;传感器内的加热器可以加速氧化过程,这也是为什么有些低端传感器总是不稳定,其原因就是没有加热或加热电压过低导致温度太低反应不充分;(3)电化学气体传感器的工作原理电化学气体传感器是通过监测电流来监测气体的浓度,分为不需供电的原电池式以及需要供电的可控电位电解式,目前可以监测许多有毒气体和氧气,后者还能监测血液中的氧浓度;电化学传感器的主要优点是气体的高灵敏度以及良好的选择性;不足之处是有寿命的限制一般为两年;(4)半导体传感器和电化学传感器的区别半导体传感器因其简单低价已经得到广泛应用,但是又因为它的选择性差和稳定性不理想目前还只是在民用级别使用;而电化学传感器因其良好的选择性和高灵敏度被广泛应用在几乎所有工业场合;(5)固态电解质气体传感器顾名思义,固态电解质就是以固体离子导电为电解质的化学电池。它介于半导体和电化学之间;选择性,灵敏度高于半导体而寿命又长于电化学,所以也得到了很多的应用,不足之处就是响应时间过长;(6)接触燃烧式气体传感器接触燃烧式气体传感器只能测量可燃气体;又分为直接接触燃烧式和催化接触燃烧式,原理是气敏材料在通电状态下,可燃气体在表面或者在催化剂作用下燃烧,由于燃烧使气敏材料温度升高从而电阻发生变化;后者因为催化剂的关系具有广普特性应用更广。(7)光学式气体传感器光学式气体传感器主要包括红外吸收型、光谱吸收型、荧光型等等,主要以红外吸收型为主;由于不同气体对红外波吸收程度不同,通过测量红外吸收波长来监测气体;目前因为它的结构关系一般造价颇高;基于本文的实时要求和性价比等方面的原因,本系统选用电化学传感器中的定电位电解式气体传感器3。3.2.2 气体传感器采样方法选择气体的采样方法直接影响传感器的响应时间。目前,气体的采样方式主要有两种:通过简单扩散法,或是将气体吸入检测器。简单扩散是利用气体自然向四处传播的特性。目标气体穿过探头内的传感器,产生一个正比于气体体积分数的信号。气体吸入式探头通常用于采样位置接近处理仪器或排气管道;这种技术可以为传感器提供一种速度可控的稳定气流,在气流大小和流速经常变化的情况下,这种方法较值得推荐9。由于本仪器主要目的是测量日常生活中房屋内气体平均浓度,所以采用的第一种简单扩散法,并且这种方法可以节约成本3.2.3 CO、甲烷传感器本课题的CO、甲烷传感器选用汇诚科技的MQ-2数字传感器模块;下面将对MQ系列传感器进行介绍。3.2.3.1 MQ系列气体传感器的工作原理MQ系列气体传感器的敏感材料是活性很高的金属氧化物半导体,最常用的如SnO2。金属氧化物半导体在空气中被加热到一定温度时,氧原子被吸附在带负电荷的半导体表面,半导体表面的电子会被转移到吸附氧上,氧原子就变成了氧负离子,同时在半导体表面形成一个正的空间电荷层,导致表面势垒升高,从而阻碍电子流动(见图3.2.30)。在敏感材料内部,自由电子必须穿过金属氧化物半导体微晶粒的结合部位(晶界)才能形成电流。由氧吸附产生的势垒同样存在于晶界而阻碍电子的自由流动,传感器的电阻即缘于这种势垒。在工作条件下当传感器遇到还原性气体时,氧负离子因与还原性气体发生氧化还原反应而导致其表面浓度降低,势垒随之降低(图3.2.31和图3.2.32)。导致传感器的阻值减小13。 图3.2.30晶粒间势垒模型(洁净空气) 图3.2.31 CO和SnOx-2上吸附氧之间的反应图解图3.2.32 晶粒间势垒模型(还原性气体出现时)在给定的工作条件下和适当的气体浓度范围内,传感器的电阻值和还原性气度浓度之间的关系可近似由下式(3-2-1)所表示: (3-2-1)其中:Rs:传感器电阻A:常数C:气体浓度:Rs曲线的斜率3.2.3.2 MQ气体传感器的特性(1)氧气分压的影响:图3.2.34所示为大气中氧分压(PO2)和MQ气体传感器在清洁空气中阻值之间的典型关系。图3.2.34 氧气分压的典型影响(2)气敏特性:根据前述方程,在某一气体浓度范围内(从几十ppm至几千ppm),在工作条件下,传感器的电阻同气体浓度呈对数线性关系。如图3.2.35所示。传感器对多种还原气体具有敏感性,对指定气体的相对灵敏度,取决于敏感材料的构成及其工作温度。如图3.2.35 典型的敏感特性实际上,每个传感器的电阻值和相对灵敏度都不完全相同,图5中描述的敏感特性为传感器在不同气体浓度下的阻值(Rs)与待检测气体的一定浓度下的阻值(R0)的比值与浓度的对数关系。(3)传感器响应特性:在工作条件下传感器先被放入还原性气体中,其电阻急剧下降,待其稳定后,再将其置入洁净空气中,传感器的电阻经过很短的时间即恢复到它的初始值。这个过程中传感器典型的动作如图3.2.36所示。传感器的响应速度和恢复速度与传感器型号、材料种类及所测气体的种类相关。图3.2.36 典型的传感器响应恢复(4)初始动作:如图3.2.37所示,当传感器不通电存放后,再在空气中通电,无论是否存在还原性气体,传感器通电后的最初几秒钟,其阻值都会(Rs)急剧下降,然后逐渐达到一个平稳的水平,即为传感器的初始动作。初始动作时间的长短取决于传感器储存期间的气氛条件、储存时间长短,并因传感器型号而异,也与通电后传感器周围的氛围有关。通电后传感器的初始动作会引起报警,因此在设计电路时要予以充分考虑。图3.2.37 典型的初始动作(5)温、湿度影响:MQ传感器的检测原理是基于气体在传感器表面的化学吸附、反应与脱附。环境温度的变化会改变化学反应速度,从而影响传感器的敏感特性。此外,水蒸气会吸附在传感器表面,湿度将会引起Rs的降低。如图3.2.38所示。精确使用MQ传感器时应考虑温、湿度的影响。 如图3.2.38 典型的温湿度影响(6)长期稳定性:MQ系列传感器的长期稳定性典型数据如图3.2.39所示。通常情况下,MQ传感器表现出稳定的经时特性,适用于免维护应用的场合。图3.2.39 典型的长期稳定性(7)加热器电压的影响:在设计传感器的加热器时,充分考虑了在给定的恒定加热电压下,气体传感器表现出最佳的敏感特性。灵敏度随加热电压的变化如图3.2.40所示。对于加热电压对传感器性能的影响,使用时应充分考虑。图3.2.40 典型的加热电压影响3.2.3.3 MQ-2传感器模块简要说明:(1)尺寸:32mm X22mm X27mm 长X宽X高(2)主要芯片:LM393、ZYMQ-2气体传感器(3)工作电压:直流5伏(3)特点:具有信号输出指示;双路信号输出(模拟量输出及TTL电平输出TTL输出有效信号为低电平(当输出低电平时信号灯亮,可直接接单片机); 模拟量输出05V电压,浓度越高电压越高;对液化气,天然气,城市煤气有较好的灵敏度;具有长期的使用寿命和可靠的稳定性;快速的响应恢复特性;(5)应用:适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。MQ-2模块实物图及电路连接图分别如图3.2.41、3.2.42所示图3.2.41 MQ-2模块实物图图3.2.42 MQ-2模块接口电路3.2.4甲醛常识及甲醛传感器接口模块的设计3.2.4.1 甲醛传感器接口模块本课题的甲醛传感器接口模块由CH20S-10甲醛传感器、IV转换器RCV420等组成。甲醛传感器由甲醛探头和CH2O 传感器构成。当室内甲醛气体被内部采样系统吸收后,产生与甲醛浓度成正比的电流值,由于单片机AD采样的是电压值,而被检测的是微量的电流值;因而需要将电流值放大并转换为相应的电压值。CH20S- 10 的相关参数如下:电化学工作原理; 量程: 0- 10PPM; 最大过载浓度: 50PPM;最小分辨率: 0.05PPM; 工作寿命: 3 年; 灵敏度:1200300nAppm, 420MA 甲醛模块; 工作温度: -2045, 响应时间(T90): 50s。本设计采用集成IV转换器RCV420,将电流值转换为对应的05V电压,再将转换后的电压送至 AD转换芯片TLC549转换成单片机能处理的数字信号,实现对浓度信号的检测。单片机进行运算和处理,将处理结果及范围进行查表和分段线性化,完成传感器信号与浓度高低对应。系统中RCV420 具有精密运放和电阻网络功能,能将4 20m A 环路电流转换为0 5V 电压, 在无外部调整的情况下,可用获得86dB的共模抑制比,具有高性能及抗干扰能力;具体的RCV420及TCL549会在下面详细介绍;下面的图3.2.43是甲醛模块接口电路图:图3.2.43 甲醛模块接口电路图3.2.4.2 IV转换电路的芯片选择在甲醛的测量模块里,当空气被内部的采样系统吸收后, 将产生的电流信号与之相连产生一个与甲醛浓度成正比的电流, 该电流经过 420MA 甲醛模块的信号调理,与IU变换器RCV420芯片转换成 05V 的电压。RCV420是美国RURRBROWN公司生产的精密电流环接收器芯片,用于将4-20mA输入信号转换成为0-5V输出信号,具有很高的性能价格比。它包含一个高级运算放大器、一个片内精密电阻网络和一个精密10V电压基准。其总转换精度为0.1,共模抑制比CMR达86dB,共模输入范围达40V。RCV420在满量程时的电压下降仅为1.5V,在环路中串有其他仪表负载,或者在对变送器电压有严格限制的应用场合非常有用。10V电压基准提供了一个典型温漂为5ppm的精密10V输出。RCV420无需其它外围器件辅助,就能实现诸多功能。增益、偏置和CMR无需调节,较之由分立器件设计的印制板电路,RCV420具有更低的开发成本、制造成本和现场维护费用。3.2.4.3 RCV420 的相关参数及工作原理引脚排列和引脚功能RCV420的引脚排列和功能分别见图3.30和表3.1 。表3.1 RCV420引脚功能引脚符号功能1-In负输入端2CT输入中心抽头3+In正输入端4V-负电源5Ref Com基准公共端6NC空端7Ref Noise Reduction基准降噪端8Ref Trim基准调整端9NC空端10Ref fB基准反馈端11Ref OUT基准输出端12Ref in基准输入端13Rev com接收公共端14Rev OUT接收输出端15 Rev fB接收反馈端16V+正电源图3.30 RCV420引脚排列(1)RCV420工作原理:图3.31 是RCV420的功能框图。当420mA电流输入对应05V电压输出时,要求电路的传输阻抗为:VOUTIIN=5V16mA=0.3125VmA为了得到期望的输出(4mA时0V,20mA时5V),放大器的输出必须有一个偏置:VOS=4mA(0.3125VmA)=1.25V输入电流信号接至+IN端还是接至IN端取决与信号的极性,并经过中心抽头CT返回地端。两个匹配的75检测电阻Rs构成对称输入,可最程度地抑制CT脚的共模电压信号,消除不同输入端电流在差分电压转换时的不均衡。检测电阻将输入的电流信号经差分放大器放大,转换成一个与之成正比的电压。位于放大器反馈通道中的T型网络节点用于产生所需要的1.25V偏置电压。输入电阻网络提供了很高的输入阻抗,并将共模输入电压衰减至运算放大器的共模信号容限内。图3.31 RCV420的功能框图(2)使用注意事项:电源和信号的连接图3.32所示是RCV420电源和信号的正确接法。正负电源脚各接一个1F的退耦电容,并尽能地靠近放大器。为避免由外部电路引入的增益和CMR误差,应按图示方法接地,并确保最小接地电阻。输入信号视其极性或接至+IN脚,或接至IN脚,经中心抽头CT脚返回地端。电压基准的输出Ref OUT脚应接至Ref IN,以产生电平偏置。Ref IN脚不用时必须接地,以维持高共模抑制。 增益调节图3.33所示是RCV420的增益调节电路。在运放的反馈通道插入一个小电阻R1,可以增大增益。采用此方法增大增益将导致CMR下降,因此,增益调节应尽可能的小,以满足前期的设置。例如,用一个125电阻可使增益增大1%,但CMR将下降约6dB。在检测电阻上并联匹配电阻RX,可以减小增益。增益值由下式表示:VOUTIIN=0.315RX(RX+RS)并联7.5k电阻可使增益减小1%。为了维持高共模抑制,并联电阻的匹配很重要。并联电阻的温度参数的任何不一致,都将引起增益误差和CMR的漂移。图3.32 RCV420电源和信号的正确接法图3.33 RCV420的增益调节电路偏置调零有两个方法可对RCV420的输出偏置电压进行调零。一是用片内10V基准作电平移动,对电压基准的输出进行调整。二是采用图3.34 电路,在Rcv Com脚外接低输出阻抗运放,这种方法可对输出偏置电压进行较大范围地调节。采用这个办法调零,Ref IN脚必须与Rcv Com脚相连,且要求Rcv Com脚对地端为低阻抗,以维持高共模抑制图3.34 偏置调零应用电路如图3.35所示:图3.35 RCV420的020mA转换05V的应用电路图3.2.4.4 模数转换电路的设计气体传感器出来的信号是模拟信号,而微处理器AT89S52只能处理数字信号,故需要对模拟信号信号进行转换,将其转换为处理器能识别的数字信号,由于经过放大电路出来的模拟电压变化范围在05V本设计选择TLC549进行模数转换;TLC549是 TI公司生产的一种低价位、高性能的8位 AD转换器,它以8位开关电容逐次逼近的方法实现 AD转换,其转换速度小于 17us,最大转换速率为 40000HZ,4MHZ典型内部系统时钟,电源为 3V至 6V。它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统;其电路连接图如图3.40所示:图3.40 TLC549的电路连接图TLC549 引脚图及各引脚功能:REF+:正基准电压输入 2.5VREF+Vcc+0.1。REF:负基准电压输入端,-0.1VREF-2.5V。且要求:(REF+)(REF-) 1V。VCC:系统电源3VVcc6V。GND:接地端。CS:芯片选择输入端,要求输入高电平 VIN2V,输入低电平 VIN0.8V。DATA OUT:转换结果数据串行输出端,与 TTL 电平兼容,输出时高位在前,低位在后。ANALOGIN:模拟信号输入端,0ANALOGINVcc,当 ANALOGINREF+电压时,转换结果为全“1”(0FFH),ANALOGINREF-电压时,转换结果为全“0”(00H)。 IO CLOCK:外接输入输出时钟输入端,同于同步芯片的输入输出操作,无需与芯片内部系统时钟同步。图3.41是TLC549的引脚图:图3.41 TLC549的引脚图TLC549工作时序:当CS变为低电平后, TLC549芯片被选中, 同时前次转换结果的最高有效位MSB (A7)自 DATA OUT 端输出,接着要求自 IO CLOCK端输入8个外部时钟信号,前7个 IO CLOCK信号的作用,是配合 TLC549 输出前次转换结果的 A6-A0 位,并为本次转换做准备:在第4个 IO CLOCK 信号由高至低的跳变之后,片内采样保持电路对输入模拟量采样开始,第8个 IO CLOCK 信号的下降沿使片内采样保持电路进入保持状态并启动 AD开始转换。转换时间为 36 个系统时钟周期,最大为 17us。直到 AD转换完成前的这段时间内,TLC549 的控制逻辑要求:或者CS保持高电平,或者 IO CLOCK 时钟端保持36个系统时钟周期的低电平。由此可见,在自 TLC549的 IO CLOCK 端输入8个外部时钟信号期间需要完成以下工作:读入前次AD转换结果;对本次转换的输入模拟信号采样并保持;启动本次 AD转换开始。图3.42是TLC549的工作时序图图3.42是TLC549的工作时序图3.2.5 温湿传感器温湿度传感器是指能将温度量和湿度量转换成容易被测量处理的电信号的设备或装置。温湿度传感器一般是测量温度量和相对湿度量。本设计选用数字温湿度传感器DHT11;DHT11简介(1) DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。 (2)DHT11的接口电路及通讯过程 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。 DHT11的典型应用电路如图3.2.51:图3.2.51 DHT11典型应用电路DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下: 一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据 +8bi温度整数数据+8bit温度小数数据 +8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。 用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。通讯过程如图3.2.52所示图3.2.52 DHT11的通讯时序图总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高,如图3.2.53:图3.2.53 DHT11启动时序图总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式分别见图3.2.54和3.3.55;如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。图3.2.54 DHT11数字0信号表示方法图3.2.55 DHT11数字1信号表示方法图3.2.56是本设计中DHT11的接口电路:图3.2.56 DHT11的接口电路3.3 AT89S52单片机简介 随着计算机技术的发展,单片机因具有集成度高、体积小、速度快、价格低等特点而在许多领域如过程控制、数据采集、机电一体化、智能化仪表、家用电器以及网络技术等方面得到广泛应用,从而使这些领域的技术水平、自动化程度大大提高。根据上述几方面及本课题的实际情况,单片机型号的选择主要从以下两点考虑:一是要有较强的抗干扰能力。由于一般室内电子电器产品比较多,这对单片机的干扰较大,所以应采用抗干扰性能较好的单片机机型。二是要有较高的性价比。由于MCS-51系列在我国使用最广且该系列的资料和能够兼容的外围芯片也比较多,特别是ATMEL公司2003年推出的新一代89S系列单片机,故本文采用ATMEL公司生产的AT89S52单片机作为本系统控制单元的核心部件。AT89S52单片机是AT89S系列单片机中的一种,图2是一般常用的双列直插式,它是在现己广泛应用于工业控制等各领域的AT89C52系列单片机的换代产品。因此它具有89C52的全部功能: AT89S52新增加的功能由特殊功能寄存器完成。AT89S52最小系统如图3.31所示:图3.31 单片机最小系统AT89S52单片机有以下特点:兼容MCS51微控制器;8K字节FLASH存贮器支持在系统编程ISP1000次擦写周期,256字节片内RAM,工作电压4.0V到5.5V,全静态时钟0Hz到33MHz,三级程序加密,32个可编程IO口,3个16位定时计数器,8个中断源,完全的双工UART串行口,低功耗支持Idle和Power-down模式,Power-down模式支持中断唤醒,看门狗定时器,双数据指针,上电复位标志。此外,AT89S52和AT89C系列单片机相比新增加了许多功能,这将使单片机在工作过程中具备更高的稳定性和电磁抗干扰性。首先,AT89S52支持ISP在线编程,这使生产及维护更为方便。其次,AT89S52内部增加了片内看门狗定时器,这将有利于坚固用户应用系统,提高系统可靠性。最后,AT89S52运行速度更高,最高晶振可达到33MHZ。正因为AT89S52单片机增加了高可靠性、安全性的功能,所以能避免因外部芯片扩展过多或传感器输入信号过多而引起的信号失真、电磁干扰等现象的发生。因此,用它作为室内空气品质监测控制完全可以满足实时监测、报警等要求。而且,从经济性的角度来看,AT89S52不但硬件结构简单,而且价格低、功能好、性价比高,符合我国工业设计制造的要求。设计中采用AT89S52单片机作为本系统控制单元的核心部并采用两片74HC595来进行串转并从而驱动8个LED灯和LCD1602,这样能节省一部分IO口。硬件连接图如图3.32所示,其中用89S52的P0口控制两片74HC595,P1口做键盘接口,P2口和P3作为功能接口。图3.32 74HC595与AT89S52的硬件连接图3.4 电源电路设计电源电路如图3.41所示:图3.41 系统电源电路电源电路中采用LM7805稳压芯片;用lm78lm79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的lm78或lm79后面的数字代表该三端集成稳压电路的输出电压,如lm7806表示输出电压为正6V,lm7909表示输出电压为负9V,因为三端固定集成稳压电路的使用方便,电子制作中经常采用。LM7805的实物图如图3.42所示: 图3.42 LM7805的实物图在电源的输出端接入一个发光二极管来提示电源的输出电压是否有电压输出。3.5 声光报警模块声光报警电路如图3.51所示:图3.51声光报警模块该模块使用74HC573对8个发光二极管进行驱动,蜂鸣器只用一个NPN三极管就可行了;电路比较简单实用。3.6 键盘电路3.61 键盘接口电路键盘接口采用中断处理,这样的处理方式实时性高,并且不会占用太多的CPU时间,提高了CPU的使用效率,通过一片74HC08,74HC08是CMOS的四2输入与门,其接口如图3.61所示;并将输出接到外部中断接口引脚INT0出,当有键按下时立刻进入中断处理程序处理相关的数据。第四章 软件系统设计4.1 软件系统需求框图图4.10 功能需求框图(1)程序模块化;软件设计中包含有:主程序模块、显示模块、AD数据转换子模块、声光报警模块、数据转换模块、中断处理模块等。(2)软件设计采用C51语言,键盘扫描采用中断处理(3)本设计软件系统的主要特点是应用Keil自带的一个专用于8051单片机的实时操作系统RTX51;RTX51是一个用于8051系列处理器多任务实时操作系统,RTX51可以简化那些复杂而且时间要求严格的工程的软件设计工作。有二个不同的RTX51版本可以利用:RTX51 Full 使用四个任务优先权完成同时存在时间片轮转调度和抢先的任务切换 RTX51工作在与中断功能相似的状态下 信号和信息可以通过邮箱系统在任务之间互相传递 你可以从一存储池中分配和释放内存 你可以强迫一个任务等待中断 超时或者是从另一个任务或中断发出的信号或信息;RTX51 Tiny 是一个 RTX51的子集 它可以很容易地在没有任何外部存储器的单片8051系统上运转 除了下列例外 RTX51 Tiny支持许多在 RTX51中的特征;RTX51 Tiny仅支持时间片轮转任务切换和使用信号进行任务切换 不支持抢先式的任务切换不包括消息历程没有存储器池分配程序。本设计选用的事RTX51 Tiny;一般地,下面三步是使用RTX51 Tiny要实现的:(1)编写RTX51程序(2)编译并连接程序(3)测试和调试程序4.2 软件系统的流程图YN图4.20 主程序流程图 图4.21 中断处理图4.22 键盘处理程序 主程序运行流程图如图4.20所示。由主程序流程图可以看出,软件要实现的主要功能是实现对传感器信号的数据采集,然后进行数据的计算、分析、送液晶进行显示。程序开始时,对系统进行初始化,包括单片机的各寄存器、RAM、定时器装载初值、中断设置及各模块初始化等。完成初始化后,系统开始采集各个传感器模块的参数,并根据相应的标志flag的状态,在液晶显示与标志状态对应的参数,程序会一直判断flag的状态从而决定系统要做什么;同时,CPU会一直检测该标志的状态,来确定系统怎样运行;从而完成当前监测参数的正确显示。在中断程序中,本设计使用到了单片机的两个外部中断(INT0和INT1);INT0被用于键盘检测,当4*4键盘有键被按下时,程序马上进入键盘处理程序;键盘扫描使用了中断,这样节省了宝贵的单片机时间,让CPU在只有键被按下时再进行键盘扫描与相应的参数处理,从而提高了CPU的工作效率;MQ-2模块的报警使用了INT1,当相应检测的CO和甲烷的参数标准超过设置的报警值时,程序进入报警子程序,系统进入相应的报警状态。致谢经过将两个多月的时间,终于将这篇毕业设计写完,在毕业设计的写作过程中遇到了很多的困难和障碍,都在老师的帮助下和同学间的相互搀扶下走了过来;谢谢老师和我可爱的同学们,尤其要强烈感谢我的毕业设计指导老师王小华老师,在这段难忘的时间里,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料前,也得到了很多网友的指点和学校老师的很多方面的支持与帮助。在此向帮助和指导过我的各位老师和网友们表示最衷心的感谢!在此,还要感谢这篇论文所涉及到的各位学者;本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。由于我的学术水平有限,在本设计中难免有欠妥之处,恳请各位老师和朋友批评和指正!附录附录A 各个模块的驱动程序Includes. 0; 函数执行过程发生错误就退出函数 26-28us的高电平表示该位是 0, 为70us 高电平表该位 1 DATA_Delay_10us(); DATA_Delay_10us(); DATA_Delay_10us(); 延时30us 后检测数据线是否还是高电平 if(DATA != 0) 进入这里表示该位是 1 value+; 等待剩余(约40us)的高电平结束 while(DATA != 0 & count+ = NUMBER) status = ERROR; 设定错误标志 return 0; return (value); *读温度和湿度函数,读一次的数据, 共五字节,读出成功函数返回OK, 错误返回ERROR * uint8 DATA_ReadTempAndHumi(void) uint8 i = 0, check_value = 0,count = 0; EA = 0; DATA = 0; 拉低数据线大于 18ms发送开始信号 Delay_1ms(20); 需大于 18 毫秒 DATA = 1; 释放数据线, 用于检测低电平的应答信号 延时20-40us,等待一段时间后检测应答信号, 应答信号是从机拉低数据线80us DATA_Delay_10us(); DATA_Delay_10us(); DATA_Delay_10us(); DATA_Delay_10us(); if(DATA != 0) 检测应答信号, 应答信号是低电平 没应答信号 EA = 1; return ERROR; else 有应答信号 while(DATA = 0 & count+ = NUMBER) 检测计数器是否超过了设定的范围 DATA = 1; EA = 1; return ERROR; 读数据出错, 退出函数 count = 0; DATA = 1;释放数据线 应答信号后会有一个 80us 的高电平,等待高电平结束 while(DATA != 0 & count+ = NUMBER) DATA = 1; EA = 1; return ERROR; 退出函数 读出湿. 温度值 for(i = 0; i SIZE; i+) value_arrayi = DATA_ReadValue(); if(status = ERROR)调用 ReadValue() 读数据出错会设定status 为ERROR DATA = 1; EA = 1; return ERROR; 读出的最后一个值是校验值不需加上去 if(i != SIZE - 1) 读出的五字节数据中的前四字节数据和等于第五字节数据表示成功 check_value += value_arrayi; end for 在没用发生函数调用失败时进行校验 if(check_value = value_arraySIZE - 1) 将温湿度扩大 10 倍方便分离出每一位 OK; 正确的读出 DATA输出的数据 else 校验数据出错 EA = 1; return ERROR; #endifTLC549驱动函数:* TLC549的模数转换程序* sbit clk = P30; sbit cs = P35; sbit dout = P31; void delay_TLC549(uint16 us) 延时函数while(us-); uint16 adc(void) uint16 u=0,i; cs=1; _nop_(); cs=0; for(i=0;i10;i+) 读取数据 clk=0; u=(u 0; i-) for(j = 300; j 0; j-);* 函数名称: HC595SendData* 功能描述: 向SPI总线发送数据*void HC595SendData(unsigned char SendVal)这片用于驱动LED unsigned char i; OE = 0; 片选信号 for(i=0;i8;i+) if(Se

温馨提示

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

评论

0/150

提交评论