毕业论文基于AT89C51单片机的烟雾报警器设计 下载本文

4 系统的软件的设计

4.1系统主程序设计及流程图

主程序流程图如下图所示。首先要给传感器预热,因为QM-N5型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。程序初始化结束后,系统进入监控状态。主程序设计先对传感器预热,预热同时,对传感器进行故障检测,采用软件方式检测传感器加热丝或电缆线是否断线或者接触不良。

传感器是否故障 传感器预热及故障检测 程序初始化 开始 Y N N 信号采集及放大

Y 放大信号是否为零 N A/D转换 进入报警子程序

图4-1主程序流程图

23

在整个报警器系统工作中,AT89C51单片机对传感器检测的烟雾浓度信号进行信号放大、A/D转换处理后,由单片机进行分析处理,判断系统是否启动声光报警。主程序还包括LED八段式数码管浓度字符显示功能、消音按键功能、安全联动装置,中断子程序等,使报警器功能更加完善,给用户带来便利。

4.2主程序初始化流程图

主程序初始化流程图如图4-2所示。给传感器预热后,程序开始执行初始化子程序,这部分实现的功能包括各种I/O口输入输出状态的设定、 寄存器初始化、中断使能等。

开始 设置定时器0,选择方式1 允许外部中断0

点亮绿灯,熄灭黄灯和红灯

关闭蜂鸣器 关闭安全联动装置

熄灭数码管 结束

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

4.3报警子程序设计及流程图

当放大后的信号不为零时,即烟雾浓度达到系统的报警预设值,此时报警器发出一种近似警笛的鸣叫声,对应输出通道的红灯闪亮,换气扇自动运行,并且延时打开调节阀。为防止误报,在程序设计上,对烟雾浓度进行快速重复检测和延时报警,以区别出是管道中烟雾的泄漏,还是由于暂短打开阀门产生的可燃烟雾的微量散失,防止误报。报警子程序流程图如图4-3所示。

24

开始 放大信号不为零 熄灭绿灯 延时20s子程序 信号采集 放大信号是否为零 Y N 数码管显示字符0 黄灯闪烁30min 传感器故障自诊断 蜂鸣器鸣叫30min 传感器是否故障 Y N 消音键是否 N 按下 Y Y 红灯闪烁60min 数码管显示字符1 启动换气扇 蜂鸣器鸣叫60min 按键扫描蜂鸣器 子程序 继续鸣 延时600s 子程序 蜂鸣器停 止鸣叫 返回子程序

图4-3报警子程序流程图

25

打开调节阀

4.4按键输入设计子程序流程图

本报警器设计附加一个消音功能按键。按键由于弹性作用的影响,在闭合及断开均有抖动过程,从而使电压也出现抖动,所以在识别按键时要消除抖动的影响。按键的识别方法采用扫描法,按键处理程序流程图如图4-4所示。

开始

N 按键是否闭 合

Y

调用延时子程序,延

时10ms去抖动

按键是否闭 N 合

Y

提取键值

调用键盘处理子程序 结束 图4-4 键盘扫描子程序流程图

26