基于单片机80C51火灾报警器 - 图文

更新时间:2023-10-09 21:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕 业 论 文

学生姓名 学

苗笛

学 号

171107064

物理与电子电气工程学院

电子信息工程 基于单片机的火灾报警器

专 业 题 目

指导教师

葛恒清 副教授/硕士

2015 年 5 月

毕业论文独创性声明

本人郑重声明:

本论文是我个人在导师指导下进行的研究工作及取得的研究成果。本论文除引文外所有实验、数据和有关材料均是真实的。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

作者签名: 日 期:

淮阴师范学院毕业论文

1

摘 要 :本文为了能够及时的发现火灾并准确、迅速的汇报,利用单片机80C51、集成语音芯片ISD1420, 集成温度传感器AD590 ,气体传感器TGS202等,使用多个传感器的信息融合技术,完成语音报警的实用、稳定的单片机火灾报警系统。

关键词 : 火灾报警 , 单片机 , 传感器

淮阴师范学院毕业论文

2

Abstract:In order to can be found quickly and accurately, and the fire report, the use of single-chip 80C51, integrated voice chip ISD1420, integrated temperature sensor AD590 and gas sensor TGS202,using multi-sensor information fusion technology, practical, complete voice alarm fire alarm system reliable microcontroller

Keywords :

Fire alarm SCM ,Transducer

, 淮阴师范学院毕业论文

3

目 录

1.1 绪论……………………………………………………………………………………………………8 1.2 国内外研究现状………………………………………………………………………………… 8 2.1系统总体功能概述……………………………………………………………… ………………8 2.2 系统硬件总体构架??????????????????????????????9 2.3 系统软件总体构架????????? ????????????????????10 2.3.1 火灾探测器的原理???????????? ???????????????11 3.1 系统核心芯片选择???? ?????????????????????????12 3.1.1. AD590温度传感器???????????????????????????12 3.1. 2 TGS202气体传感器???????????????????????????13 3.1.3 ISD1420各引脚及功能介绍?????????????????? ??14 3.1.4 80C51芯片的引脚及功能?????????????????????? 15 3.1.5 A/D转换芯片?????????????????????????????? 17 3.1.6 数码管显示电路????????????????????????????????? 19 3.2 单片机外围接口电路???????????????????????????????? 20

淮阴师范学院毕业论文

9

CO2 和CO是火灾中主要气体烟雾。TGS202传感器能探测CO2, CO, 甲烷、煤气等多种气体,适用于探测火灾中气体。如图3-2所示,当传感器在TGS202探测到CO2或CO时,内阻变小,VA快速增加。当气体浓度达到一定程度(如CO浓度达到0106%)时,VA 端得到一个适当的电压。

图3-2 TGS202应用电路

3.1.3 ISD1420各引脚及其功能介绍

图3 -3 ISD1420引脚

电源(VCCA,VCCD):芯片里面的模拟和数字电路用不同的电源总线,并且分别引到外封装上,可以降低噪声。

地线(VSSA,VSSD):芯片内部的模拟和数字电路用不同的地线。 录音(/REC):设置低电平有效,保证只要/REC 变低,芯片就录音。 边沿触发放音(/PLAYE):此端出现下降沿时,芯片开始放音。 电平触发放音(/PLAYL):一个下降沿端,芯片开始回放。 录音指示(/RECLED):在记录的状态,,为低,可以驱动LED。

淮阴师范学院毕业论文

10

话筒参考(MIC REF):前置放大器的反向输入。

自动增益控制(AGC): AGC动态调节器整前置以补偿话筒输入电平的宽幅变化,失真都

能保持最小。

模拟输出(ANA OUT):前置放大器输出。 模拟输入(ANA IN):输入信号的芯片记录结束。

喇叭输出(SP+、SP-):这对输出端可用16Ω以上的喇叭。单端使用时必须在输出端和

喇叭间接耦合电容,而双端输出既不用电容又能将功率提高4倍。录音时,它们都呈高阻态;节电模式下,它们保持为低电平。

