APP下载

基于51单片机的智能家居火灾报警的设计与实现

2021-09-23李继红安迎建

电子技术与软件工程 2021年12期
关键词:子程序烟雾调试

李继红 安迎建

(云南工商学院 云南省昆明市 651701)

1 引言

随着社会的进一步发展,相关硬件采集系统飞速的发展,所谓的火灾预警数据采集已经遍布各行各业,工业内部,农业内部、家庭生活内部等,我们能发现相关数据采集无时无刻遍布在我们身边。以及相关软件系统的飞速发展,相关系统在开发过程中能够能更加省时省力地进行。二者的相辅相成,进一步促进了数据采集行业的发展,这也为我们的火灾预警系统坚定了基础,提供了全方面的技术保障。但是,在这样的环境下,也出现了相关采集系统的成本较高,不能够完美的切合实际,往往会出现系统和实际解决问题不相符、不匹配的问题,并且其检测的数据往往精度不高,不能够实现更为细致精确的数据测量工作,这也为人们的日常工作提供了不便[1]。由于相关检测设备的参差不穷,检测设备的目的性质参差不穷,能够真正的符合本次需求分析的采集系统有少之又少。所有,如何能够出现一款切合实际的火灾预警系统,那将能够大大有效的提高整个行业标准,也为相关的工厂单位、事业单位提供稳固的保障[2]。为了能够进一步提高采集数据的快捷性和准确性,从数据的采集端进行稳固的保障工作,将能够大大提高整个火灾预警系统的工作性能。本次火灾预警系统设计通过从改善整个数据采集的工作过程,实现自动化、时实化的工作性质[3],为后续火灾预警联动以及消防设备管理系统扩展以及系统发展有深远的意义。本次实现的火灾预警系统是在总结前人的工作以及传统工作系统的不足,进而在更优质的选择下达到工作目的。通过物联网技术改变传统工作的工作模式,通过更优质高效的计算机子系统的处理下,使得火灾预警相关数据检测工作变得人性化、智能化。简化了往常工作的复杂性,提高了效率[4]。并且,火灾预警系统的实现也使得人们的生活质量显著提高,人们能在花费少量的时间和精力下,实现往常的等价工作,大大提高了人们的办事效率。数据的及时性传输也能够让整个火灾系统的即时性大幅度提高,传统的数据获取不光复杂,数据整理起来也不方便,有可能出现数据丢失等情况。但是,在物联网计算机处理数据下,获取的数据以及反馈也能减少不必要的错误,提高数据的精确性和准确性[5]。

本课题基于单片机技术,在分析了以智能家居火灾报警系统开发使用的智能需求为基础,设计了一种基于51单片机的智能家居系统火灾报警系统。同时加入了多种传感器电子技术辅助使用。可以通过按键对系统当前时间、温度阈值、烟雾阈值进行修改,并将温度检测模块以及烟雾检测模块得到的数据实时显示在LCD1602上,便于用户观察,同时将数据通过蓝牙无线模块发送至手机APP上,当监测到的温度超过设定临界值值时,指示灯闪烁,语音播报模块发出声音播报“温度过高”,隔十秒一次报警;当烟雾浓度超过设定临界值时,指示灯闪烁,语音播报模块发出声音播报“烟雾过高”,隔十秒一次报警;当温度和烟雾浓度同时超过临界值时,指示灯连续闪烁,语音模块循环播报“火灾快跑”。同时,手机APP端也可以接收到火灾逃跑的信息。

2 系统总体结构设计

2.1 需求分析

图1:系统总体结构

采集端通过中央处理系统,配合相关的数据监测模块能够进行实现整体数据的采集工作。本次设计的基于单片机的智能家居系统火灾报警是通过单片机以及其他采集模块共同配合下,处理温度以烟雾工作流程中的问题,数据采集端通过管脚把信息传输到单片机处理端,单片机能够完美的把数据进行处理,为后续的各种操作打好基础。以及通过单片机的高性能把信号数据进行处理封装。

系统主要实现的功能有:

(1)系统成功地通过温度传感器检测到温度数据;

(2)系统通过烟雾传感器成功检测到烟雾数据;

(3)系统通过语音模块进行危险播报处理;

(4)系统能够通过按键进行报警阈值的设置;

(5)能够通过无线方式发送至上位机供用户观测。

2.2 系统总体框架设计

