基于单片机的火灾报警器设计
基于单片机的火灾报警器设计 摘 要 随着现代生活质量的提升,人们对生命财产安全有了更高的重视。日常生活中随时可能因为操作的失误而引发火灾,给人民带来伤害。虽然在某种层面上可燃性气体能够给人们生活带来便利,但是仍然存在着较大的隐患。为了进一步保障人们的生命财产安全,设计一套安全可靠的系统对环境中的可燃性气体进行实时监测显得很有必要。
本文设计了一套基于单片机STC89C51的报警系统,加入MQ-5传感器对环境中可燃性气体进行严密监控,采集数据后通过单片机核心模块再通过LCD1602显示器将可燃性气体的浓度显示出来。单片机处理数据时会与系统设定的浓度上下限值做对比,当超过范围值时会启动报警系统提醒屋主环境中可能存在可燃性隐患。整体系统设计较为简单,实现的功能较为完善,在现实生活中具有较高的实用价值。
关键词:可燃性气体;
传感器;
报警器;
STC89C51单片机 Design of fire alarm based on single chip microcomputer Abstract With the improvement of modern life quality, people pay more attention to the safety of life and property. In daily life may at any time because of the operation of the fault caused by fire, to the people. Although combustible gas can bring convenience to people's life on some level, it still has a big hidden danger. In order to ensure the safety of people's life and property, it is necessary to design a set of safe and reliable system for real-time monitoring of combustible gas in the environment. In this paper, a set of alarm system based on MCU STC89C51 is designed. Mq-5 sensor is added to closely monitor the combustible gas in the environment. After collecting data, the concentration of combustible gas is displayed through the core module of MCU and LCD1602 display. When the single-chip microcomputer processes data, it will compare with the concentration upper and lower limit set by the system. When the concentration exceeds the limit, the alarm system will be activated to remind the owner of potential flammability hazards in the environment. The overall system design is relatively simple, the realization of the function is more perfect, in real life has a high practical value. Keywords:Flammable Gas;
Sensor;
Alarm;
STC89C51 目 录 摘 要 I Abstract II 目 录 I 1绪论 1 1.1 课题研究背景 1 1.2 课题研究的必要性 1 1.3 国内外研究现状和发展方向 2 1.3.1 燃气泄漏检测报警器的现状 2 1.3.2 燃气泄漏检测报警器的发展方向 2 1.4 单片机概述 2 1.4.1 单片机的分类 2 1.4.2 STC89C51单片机介绍 3 1.5 ADC0809介绍 3 1.6 本课题研究的内容及章节 4 2 燃气泄漏检测报警系统概要 6 2.1 系统的功能要求 6 2.2 系统的技术要求 6 2.3 系统的组成及方案设计 6 2.4 易燃气体简介 6 2.5 MQ-5可燃气体传感器 6 3 燃气泄漏检测报警系统硬件 8 3.1 主控模块 8 3.2 燃气检测电路的设计 11 3.3 系统显示电路 11 3.4 声光报警提示电路 12 3.5 负载控制电路 13 3.6 按键电路 13 4 软件设计及实现 15 4.1 软件介绍 15 4.2 可燃性气体泄露报警器软件设计及流程 15 4.2.1主程序设计及流程图 15 4.2.2 气体浓度显示程序 16 4.2.3 声光报警程序 17 4.2.4控制按键部分程序 18 5 系统调试与数据分析 19 5.1 系统调试 19 5.1.1 硬件调试 19 5.1.2 软件调试 19 5.2 实验数据与分析 20 结 论 22 参考文献 23 致 谢 24 附录一 整体电路图 25 附录二 整体程序 26 1绪论 1.1 课题研究背景 21世纪经济快速发展,人们对物质文化的需求也越来越高[1]。在信息科技的支持下,事物在朝着简单化、便捷化、智能化的方向发展[2]。自中国实行改革开放以来,国家便大力发展天然气等行业,人们的经济水平得到了明显的提高,但同时隐患也逐渐增多起来。尽管在生活中天然气给人们的生活带来了许多便利,是厨房烹饪必不可少的资源。同时,天然气也是工业发展的重要资源,其在现代生活中扮演的角色越来越重要。现实生活中也不仅仅只有天然气这一种可燃性气体,包括液化气等都是常见的资源[3]。但以近几年来的新闻报道来看,可燃性气体带来的安全事故也时常发生,少有操作不慎或者疏忽都有可能造成煤气泄漏,引发火灾的情形发生,对人民的生命财产安全带来了极大的破坏。基于此,设计一套安全可靠的系统实时监测环境中的可燃性气体浓度就显得尤为重要,这也是降低事故发生概率最有效的措施。一方面系统显示可燃性气体浓度来提醒屋主,另一方面启动报警装置让屋主警觉,可以很好的防止安全事故的发生。
在此背景下应运而生的气体检测装置,正是信息时代的典型产物。传统的气体检测装置需要通过人工一一进行开启或者关闭工作,而现代气体检测装置数量越来越多,种类也越加繁多,当用户回到家中时,劳累的身体还需要对这些气体检测装置一一进行操作,加重了身体的负担,传统的模式已经不能够满足人们的需求,在这样的背景下,基于单片机的自动气体检测装置的产生很好的解决了这个问题[4]。
气体检测装置设计的过程中融合了多学科知识,包括自动控制技术、硬件布线技术等,通过在电器设备上安装传感器使电器设备统一连接于单片机中,达到自动控制传感器工作的目的,减少了人力资源的消耗,同时节约了资源,操作简单[5]。
在气体检测装置设计中,核心部分是单片机和报警、气体检测模块的电路连接设计,经过多年的发展,单片机和各子模块的连接设计已经发展出了不同的模式,主要为以下三种[6]:(1)通过键盘、LCD显示屏对气体检测以及报警装置进行控制:这种控制方式设计复杂,操作困难不易上手;
(2)通过软件平台对气体检测以及报警装置进行控制:这种控制方式操作简单,是目前主流的控制方式;
(3)通过手机移动端对气体检测以及报警装置进行控制:这种方式能够很好地解决远程控制问题,操作灵活,设计简单,但是成本较高。
1.2 课题研究的必要性 无论是在家庭环境中还是在工业领域都能够经常看见可燃性气体的声音。由于可燃性气体的主要成分是C、H、O等元素,起火点较低,因此属于易燃性气体。一旦操作失误很可能会造成煤气泄漏,且这些气体一般都有毒,当浓度超过一定值时,将会对人体的生命健康产生极大的影响,甚至可能引发火灾能恶劣性事件,给社会带来不幸和灾难。
设计可燃性气体的检测报警装置就是为了能够及时掌握环境中可燃性气体的浓度信息,一旦达到对人体产生危害的上限值,就能够及时作出反应,发出警告。现代社会市场发生煤气中毒或者煤气爆炸事件,给家庭和企业都带来了灾难,尽管国家在相关法律方面已经逐步完善起来,但是立法并不是解决问题的根本途径,因为安全隐患还存在,居民或者工人操作不慎或者粗心大意的状况不是能够通过立法就能解决的问题。因此,当下设计一套功能齐全的可燃性报警装置迫在眉睫。
1.3 国内外研究现状和发展方向 1.3.1 燃气泄漏检测报警器的现状 国内外研究人员对于可燃性气体的安全隐患已经有了成熟的认识,为了解决这个问题进行了几十年的深入研究,也开发出了一系列研究产品。其中关于检测气体浓度的传感器研究最早起源于上个世纪30年代,当时称之为气敏传感器。并且当时社会上对这种传感器的重要作用给予了高度重视,在一些重要的公共场合必须安装此类传感器来保障人民的生命安全,如医院、家庭等。同时,西方发达国家对每年的煤气泄漏事件做了详细的调查,发现这种安全隐患事件数量每年都在增长。
1.3.2 燃气泄漏检测报警器的发展方向 较之于西方发达国家,我国研究可燃性气体的装置起步较晚,于上个世纪70年代才开始引起重视。由于在大部分家庭环境中多使用的是煤气或者沼气,因此早期的研究成果也多以检测煤气或者沼气这种气体为主要对象。尽管我国在法律法规上也开始重视对可燃性气体的检测,但是到目前为止还没有明文规定在人类居住的公共场所如医院等环境强制要求安装可燃性气体报警装置。近些年来,人们的安全意识也逐渐提高,可燃性气体报警装置的适用范围也越来越广泛,将可燃性气体报警装置安装在每家每户也必然是未来发展的趋势。
1.4 单片机概述 1.4.1 单片机的分类 根据划分标准的不同,但面积也可以划分为不同的种类,一般常见的划分方式主要有以下三种:
(1) 根据结构的不同单片机可以分为通用型单片机和专用型单片机。前者适用于一般的场合,能够实现大部分基础功能;
后者专业性更强,一般只用来实现单一功能,因此适用的范围较窄。
(2) 根据单片机内部是否有纵线可以将其分为线型和非线型两种。前者内部设有总线,能够传输数据、地址等信息,还能够提供和外界进行联系的接口,但是后者基本把外围器件都集中于单片机内,无需扩展接口,因此成本比前者低。
(3) 根据应用场合的不同可以将单片机分为工业型和家用型两种。顾名思义,前者一般用在工业领域,因此对单片机的性能要求较高,需要能够处理大数据的计算等等,而后者的性能相对要求较低,因此这种一般结构较为简单。
1.4.2 STC89C51单片机介绍 图1-1 STC89C51单片机引脚图 具体而言,STC89C51这款单片机具有以下多个优点,使得它成为了当下众多系统设计中的首选单片机:
(1) 此款单片机所需提供的电压值很小,一般情况下只需要三节干电池就能够驱动其正常工作。
(2) 此款单片机适用的范围较广,最低能在零下40℃的环境下正常工作,最高能在85℃的环境下进行正常工作。
1.5 ADC0809介绍 当气体检测传感器采集到气体浓度信息后,仍旧是一个模拟信息,但是单片机只能处理数字信息,对此,需要设计AD转换电路来完成此功能,本系统采用ADC0809来完成这项设计,此芯片的引脚图可见如图1-2所示。
图1-2 ADC0809引脚图 如若想要实现AD转换的功能,需要给ADC0809芯片采取特定的操作。具体操作如下:首先,需要给芯片的输入端输入三位地址数据,用以将特定信息转换为数字信号,同时要将芯片的ALE脚置为高电平,这样才能保证地址数据顺利的保存到了芯片的锁存器中。当芯片的START引脚输入的电平发生跳变时,此引脚才会发挥作用,一般是在上升沿电平时引起芯片的复位操作,而如果是下降沿,那么就会进行正常的A/D转换。数据转换的结果是通过OE引脚输出,只有当此引脚被设置为高电平时,数据才能够准确无误的传输到数据总线上。由于数据传输是一个时间过程,因此芯片需要完成对数据是否传送完全的判断,次芯片的判断方式有以下三种:
(1)定时传送方式 此种判断方式就是给数据传输的过程设置固定的时间,在此时间内数据可以正常传输,超过此时间则不能进行传输,需要通过软件设计延时程序来完成此功能。
(2)查询方式 此种判断方式就是在芯片传输数据的过程中设置一个标志位,当标志位为1时则说明传输完成,交给芯片进行下一步处理。
(3)中断方式 中断方式与上述查询方式有相似的地方,都是通过设置标志位来完成,不过这里的标志位是以中断的方式进行判断。
1.6 本课题研究的内容及章节 本文的研究内容是首先详细了解单片机等器件的性能和特点以及功能实现的原理,接着根据本文的设计要求来完成每个子模块以及整体系统的硬件和软件设计,以STC89C51为核心展开深入研究,最后对整个系统的功能进行测试。具体研究内容及章节分配如下所示:
第一章就本文的研究背景等做详细的阐述,并深入探讨各芯片的工作原理。
第二章主要就本文需要实现的气体检测报警原理进行详细的阐述。
第三章硬件设计部分包含总体电路的设计和各个子模块的设计。
第四章软件设计部分与第三章内容一一对应,阐述软件设计流程。
第五章是对本文系统功能和性能的测试和调试。
第六章是对全文的总结。
2 燃气泄漏检测报警系统概要 2.1 系统的功能要求 本系统在设计初期就已经明确了需要完成的功能,如下:
(1) 检测部分:能够对环境中的可燃性气体进行实时监测,并通过显示屏显示出来;
(2) 报警部分:当检测气体的数据传输到单片机主模块处理后,判断浓度是否达到上限值,当超过上限值则启动报警装备。
2.2 系统的技术要求 在设计系统结构时,一个关键步骤就是要对单片机的技术性能做出选择,指的是根据系统的性能要求来选择合适的单片机类型。这就需要结合实际的情形来进行合理的选择,经过几十年的发展后,业内对单片机的选型已经基本形成了标准,适用于大部分场合。常用的几个标准有以下几种:
(1) 体积小:单片机是系统控制的中心模块,需要尽量选择体积小的单片机,减少占用的空间,这样在系统维护阶段也能表现出更好的性能。
(2) 功耗低:功耗问题始终是系统设计必须考虑的一个问题,一般情况下单片机系统都是采用干电池供电。
(3) 可靠性高:此标准指的是单片机系统在完成硬件部分的检测后能够在不同环境中表现出相同的性能,受环境影响较小,性能稳定。
2.3 系统的组成及方案设计 本文在设计系统组成时主要参考的需要完成的功能。因为要对环境中的可燃性气体进行检测,因此包含气体传感器检测模块,接着采集的数据信息需要转化为数字信息,因此包含AD转换模块,数据转化为数字信息后需要交由单片机进行处理,因此包含核心的单片机模块,此外,还需要将处理后的浓度信息显示出来,因此包含显示模块,最后,需要将浓度信息与上限值进行对比,超过了上限值需要发出警告,因此还包含报警模块。
2.4 易燃气体简介 本文研究的目的就是对环境中的可燃性气体进行检测,因此在这里需要对易燃性气体做出详细介绍。所谓可燃性气体,在现实生活中一般会与空气混合在一起,查阅相关的资料,发现当易燃性气体的浓度超过20%时就已经达到了爆炸的极限值,一般可燃性气体包含氢气、甲烷等。在本文中研究的可燃性气体主要是甲烷,这是一种无色无味的气体,一般很难通过人体器官进行识别,因此需要通过特定的器件进行识别。可燃性气体一旦与火花接触,就很容易引起爆炸。
2.5 MQ-5可燃气体传感器 本系统中使用的对可燃性气体进行检测的传感器为MQ-5,其具体外观见图2-1所示。这种传感器使用的是一种名为二氧化锡的气敏材料,根据其电导率的变化来反映空气中可燃性气体的浓度值。这是因为此气敏材料的电导率会随着可燃性气体浓度的提高而增大,因此在设计电路时只需要将电导率的变化转化为电压的变化即可。并且MQ-5传感器成本较低,能够对多种可燃性气体进行有效检测,在检测浓度方面表现出较好的性能。
图2-1 MQ-5可燃气体传感器 3 燃气泄漏检测报警系统硬件 3.1 主控模块 对于主控模块芯片的选择上,主要参考了以下三个方案:
方案一:单片机选择PIC系列 此系列的单片机一般是由美国的Microchip公司进行生产,此公司发展历史悠久,在业界已经形成了较好的品牌形象,始终以性能优越著称,因此这款单片机质量普遍较高,实现的功能齐全,但与此相对的价格也稍贵一些。
方案二:单片机选择MSP430系列 此系列的单片机一般是由德国的TI公司进行生产,自问世以来,该公司生产的单片机就以功耗低的优势在市场中占据极高的地位,能够实现基本的功能,但为了满足低功耗的需求在价格上也稍贵一些。
方案三:单片机选择STC89C51单片机 这款单片机是目前市面上乃至高校实验室内使用得最多的一款的单片机,因为这款单片机价格低廉,且功能齐全,基本能够满足现代系统设计的需求,因此成为了当下最热门的单片机。此外,由于此款单片机的CPU为八位,使得它在处理数据时表现出优良的性能,内部设有接口能够和外围器件相连,拓展性很强。
本文所设计的可燃性气体检测报警系统其核心控制模块为单片机模块。其核心控制作用主要表现在以下几个方面:首先,当可燃性气体检测模块检测好气体浓度数据后,会将此数据传输到单片机模块进行处理,处理时对单片机的处理性能有较高的要求,需要单片机有较高的处理速度,能够及时获取从MQ-5气体检测传感器部分传来的数据信息。其次,单片机需要将处理的信息传送给显示模块进行显示,让人们能够清楚的看到此环境中的气体浓度,达到很好的人机交互效果,方便屋主做好下一步计划和处理。鉴于需要和MQ-5气体检测传感器模块、显示模块和报警器等模块进行数据交互,本文设计的主控模块和各子模块的连接接口设计如图3-1所示。
图3-1 STC89C51 为了实现单片机STC89C51和外部电路的准确数据传输,需要详细了解单片机的内部电路,在此做出详细介绍。单片机的内部电路一般都是由单片机芯片、时钟电路复位电路和电源电路这几个重要部分组成,是STC89C51的核心电路,也是实现单片机主要功能的必要组成部分。另外,通过合理的设计,单片机和外围器件组合还可以形成更强大的系统,实现更复杂的功能。
构成STC89C51单片机的最小系统的两个关键电路是时钟和复位电路,接下来将针对此部分电路和原理做出详细介绍:
(1) 时钟电路 STC89C51单片机产生时钟频率的方式有两种,其一可以通过芯片内部的时钟电路产生,其二则是利用外界电路设计产生。前者的电路如图3-2所示,需要在单片机外围连接一个石英晶体,此石英晶体的震荡频率如图所示,当电路连接完成后,便会因为震荡作用而产生固定频率的震荡,形成时钟周期。
图3-2 STC89C51内部时钟电路 (2) 复位电路 在单片机所有的引脚中,其中就有一个引脚是完成复位操作,但若想实现复位操作,外围还需要设计电路完成,如图3-3所示。单片机的复位操作需要由一个高电平信号唤起,当高电平的信号持续了超过两个时钟周期时,单片机就能实现复位功能,具体设计电路见如图3-3所示。
图3-3 STC89C51复位电路 单片机STC89C51通过合理的设计还能够实现中断操作。需要进行中断操作的原因是能够提高单片机的工作效率,使得数据传输更为即时。实现单片机的中断功能需要完成一系列的设置,同时此操作还能避免单片机一直处于等待命令的状态。当单片机监控到系统发出的中断指令后,变会做出相应的请求,根据内部电路设计完成相应请求的处理,这些功能的实现都需要中断系统来完成,详细的中断过程如图3-4所示。
图3-4中断过程 3.2 燃气检测电路的设计 在设计可燃性气体检测电路时,由于需要将模拟数据转化为数字数据,所以需要将MQ-5芯片电路模块和ADC0809芯片模块进行统一设计。当MQ-5传感器检测到气体的浓度信息后,会将此模拟数据传给ADC0809模块进行数据转化,ADC0809处理后的数据才能交给单片机进行处理,具体的设计电路如图3-5所示。
图3-5 MQ-5电路 3.3 系统显示电路 因为要将自行车行驶过的里程数显示出来,因此本系统需要设计一个显示模块来完成此功能。在这里选用的是LCD1602液晶显示屏,外观实物如图3-6所示。之所以选择液晶显示屏,是因为较之于数码管,液晶显示屏操作更加简单,显示的画面更为清晰,不需要连续的刷新界面,实现的功能也更加可靠和安全。
图3-6 实物图 现如今,此款液晶显示屏已经设计得非常成熟,功能稳定,要想让其正常显示,需要通过调节电压来完成,只需要简单的设置便能够完成此项要求,在本系统中,为了实现显示功能,具体的电路设计如图3-7所示。
图3-7 液晶显示电路设计 3.4 声光报警提示电路 在实现基本功能之外还增加了一个附加功能模块,当浓度值超过某一个阈值时,系统就能够发出警报信号,告知屋主应该进行下一步适当的处理。因此在本系统设计中还加入了一个报警模块,使用的核心器件为蜂鸣器和LED。让蜂鸣器和LED实现报警功能,操作十分简单,具体设计电路如图3-8所示。在设计电路时需要注意的一个问题是,由于蜂鸣器正常工作的电流一般不超过30毫安,但是相较于单片机系统而言其正常工作的电流要远远小于这个值,且单片机本身无法提供30毫安的电流电路,因此为了解决这个问题,一般需要在报警模块中设计一个上拉电阻实现电流的降级,或者通过设计合理的放大电路,将单片机的小电流放大到能够让蜂鸣器正常工作的电流,为了简化系统设计,只能选择前一种设计方式。
图3-8 声光报警提示电路 3.5 负载控制电路 我们日常生活中见到的电磁继电器都是由铁芯、线圈、触点弹簧片、衔铁等多个器件组成。当我们在线圈上附加电压后,就会产生电磁感应效应,那么当磁场变化时就会有电流产生。电流产生力,那么就会将衔铁和铁芯相互吸住,使得衔铁的触点相互吸合;
当线圈两端没有电压后,产生的电磁力也会消失,从而衔铁会被弹簧弹回原来的位置,两触点就会分离。如下图所示即为负载控制电路的原理图,其中通过PNP型的三极管来驱动继电器。
图3-9继电器控制负载电路 3.6 按键电路 在本可燃性气体检测报警系统中,还是只有一个简单的按键模块来实现整个系统的初始化操作。当系统的其他模块正常工作时,按键模块的输入电压为高电平,此时初始化功能无法实现,只有当电压变为低电平时才能够实现初始化操作。因此本文需要设计一个按键模块来手动完成此功能,一旦按键按下,便能产生一个低电平信号,从而完成系统的初始操作,将可燃性气体检测报警记录的浓度值归零,重新进行浓度检测。
查阅资料了解到,目前市面上设计的按键电路有两种形式,分别是独立按键的设计形式和矩阵按键的设计形式。对于前者,由于是独立按键,当和单片机的IO口进行相连时,只能进行单线操作,也就是单片机的一个IO口只能实现一个按键的功能,而如果想要连接更多的按键,只能将其连接到电源或者接地模块,但是这种方法的优势是设计起来非常简单,实现的功能也比较稳定。后者采用的是矩阵的形式来完成按键,相较于前者这种设计模式会变得更加复杂,但是它也存在着较好的优点,比如单片机只需要通过少数的IO口便能够实现对多个按键的操作,结合本系统需要实现的功能,在这里选用第一种设计形式。
要想实现按键模块的正常功能,需要给这模块输入一个低电平信号,因此在设计模块的电路时,输入端需要与单片机的一个接口进行相连,以此来判断单片机模块输出的电压是高电平还是低电平。促使按键模块发挥功能的是低电平,这样才能够保证按键模块正常工作。
在了解按键模块的实现原理之后,还需要进行的一个重要操作就是对按键模块去抖。这是因为按键按下时,由于所按的频率不同,按键可能随时处在高电平和低电平之间的来回切换之中,这样会给系统判断造成麻烦,因此解决这个问题十分重要。需要注意的是,由于产生抖动的整个过程持续的时间非常短,一般都是在毫秒级以内,对于人类而言可能无法进行操控,但是对于单片机而言,这是一个极为漫长的时间,因此只需要通过合理的电路设计便能够完成去抖的操作。现成的去抖方式主要有两种分别是硬件去抖和软件去抖, 前者就需要设计合理的去抖电路,后者的设计方式就需要尽量规避抖动时间,当电压稳定之后才对电压的高低进行判断。本文结合两种方式来对案件模块进行去抖操作,具体设计电路见图3-10所示。
图3-10按键电路 4 软件设计及实现 4.1 软件介绍 要想实现对自行车里程数正常的计数功能,还是要进行完整的软件设计,本系统所采用的平台为Keil uVision4,此系统平台是针对单片机开发的专用c语言开发平台,对于51系列的单片机都能够实现完整的软件操作。本系统在设计软件模块时,此平台已经更新到了第4版本,相较于前面几个版本的平台,此版本的优点是软件开发平台的界面更加美观,工具库也更加丰富,能够实现更加复杂的功能,现如今也成为了51系列单片机开发的必备开发平台。
在进行软件设计时,只需要在此平台上画好相应的电路,进行合理的电路连接,将c语言程序设计文本装载到此模块中,就能够实现系统的软件功能,开发平台的操作界面见如图4-1所示。
图4-1 Keil软件界面 4.2 可燃性气体泄露报警器软件设计及流程 4.2.1主程序设计及流程图 进行主程序设计时,首先需要考虑的是对系统进行初始化,实现的功能是首先从MQ-5模块读取可燃性气体的浓度,接着将读取的模拟数据值传输到ADC0809模块进行模数转化,单片机模块会实时读取经过处理的气体浓度数字信号,在单片机内会与系统设定的浓度上下限值进行对比,一方面会将浓度值传输到LCD1605模块进行显示,一方面同时检测按键模块来初始化浓度数据,具体设计流程如图4-2所示。
开始 初始化 读取AD转换浓度值 判断当前 浓度范围 判断按键 是否按下 执行相应 的指示控制 设置相应参数 显示设置数值 结束 Y 图4-2 主程序流程图 4.2.2 气体浓度显示程序 软件设计师需要对显示模块进行程序驱动,让显示屏能够正常的显示实时检测到的气体浓度值,通过输入写入指令来完成这项功能。
下面给出显示程序的部分代码:
rite_com(0x80+0x40+11); write_data('0'+WARNING/100); write_data('0'+WARNING/10%10); write_data('0'+WARNING%10); write_com(0x80+0x40+13);//位置 4.2.3 声光报警程序 当浓度值超过了系统软件部分设定的预期值时,本系统的报警模块就会发出一个报警信号,用来提示屋主可燃性气体浓度已经达到了上限,需要做好安全防范措施,避免一些意外事故的发生,另外一方面也可以通过按键部分来重新对气体浓度进行检测,完成下一步操作。因此报警模块的设计十分重要,具体的设计代码如下所示:
下面给出部分报警程序的代码:
if(count==10) if(flag==0) { LED_G=0; LED_R=1; FENG=1; san=1; } if(flag==1) { LED_G=1; LED_R=0; FENG=0; san=0; } } if(count==20) count=0; if(flag==0) { LED_G=1; LED_R=1; FENG=1; san=1; } if(flag==1) { LED_G=1; LED_R=1; FENG=1; san=0; } 4.2.4控制按键部分程序 本文设计按键模块主要是为了能够对系统检测的气体浓度值进行清零操作,当,同时将清零后的结果经由单片机处理后交给LCD1602显示出来。按键模块的软件设计主要是对MQ-5模块传输的浓度值输入到单片机的入口后将单片机的电平调低,数值变为0。
5 系统调试与数据分析 5.1 系统调试 5.1.1 硬件调试 硬件调试的目的是为了使本系统设计的硬件电路模块能够实现原本应该实现的正常功能,在调试时需要借用示波器或者万用表。判断的标准是根据某一模块的输入输出电压值来进行判断,如果理想的输出电压出现了差错,那么就说明此模块的硬件电路可能出现了问题。现如今存在的硬件电路调试方法主要有两种,首先为静态调试方法,其次是动态调试方法。前者这种调试方法需要在没有接通电源的情况下进行操作,后者相对而言就是需要在接通电源的情况下进行调试操作。接下来将针对这两种调试方法进行详细的阐述和说明:
(1)静态调试 在使用静态方法调试时,一般需要经过以下4个步骤:
第1步是目测,这种检测方法一般是用来检测一些可以用肉眼观察到的错误,比如说硬件电路焊接时出现了短路焊接或者虚焊等情况。
第2步是使用万用表进行检测,万用表能够检测出系统电路中的高低电平情况,是对硬件电路的进一步详细检查。
第3步需要接通电源进行检测,再结合万用表来检查电路中各个模块高低电平的实际情况,从而发现错误。
第4步是进行联机检查。
(2)动态调试 动态调试的过程相较于静态调试操作更加复杂,需要遵守一定的规则,具体调试步骤如下:
① 由近及远的规则,指的是根据电路的行走路线一一进行检查。
② 由分到合的规则,指的是将系统按照各个模块的划分分别进行检测,最后再进行整体电路的检测。
5.1.2 软件调试 软件调试就是对程序的语言实现功能进行检测,具体步骤如下:
首先需要编写正常的程序语言代码,当程序编写完毕之后,第1步检查操作就是对程序进行编译,这是系统平台自动进行的检查操作,能够帮助我们解决一些语法问题,但是并不能帮助我们解决功能问题。当发现程序语言本身并不存在逻辑错误,但是却无法实现相应的功能时,就需要对程序的各个模块分别进行软件测试,通过设置断点来给各个模块输入指定的信号,观察输出信号是否和预期值相同,这样通过手动的检查方式,才能够真正完成软件部分的调试。程序编译的结果见如图5-1所示。
图5-1 系统程序的编译情况 5.2 实验数据与分析 本文检测的实物图如图5-2所示。
图5-2 实物测量图 检测到的浓度数值结果如表5-1所示:
表5-1 实际数据与误差数据 浓度(%LE) 浓度误差 浓度(%LE) 浓度误差 0 0 50 -3 5 1 55 1 10 -1 60 -2 15 2 65 3 20 -3 70 3 25 2 75 0 30 5 80 -1 35 3 85 2 40 4 90 -1 45 2 95 0 根据误差计算公式 ,可以计算得出本系统检测的气体浓度误差值为2.34%,满足误差在±5%之内的条件,因此本文实现的功能较好。
结 论 本次毕业设计的甲烷气体泄漏报警系统是以STC89C51芯片为核心控制芯片,ADC0809作为数模转换模块的控制芯片,通过MQ-5气敏传感器检测数据,并传输到LCD1602液晶显示屏中供使用人员可以实时监测浓度的变化情况,还可以通过按键模块设定监测的上下限浓度值,当浓度值超过了限定值,还会触发报警装置。本次的设计具有模块化处理、成本低廉、精度较高、可靠性高和电路非常简单等特性。
参考文献 [1] 童诗白华成英《模拟电子技术基础》第三版高等教育出版社2001 [2] 杨振江孙占彪王曙梅布线涛《智能仪器与数据采集系统中的新器件及应用》西安电子科技大学出版社2001.12 [3] 胡汉才《单片机原理及其接口技术》清华大学出版社1996.7 [4] 杨振江杜铁军李群《流行单片机实用子程序及应用实例》西安电子科技大学出版社2002.7 [5] 韩志军沈晋源王振波《单片机应用系统设计》机械工业出版社2005.1 [6] 赵继文《传感器与应用电路设计》科学出版社2002.3 [7] 吴少军刘光斌《实用低功耗设计-原理、器件与应用》人民邮电出版社2003.3 [8] 王彦平任延群危胜军《Protel电路设计指南》清华大学出版社2000.6 致 谢 转眼间,我的四年大学生活开始走向尾声。在这四年的时光里,我的生活是简单的三点一线结构,从宿舍、食堂到教室,就构成了我规律而平凡的大学生涯。现在撰写的毕业论文,应该说是我四年平凡生活的结尾曲,是我四年学习的见证。在此,我要衷心感谢四年来一直陪伴我左右的老师、同学们,如果没有他们,我的学习将迷失方向,我的生活将枯燥乏味。
首先我要特别感谢我的论文指导老师,无论是前期的方向指导还是后期的谆谆教导,老师都以他那渊博的知识令我折服,以他那温厚的性格令我敬慕,我要感谢老师对我的帮助! 其次我要感谢我身边的同学,生活中你们给予了我众多的关怀,在我遇到挫折时及时伸出援手,谢谢你们这四年的陪伴! 最后向百忙之中抽出时间的论文评阅老师们表示衷心的感谢。
附录一 整体电路图 附录二 整体程序 } } 绥化学院本科毕业设计创作声明 本人郑重声明:本人所提交的毕业设计,是在导师指导下,在绥化学院学习期间独立进行研究工作所取得的成果。据本人所知,毕业设计中除已注明的部分外不包含他人已发表或撰写的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。
作者签名:
日期: 年 月 日 绥化学院本科毕业设计使用授权书 本人所提交的毕业设计,是在导师指导下,在绥化学院学习期间所取得的成果。本毕业设计的研究成果归绥化学院所有,本毕业设计的研究内容不得以其它单位的名义发表。本人完全了解绥化学院关于保存、使用学位论文的规定,同意学院保留并向有关部门送交论文的复印件和电子版本,允许毕业设计被查阅和借阅。本人授权绥化学院,可以采用影印、缩印或其它复制手段保存毕业设计,可以公布毕业设计的全部或部分内容。
作者签名:
日期: 年 月 日 导师签名:
日期: 年 月 日 本科毕业设计指导教师意见 学生姓名 学号 教学单位 电气工程学院 专业 年级 指导教师姓名 学位 职称 毕业设计题目 字数 指导教师评语:
指导教师意见:
明确是否同意答辩 指导教师签字:
年 月 日 本科毕业设计答辩委员会意见 学生姓名 学号 教学单位 电气工程学院 专业 年级 指导教师姓名 学位 职称 毕业设计题目 字数 毕业设计成绩:优秀( )良好( )中等( )合格( )不合格( ) 打√ 答辩委员会意见:
答辩委员会主席:
年 月 日