外部时钟(XCLK):此端内部有下拉元件,不用时应接地。

地址(A0~A7):地址端有两个作用,取决于最高(MSB)两位 A7、A6 的状态。

(1) 语音段的寻址

语音芯片与单片机常通过串行口将通常进行辅助电路的,可以实现时间的串口。定义好串行口的工作方式(串行口控制寄存器SCON字节地址为98H,可位寻址),当由按键输入或其它需要语音输出时,串行口向CPU申请中断,响应中断后,CPU可以从串口输出数据识别语音段数,语音信号。中断由软件发送结束后清零。

3.1.4 80C51芯片的引脚及功能

图3-4 80C51芯片的引脚图

淮阴师范学院毕业论文

11

(1)电源引脚VCC和VSS

VCC(40脚):接+5V电源正端; VSS(20脚):接+5V电源正端。 (2)外接晶振引脚XTAL1和XTAL2

XTAL1(19脚):接外部石英晶体的一端。在单片机里面,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。

XTAL2(18脚):接外部晶体的另一端。在单片机连接反向放大器,在片上振荡器的输出端。

(3)控制信号或与其它电源复用引脚

控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。 (A)RST/VPD(9脚):RST复位VPD作为后备电源,作为保护段。

(B)ALE/ P (30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低

(C)PSEN(29脚):片外程序存储器读选通输出端,低电平有用。

(D)EA/Vpp(31脚):EA为访问外部程序储器控制信号,低电平有效。 (4)输入/输出(I/O)引脚P0口、P1口、P2口及P3口

(A)P0口(39脚~22脚):P0.0~P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。

(B)P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。

(C)P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。

(D)P3口(10脚~17脚):P3.0~P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定

淮阴师范学院毕业论文

12

义为第1功能的输入输出或第2功能。P3口的第2功能见下表

表1 单片机P3.0管脚含义

引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第2功能 RXD(串行口输入端0) TXD(串行口输出端) INT0(部中断0请求输入端,低电平有效) INT1(中断1请求输入端,低电平有效) T0(时器/计数器0计数脉冲端) T1(时器/计数器1数脉冲端) WR(部数据存储器写选通信号输出端,低电平有效) RD(部数据存储器读选通信号输出端,低电平有效)

综上所述,MCS—51系列单片机的引脚作用可归纳为以下两点:

1).单片机功能多,引脚数少,因而许多引脚具有第2功能;

2).单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。

3.1.5 A/D转换芯片

在单片机控制系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,如温度、压力、流量、位移、速度等物理量。但是大多数单片机本身只能识别和处理数字量,因此必须经过模拟量到数字量的转换(A/D转换),才能够实现单片机对被控对象的识别和处理。完成A/D转换的器件即为A/D转换器。 A/D转换器的主要性能参数有:

(1) 分辨率分辨率表示A/D转换器对输入信号的分辨能力。A/D转换器的分辨率以输出二进制数的位数表示;

(2) 转换时间转换时间指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。不同类型的转换器转换速度相差甚远;

淮阴师范学院毕业论文

13

(3) 转换误差转换误差表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示;

(4) 线性度线性度指实际转换器的转移函数与理想直线的最大偏移。

目前有很多类型的A/D转换芯片,它们在转换速度、转换精度、分辨率以及使用价值上都各具特色,综合全部因素设计决定采用美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器ADC0809。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片.

A/D转换电路采用了常用的8位8通道数模转换专用芯片ADC0809,ADC0809由8路模拟开头、地址锁存与译码器、8位A/D转换器和三态输出锁存缓冲器组成,芯片引脚图如图3-5所示, 内部结构图如图3-6所示。

图3-5 ADC0809引脚图 图3-6 ADC0809内部结构图 ADC0809的引脚功能:

D7-D0 :8位数字量输出引脚 IN0-IN7 :8位模拟量输入引脚 VCC :+5V工作电压 GND :地