基于单片机的智能家居系统火灾报警设计项目总共分为以下几大模块:电源模块;STC89C52单片机处理模块;复位电路模块;晶振电路模块;LCD1602显示模块;ADC0832模数转换模块;按键模块以及语音模块。

系统总体结构如图1所示。

3 系统软件设计

在单片机植入的程序选择上,根据课程上的学习程度以及当前主流的程序,该系统软件选择C语言进行开发设计,C语言是一种面向过程的抽象的编程语言。其契合度十分合适对于应用底层的开发,十分满足本系统的需要。C语言能够通过使用简易的程序编译,使用低级的存储器。并且高效以及跨平台性。相对于汇编语言来说,汇编语言,代码单调,特殊命令字符少,代码冗长难写,汇编语言调用内存存储数据,因此bug发生较大,兼容性较弱,调试也比较困难。 综合上述分析,本系统采用了C语言作为本系统的开发语言,因为各个模块的调度问题,选择C语言能够提升开发效率,降低出现问题的可能性。

3.1 软件设计思想

在软件编程过程中主要采用的是模块化编程思想,对各个模块分别进行调试,在所有模块都能实现其本身的功能时,把各个模块结合起来,形成一个有机整体。这样设计方便于在软件编程过程中程序代码的优化,并且能更好低完成对程序的设计、调试和维护。软件系统主要分为系统主程序和任务子程序两大部分,其中,任务子程序主要用来实现各个模块的功能,而主程序则负责调用任务子程序,实现整个系统的功能。本系统中主要包括:初始化子程序、按键设置子程序、ADC模数转换子程序、蓝牙发送子程序、语音驱动程序、LCD显示子程序。软件完成后能够实现以下功能:

图2:软件总体设计流程

(1)各硬件初始化;

(2)按键设置系统的运行状态以及更改时间信息、温度临界值以及烟雾浓度临界值。

(3)LCD1602显示系统当前运行状态以及系统的时间、温度临界值以及烟

雾浓度临界值,便于用于进行相关操作。

(4)烟雾模块监测烟雾数据、温度模块检测温度数据、语音模块驱动报警。

(5)蓝牙模块发送监测信息至手机端,便于用户远程进行监测。

3.2 软件设计实现

本系统的人机交互部分主要依靠软件实现软件的设计,流程如图2所示。

3.3 LCD1602工作流程

LCD显示当前采集的信息,在设计LCD的单片机程序部分时,为了能让我们的设计思路清晰明了,LCD的功能更加清楚,最简单有效的开发方式就是先画出LCD的具体流程图,然后按照流程步骤一步一步的设计程序,就避免遗漏重要的显示信息的情况。

3.4 按键模块

本系统中主要利用按键模块来设置系统工作模式以及更改系统时间、温度阈值和烟雾阈值。

4 总结与展望

本次智能家居系统火灾报警系统主要能够实现室内温湿度监测、烟雾浓度监测等功能,并且可以设定环境参数临界值,当监测到环境数据大于临界值时,自动启动语音模块报警提示,通知用户尽快逃离,并且通过蓝牙模块与手机相连,供用户在一定范围进行监测,实现对火灾的预防与扑救。

在整个系统调试的时候,首先是对硬件方面的调试,在表面上来看似乎把每根线的接触都是连接好了的,这就往往迷惑了自己,只能看到表面,似乎硬件的调试没什么难度,就是按照电路设计图来完成,但是也会产生一定的原因,比如接口焊接不稳,在后续的软件调试还会以为是硬件的问题。所以我们必须掌握相关的调试方法,根据故障现象,分开模块进行调试,反复的测试和判断,分析故障的点在哪里。在测试过程中对硬件电路模块的测试主要是测硬件的相关参数以及等,在这个硬件的测试的时候进行综合仿真分析问题。对里面的代码采用了Protues仿真测试,一个一个模块的测试,最定位到问题,逐个解决,最后完成。在这整个软件与硬件的测试中,提高了对事情的分析以及解决能力,提高了对本专业的知识以及兴趣,因此,在未来我会在此方面以及扩展方面不断的学习和积累经验,最后设计出更多实用的功能。

猜你喜欢

子程序烟雾调试
影视剧“烟雾缭绕”就该取消评优
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
咸阳锁紧烟雾与尘土
无线通信中频线路窄带临界调试法及其应用
调压柜的调试与试运行探讨
会下沉的烟雾
子程序在数控车加工槽中的应用探索
简化编程与子程序嵌套的应用