基于单片机智能火灾报警系统-毕业设计 - 图文 下载本文

控制输出的状态指示灯。绿灯亮表示正常状态,环境中没有火灾危险。黄灯亮表示传感器加热丝发生断线或者接触不良。红灯亮表示环境中烟雾浓度、温度超过报警限值,提醒用户尽快采取相应措施。

控制键电路采用独立式按键设计。4个按键分别接到片。P1.0、P1.1、 P1.2和RST,对于这种键各程序可以采用中断查询的方法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的键处理。4个键定义如下:

P2.1:S1功能转换键,按此键则开始键盘控制。

P2.5:S2加,按此键则温度设定值加一度或烟雾浓度增加0.01%。 P2.6:S3减,按此键则温度设定减少一度或烟雾浓度减少0.01%。 RST: S4复位键,使系统复位。 3.8报警器故障自诊断

判断传感器电源连接情况。在传感器的地端串联一个电阻R,当传感器正常连接时,电阻和传感器分压,此时电阻两端有微弱的电压,单片机可以通过P2.1口检测到:如果如果传感器电源连接不正常,则会产生断路,检测到电阻两端电压为0。

4 系统软件设计

4.1 主程序流程图

主程序流程图如图4.1-1所示:

13

开始 初始化 传感器预热、故障检测 键盘处理 Y 是否按下模式切换 N A/D转换 平均值法滤波 线性化处理 Y 是否超过报警限 N 浓度显示 设置指示灯状态 报警限设置 报警子程序

图4.1-1 主程序流程图

首先要给传感器预热三分钟,因为传感器需要预热一段时间才能正常采集烟雾和温度信息。预热同时,对传感器加热丝故障检测,采用软件方式检测传感器加热丝或电缆线是否断线或者接触不良。程序初始化结束后,系统进入监控状态。AT89S52单片机对传感器检测到的烟雾浓度和温度信号进行A/D转换、平均值法滤波、线性化处理后,将检测值与报警限设定值相比较,判断是否报警。同时送入显示器显示通道及相应的数字量。主程序还包括状态指示灯及按键功能,中断子程序等,使报警器功能 更加完善,给用户带来便利。

4.2 主程序初始化流程图

主程序初始化流程图图4.2-1所示。这部分实现的功能包括各种I/O输入输出状态

14

的设定、寄存器初始化、中断使能等。首先设定定时器工作方式,然后开系统中断,以便响应中断定时,及时对气体浓度和温度进行采样。然后关闭蜂鸣器,开启绿灯,设置报警限初值。

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

图4.2-1 主程序初始化流程图

4.3 滤波子程序

在对气体浓度采样时,可能会遇到尖脉冲干扰的现象。干扰通常只影响个别采样点的数据,此数据与其他采样点的数据相差比较大。如果采用一般的平均值法,则干扰将“平均”到计算结果上去,故平均值法不易消除由于脉冲干扰而引起的烟雾浓度采样值的偏差。 为此,可采取去极值平均滤波法,先对N个采样数据进行比较,去掉其中的最大值和最小值,然后计算余下的N–2个数据的算术平均值。这种方法既可滤去脉冲干扰又可滤去小的随机 干扰。保证报警器检测烟雾浓度的准确性,减小误报、错报的可能。

15

开始 设定采样次数 调用A/D采样 N 已达到设定次数 Y 将采样值排序 求第二个到第九个采样值的累加和 将累加和求平均值 送入寄存器

图4.3-1 滤波子程序流程图

4.4 线性化子程序

本毕业设计报警器使用的TGS-202型传感器的电阻是随着可燃气体浓度值的升高而降低的,因此输入单片机的电压也是随之降低的。电压值与气体浓度之间是非线性的关系,为了实时显示烟雾浓度需要对其进行线性化处理。在误差许可范围内,根据标定曲线形状,以及单片机处理能力,把曲线分成若干小段,对每小段分别线性化根据分段线性插值法求输入单片机的某一电压值对应的烟雾浓度,分段插值法线性化程序流程图如图4.4-1所示:

16