基于单片机的烟雾报警系统设计 下载本文

基于单片机的烟雾报警系统设计

4) 报警温度减小键,可以对报警上限温度进行减小调整,正常显示时,不响应此按钮。

2.6.3 烟雾报警状态指示灯

本设计使用了3个LED灯,一个显示为电源指示灯,另两个显示为烟雾报警状态指示灯。系统正常上电时指示灯绿灯亮红灯灭,发生火灾时绿灯灭红灯亮。

3 烟雾报警系统的应用软件设计

3.1 STC89C52系列单片机的调试及开发工具

该系统的软件编程使用我们的愿景是兼容凯尔软件公司在美国发布的51系列单片机C语言软件开发系统,使用接近传统的C语言的语法发展,与汇编程序对比,C在性能、结构、可读性和可维护性有着明显的优点,所以简单学习和方便使用,并且极大地提高工作效率和项目开发周期,他还可以嵌入到组装,可以嵌入在关键的位置,使我们的C51程序生成的目标代码效率非常高,大部分的语句生成的汇编代码十分紧凑,便于理解。

在开发大型软件能体现高级语言的优势。C语言与汇编语言比较,在功能、结构、可读性和可维护性有着明显的优势,所以容易使用和容易学习。凯尔C51软件供应了一个充分的库函数和功能强大的调试工具和大型集成开发,所有的Windows界面。接近工作组装的效率。

3.2 PROTEUS仿真环境简介

英国Labcenter EDA工具软件的电子公司生产了Proteus软件,并且Proteus应用极为广泛,在世界各地的公司都用其来办公,它为人类造福已经20年了,它的发展迅速,对社会现代化建设提供了宝贵的力量。它除了具有和其他EDA工具,自动或手动布局的原则,PCB布线和电路仿真功能,它的功能是建立新的进步社会制度,它的电路仿真是可视的, 互动的,针对微处理器的应用,还可以直接在单片机原理图的虚拟原型上进行编程,并完成了实时软件源代码级调试,如果有任何显示和输出,还可以看到输入和输出的影响,在虚拟软件中,Proteus 软件可以节省成本,降低公司的前期投入,以及产品的实验开发,Proteus 配合其他电子软件,能够相互协调,完成公所需要的电子实验,帮助公司记录数据和逻辑分析。PCB设计和自动布线实现电子设计的一个完整的系统。得益于多年的不断发展,该系统是“电子世界”在PCB设计系统比较文章最佳产品——“PCB路线

基于单片机的烟雾报警系统设计

CAD”。普罗透斯系列产品还包括我们的革命VSM技术,用户可以基于微控制器的设计以及在模拟所有的电子设备。用户甚至可以实时采用如LED / LCD、键盘、RS232终端动态外设交互仿真模型设计。它的功能模块:一个易于使用的和强大的伊希斯原则

Proteus 主要特征:

(1):支持许多通用的微控制器,如 ARM,PIC,AVR,以及8051. (2)交互的装置模型包括:LCD 和LED 终端,RS232 显示,键盘通用 (3)强大的工具调试,包括存储器和寄存器,单步模式和断点 (4)开发工具的源层调试有IAR C-SPY 和 Keil uVision4等 (5)提供有关元件库的全部文件-应用特殊模型的 DLL 界面

启动Proteus ISIS我所使用的Proteus 是Proteus7.2 SP6 破解版,使用的过程中还算稳定,但存在一些BUG,一些元件找不到。

3.3 系统主程序初始化流程图

主程序初始化流程图如图所示。程序开始执行初始化子程序,这部分实现初始化系统变量P0、P1、P3时钟芯片初始化,判断条件是否成立,是否有烟雾、温度的传感,进而进行扫描程序,报警处理温度的读入等。

3.4 扫描程序流程图

系统通过扫描读入浓度,计算级别读入温度并判断温度超过上限,置tempflag=1数码管显示。

3.5 报警程序流程图

系统正常上电时指示灯绿灯亮红灯灭,发生火灾时绿灯灭红灯亮。系统还设计一个紧急按钮,当到烟雾受到检测时,可以自动检测报警或者按下紧急开关即可实现报警。

4 烟雾报警系统调试 4.1 烟雾报警硬件调试

本烟雾报警系统硬件实物图如下:

本烟雾系统设计中当烟雾浓度处于3以下时不会发生报警,蜂鸣器不会发出声音,此时系统绿灯亮红灯灭

(1)烟雾浓度为1时:

基于单片机的烟雾报警系统设计

(2)烟雾浓度为2时:

(3)当烟雾浓度处于报警浓度3时:

由显示LED灯处于绿灯灭红灯亮的状态,此时系统出现报警鸣叫状态。 4.1.1 温度报警

(1)通过设置上限报警温度值的大小来观察实物红绿灯的闪烁情况。实物通电,打开开关按下设置键可以观察到其上限报警温度值

(2)实物通电打开电源开关可以观察到现有状态的温度值 (3)通过温度调节按钮,将报警温度值调节到25

(4)通过用嘴哈气致使温度上升达到报警温度25,可以查看到发生报警,绿灯灭掉红灯亮,蜂鸣器发出声音报警

4.1.2 紧急报警按键报警

当按下紧急报警按键,系统立刻发生报警,红灯亮绿灯灭 4.2 烟雾报警软件调试

本设计是烟雾报警系统,在进行PROTEUS仿真时由于无法实现烟雾浓度的大小,在这里采用的是用调节滑动变阻器的大小来替代烟雾浓度的大小,进而实现报警的状态。PROTEUS仿真时,对于三极管的仿真,其速度太低,反应不过来。这里采用集成电路的反相器74ls04,代替三极管(逻辑上是相同的),这样速度就上去了,数码管也可以正常显示。

4.2.1 烟雾浓度报警仿真调试 打开PROTEUS进行仿真可以观察到:

(1)当改变滑动变阻器使其浓度显示为1时,系统正常绿灯亮红灯灭 (2)当改变滑动变阻器使其浓度显示为2时,系统正常绿灯亮红灯灭 (3)当改变滑动变阻器使其浓度显示为3时,系统绿灯灭红灯亮发生报警 4.2.2 温度报警仿真调试

(1)打开设置温度键,可以观察到系统设置上限报警温度值 (2)观察系统初始显示温度值

(3)通过调节设置报警温度键,设置其报警温度为25

(4)调节温度模块温度大小使其温度增加到25,可以观察到系统绿灯灭红灯亮,发生报警

基于单片机的烟雾报警系统设计

4.2.3 紧急报警按键仿真

当按下紧急报警按键时,系统报警发生,绿灯灭红灯亮