REF(+) :参考电压正端 REF(-) :参考电压负端 START :A/D转换启动信号输入端 ALE :地址锁存允许信号输入端 ADC0809的主要性能指标为:

淮阴师范学院毕业论文

14

(1)分辨率为8位。

(2)最大不可调误差:ADC0809为?1LSB。

(3)单电源+5v供电,基准电压由外部提供,典型值为+5v,此时允许输入模拟电压为0—5V。

(4)具有锁存控制的8路模拟选通开关。 (5)可锁存三态输出,输出电平与TTL电平兼容。

(6)转换速度取于决芯片的时钟频率。当时钟频率500KHz时,转换时间为128μs。

3.1.6 数码管显示电路

ICM7218 是INTERSIL公司生产的一种性能价格比较高的通用8 位L ED 数码管驱动电路, 28 脚双列封装,是一种多功能L ED 数码管驱动芯片,可与多种单片机接口使用。ICM7218 的输出可直接驱动L ED显示器,不需外接驱动电路,工作电压为+5V,其构成的显示电路结构简单,使用方便。同样由单片机向ICM7218写控制字及数据,编程部分像给外部RAM写数据一样简单。

当单片机写入模式控制字后,ICM7218以约定的方式接收显示数据并将数据写入静态显示RAM中。数据接收结束,ICM7218在扫描控制电路的控制下,按设定的译码模式,以动态扫描显示方式向段显示驱动器和位控驱动器发出控制信号,直到下一个控制字写入前,不停地进行动态显示工作。其引脚图和内部框图如图3-7所示。

图3-7 ICM7218引脚图及内部框图

淮阴师范学院毕业论文

15

3.2 单片机外围接口电路 3.2.1晶振电路

晶振电路为单片机80C51工作提供时钟信号,芯片中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振荡器一起构成自激振荡器。电路中的外接石英晶体及电容C2、C3接在放大器的反馈回路中构成并联振荡电路,系统的晶振电路如图3.3所示。由于外接电容C2、C3的容量大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,电容的容量大小范围为

30pF?10pF;如果使用陶瓷谐振,则电容容量大小为40pF?10pF。本设计中使用石英

晶体,电容的容值设定为30pF。

3.2.2 复位电路

复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。80C51的复位信号是从REST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果REST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,本设计采用的是手动按钮复位。

手动按钮复位需要人为在复位输入端REST上加入高电平,采用的办法是在REST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的+5V电平就会直接加到REST端,系统复位。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,设计完全能够满足复位的时间要求。复位电路中SW-PB为手动复位开关,电容C1可避免高频谐波对电路的干扰。80C51的复位电路如图3.8所示。

淮阴师范学院毕业论文

16

图3-8 80C51晶振和复位电路原理图

3.3 数据采集电路

本设计中的A/D使用的是通用8位芯片ADC0809,烟雾、温度传感器的输出端经过放大电路后分别接到ADC0809的IN0和IN1。 ADC0809的通道选择地址由80C51的P0.0~P0.2经地址锁存器74LS373输出提供。

芯片的几个重要管脚功能如下:

ALE:地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入. 当P2.0=0时,与写信号WR共同选通ADC0809。

START:转换启动信号,当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。

EOC:转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。

由于本设计中数模转换芯片使用的是ADC0809,其工作的时钟信号为500KHz,因其内

淮阴师范学院毕业论文

17

部没有时钟电路,时钟信号由外部80C51的ALE端口提供。系统80C51与ADC0809接口电路如图3-9所示。

图3-9 -1 80C51与ADC0809接口仿真电路

图3-9 -2 80C51与ADC0809接口电路原理图

淮阴师范学院毕业论文

18

当80C51的ALE端口不访问外部存储器时,80C51的ALE端以时钟振荡频率的1/6输出固定的正脉冲信号,故晶振设定12MKz,再经过二分频电路,单片机即可向ADC0809输出500KHz的时钟信号。二分频电路由D触发器实现,R、S端接地,D接Q非,Q端作为输出端,CLK接80C51的ALE端。D触发器的特性方程为

