毕业设计(论文)-基于单片机的烟雾浓度监测报警系统.doc_第1页
毕业设计(论文)-基于单片机的烟雾浓度监测报警系统.doc_第2页
毕业设计(论文)-基于单片机的烟雾浓度监测报警系统.doc_第3页
毕业设计(论文)-基于单片机的烟雾浓度监测报警系统.doc_第4页
毕业设计(论文)-基于单片机的烟雾浓度监测报警系统.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

邢台学院2013届本科毕业设计 本科毕业设计论文题目:基于单片机的烟雾浓度监测报警系统姓 名:李雪学 号:2011083105系(部):信息科学与技术专 业:计算机科学与技术班 级:2011级接本班指导教师:张晓静完成时间: 2013 年 4 月摘 要烟雾浓度监测报警系统实现的功能是实时监测空气中的烟雾浓度并进行声音报警。系统采用MQ-2传感器进行信息采集,实现对烟雾浓度的监测;用CMOS工艺的8位ADC0832逐次逼近型A/D转换器完成模数转换工作;核心部件采用基于51内核的AT89S52单片机,通过在单片机内部进行阈值判定来完成数据的处理和输出功能,当超过阈值时驱动蜂鸣器进行报警。以AT89S52单片为核心并结合MQ-2高灵敏度传感器和ADC0832CMOS型的A/D转换器做成的烟雾浓度监测报警系统具有结构简单,使用方便,价格低廉的优点,有一定实用价值。关键词: MQ-2传感器;ADC0832;AT89S52单片机;烟雾浓度监测;AbstractIn order to realize the function of monitor the smoke concentration accurately in air,the MQ-2 parts as collecting information realize the smoke concentration monitoring;the CMOS 8-bit Successive approximation type A/D converter complete analog-to-digital conversion;core part using based on 51 kernel of AT89S52 Single chip microcomputer and through the single chip microcomputer internal threshold determination to finish data processing and output function, When more than threshold drive buzzer alarm. AT89S52 single chip as the core and combining the MQ - 2 high sensitivity sensor and ADC0832CMOS type of A/D converter made of smoke concentration monitoring alarm system has A simple structure, convenient use, low price advantage, has certain practical value.Keyword: MQ-2 sensor; ADC0832; AT89S52 MCU;The smoke concentration monitoring;目 录1 绪论11.1 选题背景11.2 系统介绍22 系统的硬件设计22.1 核心器件的选型22.2 烟雾浓度监测报警系统硬件设计52.3 系统硬件总电路图123 系统的软件设计133.1 C51系列单片软件开发环境133.2 烟雾检测报警系统软件设计134 系统测试194.1 误差分析194.2 测试分析205 总结21谢辞23参考文献241 绪论1.1 选题背景火灾是一种由失去控制的燃烧所引发的灾害,对社会安全和人们的生命财产造成了重大威胁,由此引发的安全事故比比皆是,所以人们从未停止过对它的研究。随着现代家庭用电、用气量的增加,家庭火灾发生的频率越来越高,若不及时发现和处理,不仅危害到这个家庭,还会对周遭居民造成影响,危害性不能小觑。消防部门的数据显示,在所有的火灾事故中,家庭火灾已占到30%的比例,我国每年的家庭火灾达5万余起,死亡800余人,占火灾死亡人数的70%以上,而引发火灾的各种可能有的在我们能注意到的地方,有的却在我们注意不到的地方,而像学校机房、办公室等这种人员集中,电子设备集中的小面积区域,若有火情却没有及时发现,那后果更加不堪设想,因此加强对这些小面积的人员集中区域火灾的监测很有必要。自本世纪80年代开始,随着电子产品的使用逐渐广泛,可能引发火灾的安全隐患由最初的工业生产延伸到了我们的日常生活中,为了及早发现并通报火灾,保障人身及财产安全,加强对工业生产区、公共场所和居民区的火灾监测变得格外重要。目前国内厂家多偏重用于大型仓库,写字楼,商场,宾馆等大型火灾报警系统的研发,采用集中区域报警控制方式,系统复杂且成本高,忽略了居民住宅区,学校机房,办公室等小型防火单位,因此研制一种结构简单,价格低廉的火灾报警器是非常必要的。消防报警产品是一个系列产品,包括火灾探测设备、信息传输设备、报警分析控制器、消防控制联动等,是物理传感、自动控制、计算机、数据传输和管理、智能楼宇等技术的综合集成,属于高新技术。依托中国多年的基本建设的发展,这个行业也得到发展,面对我国社会经济与技术的急速发展,伴随电子、计算机、通讯和现代控制技术的迅速壮大以及对此类产品的迫切需求,我国现代火灾应用报警系统的发展趋势也向着全总线制、软件编程、网络化、智能化、多样化、小型化、社区化和高灵敏化的方向发展。系统属于消防报警产品中的火灾探测设备,根据对空气中烟雾浓度的监测来达到预防火灾的目的。由于针对的是人员密集的小面积区域,所以就要求系统具有体型小、操作便且灵敏度高的特点。单片机是由CPU、存储器、定时计数器、中断系统和I/O接口五大部分组成,虽然只是一块集成电路芯片,但却是“麻雀虽小,五脏俱全”的代表,它的应用系统可以分为智能仪器仪表和工业监控系统两大类,但无论哪一类都要以市场需求为前提,它与烟雾气敏传感器的起来结合既充分发挥了监测火灾险情的功能又在空间分布上更合理,很适合用于上述像学校机房,办公室等小面积的人员集中区域的险情监测工作1。因此系统采用单片机为核心来进行烟雾浓度监测报警。 1.2 系统介绍根据设计场合和对技术参数的比较,系统采用的是使用Atmel 公司高密度非易失性存储技术制造的AT89S52单片作为系统的主控单元,由电阻式半导体传感器MQ-2负责采集空气中的烟雾浓度并输入到单片机中等候处理,由于单片机识别的是数字信号,需在传感器的输出端放置A/D转换器0832将传感器输出的模拟信号转换成单片机可识别的数字信号并输入到单片机主控单元中,这时单片机对传感器采集的烟雾浓度信息进行处理,将数字化电压信号转化为对应的浓度值,当浓度超出设定的界限值时发出报警,来完成对周遭环境中烟雾浓度的监测2。烟雾浓度监测系统的结构如图1-1所示。图1-1 系统结构图2 系统的硬件设计2.1 核心器件的选型在烟雾浓度监测报警系统的设计当中,单片机是核心器件,它一方面要接收来自传感器输出的烟雾信息,另一方面要对信息进行处理,控制后续电路做出相应动作。在单片机需完成的工作当中,将模数转换后的信号进行处理然后送入后续电路进行声音报警这一过程的软件实现较为复杂,要求单片应具有较快的运算速度,并应选择低价实用低耗的机型。在70年代中期,为了满足广泛应用的需要,微型计算机向着两个不同方向发展,除了高速度,大容量,高性能的PC机,便是功能完整,体积小,价格低廉,向着控制方向发展的单片机,也就是单片微型计算机,本系统采用的51内核是单片机发展的第三阶段高性能单片机阶段以Intel公司MCS-51为代表,在制作上MCS-51系列单片按两种工艺生产,一种是HMOS工艺,即高密度短沟道MOS工艺,另一种是CHMOS工艺,即互补金属氧化物的HMOS工艺,CHMOS是CMOS和HMOS的结合,既保持了HMOS高速度高密度的特点,又具有HMOS低功耗的特点。虽然MCS-51的原生产厂商Intel公司现在已经把精力集中在CPU的生产上,并逐步放弃了单片机的生产,但MCS-51单片机影响极为深远,所以世界上很多知名的IC生产厂家都在生产与MCS-51兼容的芯片,也就是说MCS-51内核实际上已经成为一个8位单片机的标准,其他公司的51单片机产品都是与MCS-51内核兼容的产品而已3。因此本系统采用既能全力满足测控对象的测控功能,又兼有数据处理能力,性价比高的Atmel 公司基于51内核制造的AT89S52单片。AT89S52单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域4。2.1.1 AT89S52单片机简介AT89S52单片具有如下特点:1 与MCS-51单片机产品兼容2 8K字节在系统可编程Flash存储器3 1000次擦写周期4 全静态操作:0Hz-33MHz5 三级加密程序存储器6 32个可编程I/O口线7 3个16位可编程定时/计数器8 6个中断源9 全双工UART串行通信10 低功耗空闲和掉电模式 图2-1 89S52引脚图 引脚功能说明如下:VCC:电源电压。GND:地。P0口:P0口是一组8位漏极开路型双向I/O口,即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻。同时具有很大的驱动能力,可以作为缓冲器使用,也就是地址/数据线复用口。作为输出口时,每位能以吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端。在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。在访问外部程序储存器或16位地址的外部数据储存器时,P2口送出高8位地址数据。在访问8位地址的外部数据储存器时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。且除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表2-1所示。 表2-1 P3口的第二功能表端口引脚第二功能P3.0RXD(穿行输出口)P3.1TXD(穿行输入口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器0)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT80S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,这是以该器件是使用12v编程电压为前提的。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端22 烟雾浓度监测报警系统硬件设计2.2.1烟雾传感器的选型烟雾传感器属于气敏传感器,是气-电变换器,它将可燃性气体在空气中的含量(即浓度)转化成电压或者电流信号,通过A/D转换电路将模拟量转换成数字量后送到单片机,进而由单片机完成数据处理、浓度处理及报警控制等工作。传感器作为烟雾检测报警器的信号采集部分,是系统的重要组成部分之一。烟雾检测报警器主要应用在石油、化工、冶金、油库、液化气站、喷漆作业等易发生可燃烟雾泄漏的场所,根据报警器检测烟雾种类的要求,一般选用接触燃烧式烟雾传感器和半导体烟雾传感器。接触燃烧式传感器,其探头的阻缓及中毒是不可避免的问题, 阻缓是当在烟雾与空气的混合物中含有硫化氢等含硫物质的情况下,则有可能在无焰燃烧的同时,有些固态物质附着在催化元件表面,阻塞载体的微孔,从而引起响应缓慢、反应滞缓、灵敏度降低等问题。虽然将阻缓的传感器再放回新鲜空气环境中有得到某种程度恢复的可能,但是如果长期暴露在这样的环境中,其灵敏度会不断下降,导致传感器最终丧失检测烟雾的能力。中毒是如果环境空气中含有硅烷之类的物质时,则传感器将使催化元件产生不可逆转的中毒,以致灵敏度很快就丧失。当怀疑检测环境中存在这些物质时,经常对探头进行标定是必须且有效的办法。一般连续使用两个月后应对传感器进行量程校准,但这种经常性对传感器的维护,无形中加大了工作人员的工作量,同时增加了报警器的维护成本。半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器以及用单晶半导体器件制作的烟雾传感器,它具有灵敏度高、响应快、体积小、结构简单、使用方便、价格便宜等优点,因而得到广泛应用。半导体烟雾传感器的性能主要看灵敏度、选择性(抗干扰性)和稳 定性(使用寿命)5。经过对比上述两种烟雾传感器的应用特性,发现半导体烟雾传感器的优点更加突出:灵敏度高、响应快、抗干扰性好、维护成本低。因此,采用半导体烟雾传感器更为合适。而在众多半导体气体传感器中,本设计选用的是MQ-2型烟雾传感器,它属于二氧化锡半导体气敏材料,通过与烟雾接触时表面电导率的变化来进行感知,具有高灵敏度、强抗干扰、快速响应等特点且价格便宜使用寿命长。2.2.2 MQ-2型烟雾传感器工作原理半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器以及用单晶半导体器件制作的烟雾传感器。按敏感机理分类,可分为电阻型和非电阻型。半导体气敏元件也有N型和P型之分。N型在检测时阻值随烟雾浓度的增大而减小;P型阻值随烟雾浓度的增大而增大。半导体气敏传感器的分类如表2-2所示6。 表2-2 半导体气敏传感器分类表类型所利用的特性工作温度代表性被检测气体电阻型电阻表面电阻控制器300450C可燃性气体体电阻控制器300450C700C以上乙醇、可燃性气体非电阻型二极管整流特性室温200CH2、CO、乙醇晶体管特性150CH2、H2SMQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。当处于200-300C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒受到该烟雾的调制而变化,就会引起表面电导率的变化。利用这一点就可以获得这种烟雾存在的信息。遇到可燃烟雾(如CH4等)时,原来吸附的氧脱附,而由可燃烟雾以正离子状态吸附在二氧化锡半导体表面;氧脱附放出电子,烟雾以正离子状态吸附也要放出电子,从而使二氧化锡半导体的电子密度增加,电阻值下降。而当空气中没有烟雾时,二氧化锡半导体又会自动恢复氧的负离子吸附,使电阻值升高到初始状态,这就是MQ-2型烟雾传感器检测可燃烟雾的基本原理,它的结构如图2-2所示。图2-2 MQ-2结构图图2-3 MQ-2外形图2.2.3 MQ-2型传感器的特性及主要技术指标 (1) MQ-2型传感器的一般特点:1 对天然气,液化石油等烟雾有很高的灵敏度,尤其是对烷类烟雾更为敏感;2 有良好的重复性和长期的稳定性;3 抗干扰性强,可准确排除有刺激性非可燃性烟雾的干扰信息;4 电路设计电压范围宽,24V以下均可,加热电压50.2V。(2) MQ-2性传感器基本特性1 灵敏度特性:传感器在最佳工作条件下接触同一种烟雾,其电阻值RS随气体浓度变化的特性成为灵敏度特性,用K表示,K=RS / R0,R0为烟雾传感器在洁净空气条件下的电阻值,RS为烟雾传感器在一定浓度的烟雾条件下的电阻值。2 初期稳定特性:半导体烟雾传感器在不通电状态下存放一段时间后,再通电时,器件并不能立即开始工作,这是因为传感器中的二氧化锡在不通电的状态下会吸附空气中的水蒸气,再次通电时需先预热几分钟使水蒸气蒸发后气敏电阻才能正常工作,一般情况下,不通电时间越长初期稳定时间也越长,当不通电时间到达15天左右时,初期稳定时间大概需要5分钟左右。3 半导体传感器一般在较高温度(200-450度)下工作,所以需要对其加热,由于传感器一般工作在易燃易爆环境下,若加热丝直接与电源相接,当加热丝局部短路造成器件过热或放电时,可能引发事故,MQ-2烟雾传感器加热电压为50.2V,当加热丝断路时,由于热惰性传感器的气敏特性并不立即消失,此时监测会出现较大误差,应避免这种情况的发生。(3)MQ-2的特性参数1 回路电压:5-24V2 取样电阻:0.1-20K3 加热电压:0.5+2V4 加热功率:750mW5 灵敏度(甲烷):R0(air)/RS (0.1%CH4)56 响应时间:Tres10秒7 恢复时间:Trec30秒(4) MQ-2原理图 MQ-2作为信号采集器件,它的1、3、5引脚连接电源的正极,采集到的信号经过电阻RP调节信号大小后送入到ADC0832的模拟输入端。 图2-4 MQ-2原理图2.2.4 ADC0832模数转换ADC0832是NS(National Semiconductor)公司生产的串行接口8位A/D转换器,通过三线接口与单片机相接,是8位分辨率、8位串行的A/D转换器,功耗低、性价比高,适合用于袖珍式仪器中7。(1)功能特点:作为A/D转换芯片,其最高分辩可达256级,具有双数据输出功能,转换速度快且稳定性强,具有如下特点:1 8位分辨率,逐次逼近型;2 5V单电源供电;3 输入和输出电平与TTL和CMOS兼容;4 具有两个可供选择的模拟输入通道;5 功耗低,15mW。(2)外部引脚及其说明 图2-5 ADC0832引脚图 CS片选端,低电平有效。 CH0,CH1两路模拟信号输入端。 DI两路模拟输入选择输入端。 DO模数转换结果串行输出端。 CLK串行时钟输入端。 Vcc/REF正电源端和基准电压输入端。(3)单片机对ADC0832的控制原理一般情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI,但由于DO端与DI端在通信时不是同时有效且与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI的电平可任意。当要进行A/D转换时,须先将CS端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK提供时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲到来之前DI端必须是高电平,表示启动位。在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能(如表2-3),如图2-6所示到第3个时钟脉冲到来之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个时钟脉冲开始由DO端输出转换数据最高位D7,随后每一个脉冲DO端输出下一位数据。直到第11个脉冲时发出最低位数据D0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个时钟脉冲输出D0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了8。图2-6 ADC0832时序 表2-3 ADC0832配位表输入形式 配置位选择通道CH0CH1CHOCH1差分输入00+-01-+单端输入10+11+ (4)SPI串行接口方式SPI是MOTOROLA公司推出的一个外设接口协议,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,ADC0809也是一样,以串行方式交换信息,使用4条线与主机(MCU)连接9:图2-7 SPI串行接口方式(5) ADC0832原理图传感器经电阻RP调整后的信号连接到0832的CHO输入端,完成转换后经输出端DODI连接到单片机的P1.2端口等候处理。图2-8 ADC0832原理图2.2.5 复位电路图2-9 复位电路原理图2.2.6内部时钟振荡电路 图2-10内部时钟振荡电路图1 XTAL1(18脚):为接石英晶体和微调电容引脚之一,是片内振荡电路反向放大器的输入端,采用外部振荡器时此引脚接地。2 XTAL2(19脚):为接石英晶体和微调电容引脚之二,是片内振荡电路反方向放大器的输出端,采用外部振荡器时,此引脚为外部振荡信号的输入端。2.2.6 声音报警电路本系统的声音报警部分是根据单片机89S52对烟雾浓度的判定来作出响应的,声音报警部件蜂鸣器与89S52的第22引脚相连,受它控制并实现报警功能。图2-11 声音报警电路图2.2.7 状态指示灯及控制键电路状态指示灯及控制键电路图如下图所示。单片机AT89S52的21脚(P2.0)、22脚(P2.1),控制输出的状态指示灯。绿灯常亮表示正常状态,表示环境中可燃烟雾浓度极低;红灯亮表示环境中可燃烟雾浓度超过报警限值,提醒用户尽快作相应安全措施10。图2-12 状态指示灯控制电路为了准确的对空气中的烟雾浓度进行监测并报警,特设计了紧急控制电路,若发生险情时实时监测系统出故障而无法发出警报,则可通过紧急按键来实现报警功能。控制紧急按键链接图:图2-13 紧急控制按键链接图2.3 系统硬件总电路图MQ-2作为信号采集器件,1、3、5引脚连接电源的正极,4引脚接地,采集的信号经过电阻RP调节输出信号大小后输入到ADC0832的模拟输入端,D0作为ADC0832的串行数字输出端连接到单片机AT89S52的P1.0端口,待单片机作出处理后经21、22、23引脚输出控制信号至报警电路,报警部件蜂鸣器用三极管来驱动,集电极接地,基极接3K欧姆后接单片机的控制接口,发射极接蜂鸣器。图2-14 硬件总电路图3 系统的软件设计3.1 C51系列单片软件开发环境系统的软件编程使用的是美国Keil Software公司出品的Keil C51,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能、结构性、可读性、可维护性上有明显的优势。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,Keil C51生成的目标代码效率非常之高,语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势11。3.2 烟雾检测报警系统软件设计本系统中,软件解决的主要问题是检测烟雾传感器的烟雾浓度信号,然后对信号进行AD转换、按键功能设置以及声光报警。3.2.1主程序设计及流程图程序流程图如图3-1所示。首先要给传感器预热三分钟,因为MQ-2型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热才能正常工作。程序初始化结束后,系统进入监控状态。本论文的主程序设计先对传感器预热三分钟。 传感器监测到的烟雾浓度对应的电压信号送入ADC0832进行A/D转换,然后送入单片机进行浓度比较,并判断浓度值是否超出报警限值,当浓度处于正常状态绿灯长亮,当烟雾浓度超出设定温度时,发出声音报警并伴随红灯亮13。 图3-1 软件设计流程图主程序源代码如下:程序设计源代码:#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件unsigned char flag=0; /紧急报警标志位unsigned char flag1=0; /传感器检测报警标志位sbit CS=P10; /将CS位定义为P1.0引脚sbit CLK=P11; /将CLK位定义为P1.1引脚sbit DIO=P12; /将DIO位定义为P1.2引脚sbit K1=P24;sbit LED1=P20; /警情指示灯sbit LED2=P21; /正常指示灯sbit BEEP=P22;函数功能:延时1ms(3j+2)*i=(333+2)10=1010(微秒),可以认为是1毫秒void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; 函数功能:延时若干毫秒入口参数:nvoid delaynms(unsigned char n) unsigned char i;for(i=0;i=100)flag1=1;elseflag1=0;3.2.3 ADC0832程序设计首先片选有效,接收来自传感器MQ-2的烟雾信息,将输入的模拟信号转换成数字信号并输出11。当要进行A/D转换时,须先将CS端置于低电平并且保持低电平直到转换完全结束。芯片开始转换工作时由处理器向芯片时钟输入端CLK提供时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲到来之前DI端保持高电平表示启动。在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能,到第3个时钟脉冲到来之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个时钟脉冲开始由DO端输出转换数据最高位D7,随后每一个脉冲DO端输出下一位数据直到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了8。图3-3 ADC0832流程图unsigned int A_D() unsigned char i,dat; CS=1; /一个转换周期开始 CLK=0; /为第一个脉冲作准备 CS=0; /CS置0,片选有效 DIO=1; /DIO置1,规定的起始信号 CLK=1; /第一个脉冲 CLK=0; /第一个脉冲的下降沿,此前DIO必须是高电平 DIO=1; /DIO置1, 通道选择信号 CLK=1; /第二个脉冲,第2、3个脉冲下沉之前,DI必须输入两位数据用于选择通道,这里选通道CH0 CLK=0; /第二个脉冲下降沿 DIO=0; /DI置0,选择通道0 CLK=1; /第三个脉冲 CLK=0; /第三个脉冲下降沿 DIO=1; /第三个脉冲下沉之后,输入端DIO失去作用,应置1 CLK=1; /第四个脉冲 for(i=0;i8;i+) /高位在前 CLK=1; /第四个脉冲 CLK=0; dat=1; /将下面储存的低位数据向右移dat|=(unsigned char)DIO; /将输出数据DIO通过运算储存在dat最低位 CS=1; /片选无效 return dat; /将读出的数据返回 3.2.4 报警子程序设计本系统采用的是声光报警,使用MQ-2气敏传感器进行烟雾信息采集,当空气中的烟雾浓度值很低时,安全指示灯会一直亮着,当空气中的烟雾浓度发生变化并超出了安全限值时,安全指示灯熄灭报警指示灯长亮并发出声音警报12。图3-4 报警子程序流程图void baojing()if(flag=1|flag1=1)LED2=1;LED1=0;BEEP=0;delaynms(100);BEEP=1;delaynms(100);if(flag=0&flag1=0)LED2=0;LED1=1;BEEP=1;3.2.5 紧急按键程序设计紧急按键子系统是作为后备报警系统而设计的,由于传感器中的二氧化锡在不通电的状态下会吸附空气中的水蒸气,再次通电时需先预热几分钟使水蒸气蒸发后气敏电阻才能正常工作,而且一般情况下,不通电时间越长初期稳定时间也越长,为了更加准确进行烟雾监测,设计紧急按键人为进行报警很有实用价值。图3-5 紧急按键程序流程图void key()if(K1=0)delaynms(5);if(K1=0)while(!K1);flag+;if(flag=2)flag=0;4 系统测试4.1 误差分析在测量仪器的实际使用中,造成误差的来源很多,本系统的误差来源主要是硬件和软件两部分12。4.1.1 软件误差系统的软件误差主要来自以下两个方面:(1)A/D转换误差:单片机的电源电压VDD时造成A/D转换误差的主要原因,如果使VDD的电压精度做到最高则A/D转换误差可以做到很小,它相当于A/D转换的基准电压。其次,A/D转换器的量化误差也是影响被测参数测量准确度的一个因素,减少量化误差可通过增加A/D转换器的转换位数和不相关的采样点数来实现,而且测量时赢尽可能将信号的峰值放大到A/D转换器的满度值,但是由于A/D转换产生的量化误差很小,因此可忽略不计。(2)数字滤波过程中产生的误差:数字滤波过程中的有限字长效应在中位置平均滤波法过程中用到了乘法和除法运算,因此在运算过程中由于字长有限而不能保留数字的有效位数会出现舍入误差,而累积计算会造成计算误差。本系统的计算全部由AT89S52单片完成,可直接执行基于字长的定点乘法和定点除法,因此有限字长造成的误差对本系统可忽略不计。4.1.2 硬件误差系统由硬件产生的误差主要来自以下三个方面:(1)电子元器件参数的离散性,温度不稳定性造成的误差:传感器输出信号一般比较微弱,需要经过数据采集前置电路对其进行放大,滤波,电平调整来满足单片机对输入信号的要求,而运放误差是造成前置放大误差的主要原因,运放的输入失调电压,输入失调电流是主要因素,因此本系统采用灵敏度高,信号稳定性强的MQ-2作为气敏传感器,无需设置前置放大电路,因此由电子元器件产生的误差本系统可忽略不计。(2)电源造成的误差:虽然系统采用直流电源供电,但电源不可避免的残留一定的交流成分而形成噪音信号,对测控系统的影响很大,本系统为了尽量减小噪音,数字

温馨提示

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

评论

0/150

提交评论