基于单片机的火灾报警系统设计电子与通信工程毕业论文.doc
摘 要本文设计了一种以AT89C51单片机为核心控制器,结合集成语音芯片ISD1420、AD转换器, 集成温度传感器AD590 和气体传感器TGS202等,利用多传感器信息融合技术,完成报警的实用、可靠的单片机自动报警系统,着重讲述了该系统的组成形式及工作原理。实践表明,单片机技术在系统报警和其它一些自动控制领域中有着广泛的应用前景。该系统能负责不断地向所监视的现场发出巡检信号,监视现场的温度、浓度等,并不断反馈给报警控制器,控制器将接到的信号与内存的正常整定值比较、判断确定火灾。当发生火灾时,可实现鸣响报警、故障自诊断、浓度显示、报警限设置、延时报警等,是一种结构简单、性能稳定、使用方便、价格低廉的烟雾传感器,非常具有具有实用价值。关键词:AT89C51 火灾报警 传感器AbstractThis paper describes the design of a AT89C51 microcontroller as the core controller, integrated voice chip ISD1420, A / D converter, AD590 integrated temperature sensor and a gas sensor TGS202, using multi-sensor information fusion technology, complete alarm practical, reliable microcomputer automatic alarm system, describes the system composition and working principle of the form. Practice shows that the technique of single chip microcomputer in the system, alarm and other automatic control field and has wide application prospects in the.The system can continuously to the monitored site sends a polling signal, a monitoring site temperature, concentration, and continuous feedback to alarm controller, the controller will receive the signal and the memory of the normal fixed value, to determine the fire. When the fire happens, can realize a sounding alarm, fault diagnosis, the concentration display, alarm limit settings, delay alarm and so on, is a kind of simple structure, stable performance, convenient operation, low price of the smog sensor, very practical value.Key words: AT89C51 fire alarm sensor目 录一、引言1(一)课题背景及研究概述1(二)论文完成的主要要求1一、 火灾报警系统整体方案设计2(一)火灾产生原理及过程2(二)系统总体方案设计21、系统总体功能概述22、系统硬件总体构架33、系统软件总体构架4三、火灾报警系统硬件设计4(一) 单片机控制系统4(二) 数据采集61、AD590温度传感器62、TGS202气体传感器63、 电路连接6(三)ISD1420语音芯片71、ISD1420各引脚及其功能介绍72、语音段的寻址8(四) A/D转换8(五)数码管显示9四、火灾报警系统软件设计10(一)主程序10(二)主程序初始化流程图10(三)数据采集子程序11总结13致谢14参考文献15附录一:系统电路16附录二:源程序17一、引言(一)课题背景及研究概述据联合国“世界火灾统计中心(WFSC)2000统计资料”,全球每年大约发生火灾600万至700万次,全球每年死于火灾的人数约为65000至75000人。其中,欧美地区发生的火灾较多,死亡人数却相对较少,这与欧美发达国家的生活水平以及消防技术和设施有关;相比较而言,亚洲地区发生火灾次数较少,但死亡人数较多,这与亚洲经济发展程度不高、消防设施不完善等因素有关。据统计,我国70年代火灾年平均损失不到2.5亿元,80年代火灾年平均损失接近3.2亿元。“隐患险于明火,防患胜于救灾,责任重于泰山” 目前,随着电子产品在人类生活中的使用越来越广泛,家用燃气的普及,由此引起的火灾也越来越多,在我们四周潜伏着许多火灾隐患。为了避免火灾发生以及减少火灾造成的损失,所以本文设计和完善火灾自动报警系统,将火灾消灭在萌芽状态,最大限度地减少社会财富的损失。火灾自动报警系统可监测到CO浓度的变化,为人们提供CO浓度超标报警信息,通知人们及时疏散。火灾自动报警系统可作为城市消防系统的单元,通过城市消防专用网与城市消防报警中心联网,及时将报警信息传递到消防报警中心,城市消防报警中心会自动查找到火灾发生的位置,并为消防队员制定消防路线图,以便消防队员可以迅速抵达火灾地点。火灾自动报警系统能对火灾进行实时监测和准确报警,有着防止和减少火灾危害、保护人身安全和财产安全的重要意义,有着很大的经济效益和社会效益。(二)论文完成的主要要求本文主要包括以下内容:1、 熟悉Keil编程环境,和protel画图软件;2、熟悉有关探测器的理论知识;3、单片机控制模块、数据采集模块、声光报警模块的建立。4、编制单片机与个子模块之间的通信程序。实现火灾的预警及报警。一、 火灾报警系统整体方案设计(一)火灾产生原理及过程火灾发生时液体或固体先蒸发成蒸汽或分解出可燃气体(如CO、H2等)的分子团、灰烬和未燃烧的物质颗粒悬浮在空气中,可燃气体与空气混合,在较强火源作用下产生预混燃烧。着火后,燃烧产生的热量使液体或固体的表面继续放出可燃气体,并形成扩散燃烧。同时,发出含有红、紫外线的火焰,散发出大量的热量。这些热量通过可燃物的直接燃烧、热传导、热辐射和热对流,使火从起火部位向周围蔓延,导致了火势的扩大,形成火灾。其中的气溶胶、烟雾、火焰和热量都称为火灾参量,通过对这些参量的测定便可确定是否存在火灾。总的来说,普通可燃物在燃烧时表现为以下形式:首先是产生燃烧气体,然后是烟雾,在氧气充足的条件下才能达到全部燃烧,产生火焰,发出可见光和不可见光,并散发出大量的热,使环境温度升高。起火过程中,起初和阴燃两个阶段所占的时间比较长,虽然产生大量的烟雾,但是环境温度不太高,若探测器就应该从此阶段开始进行探测,就可以火灾损失控制在最小限度。火焰燃烧后,迅速蔓延,产生大量的热使得环境温度升高,如果能将这时能够探测到有效地温度值,就可以比较及时地控制火灾。起火过程曲线如图1所示。图1 起火过程曲线(二)系统总体方案设计1、系统总体功能概述火灾报警系统一般由火灾探测器、报警器组成。火灾探测器通过对火灾发出的物理、化学现象气(燃烧气体)、烟(烟雾粒子)、热(温度)、光(火焰)的探测,将探测到的火情信号转化成火警电信号传递给火灾报警控制器。报警器将接收到火警信号后经分析处理发出报警信号,警示消防控制中心的值班人员,并在屏幕上显示出火灾的位置。整体电路的框图如图2所示 :传感器A/D转换AT89C51单片机状态指示灯声音报警语音报警按键图2 系统原理及组成框图2、系统硬件总体构架报警系统主要由数据采集模块、单片机控制模块、声光报警模块组成。图3为火灾报警系统的结构框图烟雾温度传感器信号调理电路A/D转换电路AT89C51单片机声光报警数据采集模块图3 系统结构框图本系统先通过传感器 (包括温感和烟感)将现场温度、烟雾等非电信号转化为电信号,调理电路将传感器输出的电信号进行调理(放大、滤波等),使之满足A /D转换的要求 ,最后由A /D转换电路 ,完成将温度传感器和烟雾传感器输出的模拟信号到数字信号的转换,单片机判断现场是否发生火灾。如果发生火灾,系统以声光的形式报警。本文设计的用于小型防火单位的单片机火灾报警系统具有以下特点:(1)异常报警功能。当烟雾浓度过大或是温度较高时,能发出异常报警信号,引起人们注意,尽可能避免火灾的发生。(2)能对室内烟雾(CO2, CO) 及温度突变进行报警,具有声、光双重报警功能。(3)火灾报警功能。一旦真出现火灾(烟雾和温度同时出现异常)时,能立即发出语音、光火灾警报。本系统安全可靠, 误报率低。且由于其体积小、操作维护方便、成本低廉等, 具有广阔的应用前景。(4)系统故障报警功能。当系统出现硬件故障时,能发出故障报警信号.电路原理图见附录一。3、系统软件总体构架为了便于系统维护和功能扩充,采用了模块化程序设计方法,系统各个模块的具体功能都是通过子程序调用实现的。本系统主要包括数据采集子程序、火灾判断与报警子程序等。为了降低误报率,系统采用多次采集、多次判断的方法。每次数据采集后根据得到的数据对现场情况进行判断,然后综合多次判断结果做出最终的火情判断。主程序是一个无限循环体,其流程是:首先在上电之后系统的各部分包括单片机各个端口输入输出的设置、外围驱动电路和数据存储电路等完成初始化,其次是对芯片内的程序进行初始化,接下来执行火灾报警系统中的数据采集任务,数据通信任务和查询判断任务。总程序见附录二。三、火灾报警系统硬件设计(一) 单片机控制系统AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。其各管脚功能如下。VCC:供电电压。 GND:接地。P0、P1、P2口用作I/O接口。P3口也可作为AT89C51的一些特殊功能口,如下:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。单片机引脚及最小系统如图5:图5 芯片及连接图(二) 数据采集1、AD590温度传感器要准确地进行火灾报警, 选择合适的温度和烟雾传感器是准确报警的前提。综合考虑各因素,本文选择集成温度传感器AD590 和气体传感器TGS202 用作采集系统的敏感元件。AD590 是电流型温度传感器,他的输出同绝对温度成正比,即1A/k,而数模转换芯片ADC0809 的输入要求是电压量,所以在AD590 的负极接出一个1k的电阻R和一个100的可调电阻W ,将电流量变为电压量送入ADC0809。通过调节可调电阻,便可在输出端VT 获得与绝对温度成正比的电压量,即10 mV/K。示意图如图6所示图6 AD590温度传感器AD590有以下特点:(1)AD590的测温范围-55+150。(2)AD590的电源电压范围为4V-30V。电源电压可在4V-6V范围变化,电流 变化相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。(3)输出电阻为710M;(4)精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线形误差±0.3。2、TGS202气体传感器火灾中气体烟雾主要是CO2 和CO。TGS202气体传感器能探测CO2, CO, 甲烷、煤气等多种气体当TGS202探测到CO2或CO时,传感器的内阻变小,VA迅速上升。选择适当的电阻阻值,使得当气体浓度达到一定程度时,VA 端获得适当的电压。示意图如图7 图7 TGS202气体传感器3、 电路连接 图8 数据采集电路(三)ISD1420语音芯片1、ISD1420各引脚及其功能介绍引脚及连接如图9所示。 图9 ISD1420引脚连接图电源(VCCA,VCCD):芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上,这样可使噪声最小。模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近芯片。地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线,这两个脚最好在引脚焊盘上相连。录音(/REC):低电平有效。只要/REC 变低(不管芯片处在节电状态还是正在放音),芯片即开始录音。边沿触发放音(/PLAYE):此端出现下降沿时,芯片开始放音。电平触发放音(/PLAYL):此端出现下降沿时,芯片开始放音。 录音指示(/RECLED):处于录音状态时,此端为低,可驱动 LED。话筒参考(MIC REF):此端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。自动增益控制(AGC): AGC 动态调节器整前置境益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧哗嚣声)时失真都能保持最小。模拟输出(ANA OUT):前置放大器输出.前置电压增益取决于AGC 端的电平。模拟输入(ANA IN):此端即芯片录音的输入信号。对话筒输入来说,ANA OUT 端应通过外接电容连至本端。喇叭输出(SP+、SP-):这对输出端能驱动16以上的喇叭。单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又能将功率提高4倍。录音时,它们都呈高阻态;节电模式下,它们保持为低电平。外部时钟(XCLK):此端内部有下拉元件,不用时应接地。输入时钟的占空比无关紧要,因为内部首先进行了分频。地址(A0A7):地址端有两个作用,取决于最高(MSB)两位 A7、A6 的状态。2、语音段的寻址语音芯片与单片机的连接,常通过串行口来实现,串行口也可以通过辅助电路分时多用。定义好串行口的工作方式(串行口控制寄存器SCON字节地址为98H,可位寻址),当由按键输入或其它需要语音输出时,串行口向CPU申请中断,响应中断后,CPU便可以从串行数据中识别出语音段编号,输出语音信号。发送结束,中断由软件清零。(四) A/D转换 在单片机控制系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,但是大多数单片机本身只能识别和处理数字量,因此必须经过AD转换,才能够实现单片机对被控对象的识别和处理。A/D转换电路采用了常用的8位8通道数模转换专用芯片ADC0809芯片引脚如图10所示。D7-D0 :8位数字量输出引脚IN0-IN7 :8位模拟量输入引脚VCC :+5V工作电压GND :地REF(+) :参考电压正端REF(-) :参考电压负端START :A/D转换启动信号输入端ALE :地址锁存允许信号输入端图10 ADC0809引脚及连线图(五)数码管显示数据采集进来并被成功地由模拟量转化为数字量后,就被传送到系统的显示模块,让人们更直接地观察到相关数据。在本系统中,对LED进行的是动态扫描,除了给显示器提供段的输入之外,还要对显示器进行位控制。本系统显示用的4位七段数码管由数码管专用驱动芯片ICM7218A驱动,分别接数码管的a、b、c、d、e、f、g,DIGIT1、DIGIT2、 DIGIT3、 DIGIT4为位选,分别控制4位数码管的亮灭,ID0-7为数据线,接单片机P0口.WRITE、MODE是写控制位和模式控制位,分别接单片机P3.6、P2.5。连接图如图11所示:图11 数码管显示电路四、火灾报警系统软件设计(一)主程序初始化温度烟雾信号两次采集报警判断火灾报警正常异常报警手动复位为了便于系统维护,在火灾报警系统的软件设计中采用了模块化程序设计方法,系统各个模块的具体功能都是通过子程序调用实现的。既使得程序结构清晰,又便于以后进一步扩展其功能。本系统主要包括主程序、温度烟雾数据采集子程序、火灾判断与报警子程序等。系统程序流程图如图12所示。图12 系统程序流程图主程序是一个无限循环体,其流程是:首先在上电之后系统的各部分包括单片机输出输入端口的设置、数据存储电路、外围驱动电路等完成初始化,接下来执行火灾报警系统的数据采集程序、火灾判断、报警程序。系统初始化后,80C51的P2.2为低电平,P2.1、P2.3、P2.4、P2.5为高电平,所以只有绿灯亮,红灯、黄灯不亮,蜂鸣器不报警。(二)主程序初始化流程图主程序初始化流程图如图13所示。这部分实现的功能包括各种I/O输入输出状态的设定、寄存器初始化、中断使能等。首先设定定时器工作方式,然后开系统中断,以便响应中断定时,及时对气体浓度和温度进行采样。然后关闭蜂鸣器,开启绿灯,设置报警限初值。开始定时器初始化开中断关闭蜂鸣器,打开绿灯设定初值YN是否保持报警初值返回图13 初始化流程图(三)数据采集子程序数据采集是火灾报警系统中的重要环节。为了降低误报率,系统设计时对温度烟雾采用了两次采集、两次判断的方法。每次采集温度烟雾数据后,将数据存入单片机的寄存器,然后在火灾判断程序中,将采集的数据与设定的阈值进行比较,判断现场是否发生火灾。具体流程是:系统和程序初始化后,驱动ADC0809的IN0对温度信号进行A/D转换,单片机接受转换好的数据,存入寄存器,由INT1中断服务程序完成;系统延时10ms,驱动ADC0809的IN1对烟雾信号进行A/D转换,转换完成后存入寄存器。系统延时50ms,进行第二次温度烟雾信号采集,将转换好的数据存入寄存器中。单片机每次驱动A/D转换后等待外部中断1,当ADC0809的EOC端变为1时,即中断到来,说明A/D转换已经完成,通过中断服务程序读取转换得到的数据。由于设计采用的是模块化设计,系统实现报警功能是通过调用子程序实现的。在数据采集子程序中,一次温度烟雾信号采集延时10ms,是让ADC0809准备好进行下一次信号转换。当系统采集2次温度烟雾信号后,转换好的数据存入单片机的寄存器中,系统再调用火灾判断子程序。流程图14如图所示开始采集温度信号接收温度信号延时10ms采集烟雾信号接收烟雾数据结束延时50ms等待数据转换等待数据转换第一次采集中断无中断无中断第二次采集中断图14 数据采集流程图系统对温度和烟雾进行了两次数据采集与判断,每次信号采集后根据得到的数据与设定的阈值比较,当温度57,温度异常,置寄存器变量a为1,否则为0;当烟雾浓度3.2,烟雾浓度异常,置寄存器变量b为1,否则为0。综合两次温度烟雾信号的采集,根据温度和烟雾的寄存器变量a和b的状态,判断现场情况:2个寄存器变量均为0,表示情况正常;2个中仅有1个为1,表示情况异常;2个均为1,表示有火灾发生。系统对现场进行报警判断后,间隔20s后(通过系统的延时程序实现),再一次采集现场的温度烟雾信号进行判断,即每一次语音报警持续20s,直到系统做出下一次判断结果。当系统状态为00时,表示正常,80C51的P2.2口变成低电平,绿灯亮;当系统状态为01或10时,表示异常,P2.3口变为低电平,P2.1口变为低电平,黄灯亮,蜂鸣器报警;当系统状态为11时,表示发生火灾,P24口变为低电平,P2.1口变为低电平,红灯亮,蜂鸣器报警。总结火灾报警器可保障生命与财产安全,尽量避免火灾和爆炸事故以及煤气中毒的发生,它是防火、安全生产所必备的仪器,具有广阔的市场空间与发展前景。本论文是在对烟雾、温度传感器和报警技术进行深入研究的基础上,全面比较国内外同类产品的技术特点,合理地确定系统的设计方案,并对仪器的整体设计和各个组成部分进行了详细的分析和设计。这次毕业设计在老师和同学的帮助下通过我自己的努力,终于实现了预期的成果,这篇论文灌注了我自己很多的心血,在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。综合利用了许多知识,这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,也使我学到了太多的东西。通过这次设计,更加深入的理解和掌握了这方面的知识,对本专业的认识也更加深入,使自己对本专业更加的热爱,对几年的学习做了进一步的总结,更加明确了自己以后发展的目标和方向。在设计过程中,自己也学到了许多新的知识,有很多感悟和体验心得。而且,对工程设计的流程和步骤有了清晰的认识,为自己日后的学习和研究打下了坚实的基础。但是也存在不少的不足。由于电源的波动,传感器的电气特性等问题,使得A/D转换结果有时波动很大,这样就可能出现误报警。由于上述缺点的存在,此系统不是很完善,还有待进一步改进。致谢毕业设计能够完成,我的指导老师吴老师给了我极大的帮助与支持。没有吴老师的督促指导我的论文很难完成。还有,人要不断的接受新知识,学习新知识,这样才能在以后的人生道路上坚强的走下去。此外还要感谢我的同学们。我对于单片机来说,是个初学者。所以,在设计的过程中,遇到很小的问题,都要劳烦同学讲解。在不断的接触中,加深了同学之间的交流,他们给了我很多的建议和帮助。尤其在程序的编写方面,给了我很大的帮助。特此感谢!通过本次设计,让我明白了很多。最重要的是一个人如果无法独立完成一件事情,那么,同学和朋友就是你的依靠。再次感谢在设计中给我帮助的老师和同学!参考文献1 刘训非,陈希/编著.单片机技术及应用.北京:清华大学出版社 20102 王秋爽,曾昭龙/编著.单片机开发基础与经典设计实例.北京:机械工业出版社20083 沈卫红/编著.基于单片机的智能系统设计与实现.北京: 电子工业出版社20054 辛友顺,胡永生,薛小玲/编著.单片机应用系统设计与实现.福建:福建科学技术出版社 20055卢艳军. 单片机基本原理及应用系统. 北京:机械工业出版社,2005.6周美娟等. 单片机技术及系统设计. 北京:清华大学出版社,2007.7永权. 单片机与家用电器智能化技术.北京:电子工业出版社,1995.附录一:系统电路附录二:源程序#include <reg51.h>#define unchar unsigned char#define uint unsigned int uchar Tem1,Tem2,Smok1,Smok2;uchar Tem=3.6,Smok=4.6; /设定温度烟雾报警阈值uchar a,a1,a2,b,b1,b2;void caiji_wenyan();void delay_10ms(uint i); /程序声明void panduan );void baojing();void main() P21=1; P20=0;WR=1;RD=1; P0=0XFa;P24=1;P23=1;P22=0; /初始化 while(1) /主程序 caiji _wenyan (); /第一次采集温度烟雾信号 Tem2=Tem1;Smok2=Smok1; delay_10ms(5); /延时50ms,让ADC0809准备好第二次数据转换 caiji _wenyan(); /第二次采集温度烟雾信号 panduan(); /将转换的数据与设定的报警阈值比较 baojing(); /报警程序 delay_10ms(2000); /系统隔20s对现场判断 ;void caiji_wenyan() P0=0XF8; /选通IN-0,转换温度信号 WR=0; if(EOC=1) RD=0;Tem1=P0; /当ADC0809转换结束,80C51打开AD的三态门,AD输出数据 else RD=1; /否则,AD继续转换 delay_10ms(1); P0=0XF9; /选通IN-1,转换烟雾信号 WR=0; if(EOC=1) RD=0;Smok1=P0; else RD=1;void delay_10ms(uint i) /10ms延时程序 while(i-) uchar i,j,k; for(i=5;i>0;i-) for(j=4;j>0;j-) for(k=248;k>0;k-); void panduan() if(Tem1>Tem) a1=1; /当采集的温度高于阈值置1,否则,置0 else a1=0; if(Tem2>Tem) a2=1; else a2=0; if(Smok1> Smok) b1=1; /当采集的烟雾浓度高于阈值置1,否则,置0 else b1=0; if (Smok2> Smok ) b2=1; else b2=0;baojing() if(a1=a2&&b1=b2) /两次采集数据的标志位相同 a=a1; b=b1; if(a=1&&b=1) P22=1;P21=0;P23=1;P24=0;P25=1; /温度烟雾标志位都是1,发生火灾 if(a=1&&b=0) P23=0;P21=0;P22=1;P24=1;P25=1; if(a=0&&b=1) P23=0;P21=0;P22=1;P24=1;P25=1; /温度烟雾标志位只有一个1,异常 if(a=0&&b=0) P22=0; /温度烟雾标志位都为0,正常 ;else P25=0;P23=1;P24=1; /两次采集的数据标志位不同,系统故障