Qn?1?D

由于当CP=1时,D触发器有效;CP=0时,触发器保持原来状态。故D触发器能实现对ALE端口的信号二分频。由于本火灾报警系统只采集温度、烟雾信号,经过调理的温度、烟雾信号分别进入ADC0809的IN-0和IN-1端口,其余输入引脚接地,8个数字量输出引脚接80C51的P0口。单片机的P0口接受ADC0809传输来8位数字量,向A/D输出的8位地址经地址锁存器74LS373锁存,选择低3位地址作为A/D的通道选通地址。ADC0809通道选通如表3.1。

表3.1 ADC0809通道选通

通入通道 A B C IN0 0 0 0 IN1 0 0 1 IN2 0 1 0 IN3 0 1 1 IN4 1 0 0 IN5 1 0 1 IN6 1 1 0 IN7 1 1 1

本设计使用74LS373作为地址锁存器,当三态允许控制端OE为低电平时,输出端O0~O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0~O7呈高阻态,既不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。图中三态允许控制端OE接地,表示三态门一直打开。锁存允许端LE为高电平时,输出端O0~O7 状态与输入端D0~D7状态相同;当LE由“1”变为“0”时,数据输入锁存器中。LE端接至单片机的地址锁存允许ALE端。

当P20=0时,与写信号WR共同选通ADC0809。图中ALE信号与START信号连在一起,在WR信号的前沿写入地址信号,在其后沿启动转换。当ALE端口变为高电平,将74LS373输出端的低3位地址存入A/D的地址锁存器中,此地址经译码选通8路模拟输入之一到比较器。START上升沿将A/D内的寄存器清零,下降沿启动 A/D转换,之后EOC端变成低电平,指示转换正在进行。例如,输出地址F8H可选通通道IN0,实现对温度传感器输出的

淮阴师范学院毕业论文

29

附 录1电路原理图

29

淮阴师范学院毕业论文

30

附录2 系统程序

#include

#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对现场判断 }; }

30

淮阴师范学院毕业论文

31

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--); } }

31

淮阴师范学院毕业论文

32

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;} //两次采集的数据标志位不同,系统故障

32

淮阴师范学院毕业论文

19

模拟量进行转换;输出地址F9H可选通通道IN1,实现对烟雾传感器输出的模拟量进行转换。ADC0809的转换结束状态信号EOC接到80C51的INT1引脚,当A/D转换完成后,EOC变为高电平,表示转换结束,结果数据已存入锁存器,并产生产生中断。当80C51知道A/D转换完成后,P20与读信号RD共同控制下的A/D端口OE电平变为高电平时,输出三态门打开,转换结果的数字量输出到单片机上。

3.4 信号处理电路

图3-10 信号处理电路

由于传感器输出的模拟信号比较微弱,且含有干扰信号,所以系统需要将信号进行放大、过滤 。对于传感器输出的模拟信号,一般要用运算放大器对其进行调理或放大,以满足A/D转换器对输入模拟量幅值及极性的要求。在本报警器电路中,同样要对两类传感器的输出信号进行放大调理。电路图如上图3-10所示,运算放大器接成电压放大电路。从传感器采集过来的微弱电压信号,经过电压放大器的放大,得到较强的模拟电压信号。采样时,把相应的模拟电压信号从Vi端送进LM324A进行放大处理后,从Vo端输出送入A/D转换电路。

淮阴师范学院毕业论文

20

3.5 报警电路 3.5.1 语音报警电路

图3-12 语音报警电路

AD转换器输出的数字信号传输给P0口,读取P0口的内容跟设定的值进行判定,如果大于设定值,P2.1输出低电平,控制语音芯片ISD1420的发出火灾语音报警. 如果小于于设定值,P2.1输出高电平,说明正常,没有火灾发生。

3.5.1 光报警电路

淮阴师范学院毕业论文

21

图3-11 光报警电路

AD转换器输出的数字信号传输给P0口,读取P0口的内容跟设定的值进行判定,如果大于设定值,P2.3、P2.4输出高电平,P2.2输出低电平,控制红色发光二级管的发光,实现光报警功能. 如果小于设定值,P2.2、P2.3输出高电平,P2.4输出低电平,控制绿色发光二级管的发光,说明正常,没有火灾发生。如果出现异常情况,P2.2、P2.4输出高电平,P2.3输出低电平,控制绿色发光二级管的发光。

3.6 数码管显示电路

数据采集进来并被成功地由模拟量转化为数字量后,就被传送到系统的显示模块,让人们更直接地观察到相关数据。在本系统中,对LED进行的是动态扫描,除了给显示器提供段的输入之外,还要对显示器进行位控制。

本系统显示用的4位七段数码管由数码管专用驱动芯片ICM7218A驱动,分别接数码管的a、b、c、d、e、f、g,DIGIT1、DIGIT2、 DIGIT3、 DIGIT4为位选,分别控制4位数码管的亮灭,ID0-7为数据线,接单片机P0口.WRITE、MODE是写控制位和模式控制位,分别接单片机P3.6、P2.5。其电路图如图3-9所示。

淮阴师范学院毕业论文

22

4.1 火灾报警系统程序设计 4.1.1主程序流程图

火灾报警系统控制器采用主控芯片为80C51,是火灾报警系统智能化的统一体现。 为了方便系统维护,火灾报警系统的软件采用了模块化程序设计方法,系统通过子程序调用,实现各个模块的具体功能。不仅使程序结构清晰,又易于以后进一步扩展它功能。本系统主要包括主程序、温度烟雾数据采集子程序、火灾判断与报警子程序等[ 4 ]。系统程序流程图如图4.1所示。

图4.1 程序流程图

主程序是一个无限循环体。首先,在上电之后,系统初始化各部分包括单片机输出输入端口的设置、数据存储电路、外围驱动电路等。紧接着报警系统的实现,数据采集程序,确定火灾报警程序。初始化后,80C51的,P2.1、P2.3、P2.4为低电平,P2.5是高电平,红灯、黄灯不亮,蜂鸣器报警。

4.1.2主程序初始化流程图

图4-2所示为主程序初始化流程图。实现以下功能:各种I/O输入输出状态的设定、

淮阴师范学院毕业论文

23

寄存器初始化、中断使能。首先设定定时器工作方式,再开系统中断,以响应中断定时,并对烟雾和温度进行采样。关闭蜂鸣器,开启绿灯,设置报警限初值。

开始 定时器初始开中断 关闭蜂鸣器,打开绿灯 N 是否保持报警初值 Y 返回 设定初值

图4-2 主程序初始化流程图

4.2 数据采集子程序

数据采集是火灾报警系统中的至关重要环节。为了降低误报率,设计系统时对温度和烟雾两次采集、两次判断。两次采集的数据都存入单片机的寄存其中,然后将采集的数据与设定的阈值进行比较,判断现场是否发生火灾。

具体流程是:初始化系统和程序后,驱动ADC0809的IN0对温度信号进行A/D转换,寄存器存入转换好的数据;系统延时10ms,再次执行上一步骤。在系统延时50ms后,进行第二次温度烟雾信号采集,将转换好的数据存入寄存器中。单片机每次驱动A/D转换后等待外部中断1,当ADC0809的EOC端变为1时,即中断到来,说明已经完成A/D转换。

由于是模块化设计,报警功能是通过调用子程序实现的。一次温度烟雾信号采集设定延时10ms,以保证ADC0809可以进行下一次信号转换。系统采集二次温度烟雾信号,转换好的数据存入单片机的寄存器中,系统再调用子程序。温度烟雾信号采集程序流程图如图4.3所示:

本文来源:https://www.bwwdw.com/article/tjzf.html

Top