1、城南学院 室内煤气和天然气泄漏报警器的设计摘要全国燃气行业发展迅猛,液化气、天然气、煤气等城市燃气作为清洁能源已在工商业和城镇居民用户中得到广泛应用,特别是随着“西气东输”工程的快速进展,燃气行业发展潜力巨大。但是随着燃气的广泛应用,由于燃气泄漏所引发的爆炸、中毒和火灾事故也时有发生,这在某种程度上增加了城市的不安全和不稳定因素。为了使燃气更好地造福于民,造福于社会,减少并杜绝各种因燃气泄漏而引发的爆炸及火灾事故,各燃气使用单位及居民用户选择一种适合的室内煤气泄露报警器实为必要之举。燃气报警器的核心是气体传感器及单片机。当气体传感器遇到燃气时,传感器电阻随燃气浓度而变化,随之产生电信号,供燃气
2、报警器后级线路处理。经过电子线路处理变成浓度成比例变化的电压信号,由线性电路加以补偿,使信号线性化,经微机处理、逻辑分析,输出各种控制信号,即当燃气浓度达到报警设定值时,燃气报警器发出声光报警信号并可显示燃气浓度或启动外部联运设备。本文正是通过分析目前燃气报警器的现状,设计制作室内故障监测报警系统,保障人们的生命财产安。关键词:煤气报警;煤气泄漏;传感器;监测THE DESIGN OF ALARM FOR GAS LEAKINGABSTRACTThe rapid development of the national gas industry, liquefied gas, natural g
3、as, coal gas and other city gas as a clean energy business and urban residents in users has been widely used, and gas industry has great potential. But with the extensive use of gas, due to gas leak caused an explosion, poisoning and fire accidents have also occ- urred to some extent, increased the
4、citys insecurity and instability. In order for gas to better benefit the people, the benefit of the community, to reduce and eliminate all due to gas leak caused the explosion and fire, the gas unit and residential customers use to select a suitable indoor gas leak alarm is actually necessary move.
5、Gas sensor is the core of combustible gas. When the gas face gas sensor, the sensor resistance change with gas concentration, the resulting electrical signal for processing of combustible gas line after the class. After dealing with electronic circuit into a voltage proportional to the concentration
6、 change signal to be compensated by the linear circuit, the signal linearization, by computer processing, logical analysis, the output of various control signals, that is, when the gas concentration alarm set value , combustible gas audible alarm signal can display gas concentration or start an exte
7、rnal transport equipment. It is through this analysis of the current status of combustible gas, indoor design fault monitoring alarm system to protect peoples lives and property.Key words:Gas Leak;Gas Alarm;Sensor;Monitoring目录1 绪论11.1 课题背景及目的11.2 国内外研究状况21.3 设计内容及研究方法22 系统方案及模块设计42.1 设计思路42.2 设计框图42
8、.3 系统模块设计52.3.1气体浓度检测模块52.3.2温度检测与显示模块72.3.3主控制模块102.3.4 声光报警模块113 硬件电路设计123.1 气体检测模块的设计123.2 温度检测及显示模块的设计133.3 单片机模块的设计183.4 声光报警模块的设计184 程序设计204.1 温度采集部分程序设计224.2 显示部分程序设计:234.3 主函数程序设计:244.4 中断函数设计25总结参考文献29致谢30附录A31附录B37附件11 绪论1.1 课题背景及目的随着国家经济的提高,现代化、智能化的多功能建筑越来越多,对建筑的防火安全设计要求也越来越高。近年来,全国燃气行业发展
9、迅猛,液化气、天然气、煤制气等城市燃气作为清洁能源已在工商业和城镇居民用户中得到广泛应用,特别是随着“两气东输”工程的快速进展,燃气行业发展潜力巨大。以“西气东输工程”为开端的大规模天然气利用工程的实施,意味我国城市燃气将大踏步的进入“天然气时代”。我国天然气市场将迎来一个千戟难逄的机会,城市燃气需求的主要增长点将体现在天然气上。2000年党中央国务院提出“两部大开发”的重大战略部署,特别是2002 年“两气东输”第一期工程正式开工。这无疑为发展两部地区的燃气产业带来历史性的机遇。西气东输工程,在西部优势资源和东部广阔市场之间建立起了一座“金桥”,西气东输工程投入使用后,每年供应长江三角洲地区
10、100亿立方米天然气。城市燃气的普及与应用无疑对改善城市的环境质量和提高具名的生活质量发挥了巨大的作用。但是随着燃气的广泛使用,由于燃气泄漏所引发的爆炸、中毒和火灾事故也时有发生,这在某种程度上增加了城市的不安全和不稳定因素。为了使燃气更好地造福于民,造福于社会,减少并杜绝各种因燃气泄漏而引发的爆炸及火灾事故,各燃气使用单位及居民用户选择一种适合的燃气报警器实为必要之举。“报警早,损失少”,进一步说明了及吋报警的重要性,在家庭里也是如此。一旦发生火灾,提早报警,可以及时将火扑灭,以免小火酿成大火灾。目前常用的有感烟、感温和可燃气体火灾报警器。像家庭中使用煤气、液化石油气和天然气等燃料时,安装一
11、个可燃气体报警器,但出现漏气或者着火时,报警器能够立即鸣笛报警,告之文人及时采取措施。室内煤气、天然气的泄漏严重危害人的生命健康以及性命财产安全,基于此现实,本设计旨在为家庭用户设计一种能够检测煤气、天然气泄漏的装置,从而减少因煤气和天然气的泄漏造成的事故的发生概率,进而保证人民的生命财产安全,减少不必要的损失。本设计用传感器检测室内煤气、天然气的基本状态,并将气体浓度信号转换为电信号,电信号进入单片机,单片机对信号进行处理。当室内煤气、天然气达到一定浓度时,该装置发出声光报警信号,提醒用户燃气泄漏,采取相应的应对措施。通过本系统设计,使学生能对自己所学专业知识加以综合运用,了解和掌握实际应用
12、系统的设计、实现及应用的整个过程。1.2 国内外研究状况当前应用最广泛的可燃性气体泄漏报警器与气敏元件传感器,已普及应用于气体泄漏检测和监控,仅用于安全保护家用燃气泄漏报警器为例,不少发达国家已经明确规定家庭、公寓等要求安装相应的报警器。国外可燃性气体泄漏报警器发展很快,是由于人们安全意识增强,对环境安全性和生活舒适性要求提高;另一方面是由于燃气泄漏报警器市场增长受到政府安全法规的推动。因此,国外燃气报警器技术得到了较快发展,据有关统计猜测,美国在1996年2002年就煤气报警器的年均增长率为2730。在这些方面,国内应该增强安全意识增强。日本早在1980年1月开始实施安装城市煤气、液化石油气
13、报警器的法规,1986年5月日本通产省又实施了安全器具料及出尽基本方针。美国目前已有7个州11个城市通过立法,规定家庭、公寓等要安装一氧化碳报警器。随着城市燃气化的扩大,我国已有北京市、辽宁省、黑龙江省、山西省、哈尔滨市、青岛市、等相继发布燃气安全管理文件,做到政府立法和百姓自身提高安全保护意识有机结合。1.3 设计内容级研究方法本设计计划按以下思路展开研究:A根据该设计要实现的基本功能,设计大致应该分为信号釆集放大,信号处理控 制,系统设置报警三个部分。(1)信号釆集部分即通过气体传感器检测室内气体浓度,将这种变化量转化成电压模拟量的变化,然后通过运放进行必要的放大。(2)信号处理部分是将采
14、集到的模拟信号转换成数字信号,送入进行处理,并将处理过的信号送存储器保存和送显示器显示。(3)系统设置报警部分是通过预定控制方式并利用蜂鸣器报警实现系统的准确操作。 B根据上面所说的思路,得到如下一些基本的结论(1) 信号釆集部分为了能准确釆集到气体浓度的变化应选用半导体气体传感器,为使其 有效的检测室内气体浓度,釆用电阻型半导体气体传感器:而放大部分使用运放进行比例 和反相两级放大。(2)信号处理部分为了实现精确控制,釆用单片机较为合适。将模拟信号送A/D模块进行数模转换,经过处理后送存储器保存和送显示器显示。(3)系统设置报警部分可以考虑蜂鸣器报警。2 系统方案及模块设计2.1 设计思路用
15、相应的气体传感器检测室内煤气、天然气的基本状态,并将气体浓度信号转换为电信号。通过信号处理电路将有无气体泄漏两种状态转换成高低电平,并将些电平通过单片机I/O接口传入单片机,通过单片机编程控制报警电路的工作状态。室温显示部分通过DS18B20温度传感器,将室内温度值转换为16位二进制数,通过单片机I/O接口传入单片机,并通过编程在七段数码管上显示出当前温度值。2.2 设计框图如下图2.1所示:(1) 气体检测模块:主要有气体传感器及LM358组成,其作用是将煤气、天然气的泄漏与否转换为利于单片机识别的高低电平,并将此信号传到单片机。(2) 声光报警模块:由蜂鸣器和LED构成。其作用是当检测到有
16、煤气、天然气泄漏时,发出声光报警信号,提醒用户有煤气、天然气泄漏,采取相应措施。(3) 温度检测模块:由DS18B20温度传感器构成,DS18B20将检测到的温度值转换成二进制数,并传到单片机进行处理。(4) 温度显示模块:主要由74LS245和4位数码管组成,其作用是显示当前温度值。(5) 主控模块:即单片机AT89C51,其作用是根据气体检测模块输出的高低电平,控制声光报警模块的工作状态,并完成温度的采集及显示功能。 4 位七段数 码管温度显 示模块声光报警温度检测 单片机AT89C51主控模块气体检测 图2.1 设计思路框图2.3 系统模块设计2.3.1 气体浓度检测模块传感器是能把实测
17、物理量或化学量转化为与之有确定对应关系的电信号输出的装置。传感器主要是由敏感元件、传感元件组成,有时也将信号调节与转换电路、辅助电源作为传感器的组成部分,如下图3.1.1所示。 敏感元件:敏感元件指能够灵敏地感受被测变量并做出响应的元件。是传感器中能直接感受被测量的部分。传感元件:又称为转换器,一般情况下,不直接感受被测量,而是将敏感元件的输出量转化为电量输出的元件。传感器按工作原理可分为:电阻式传感器、电容式传感器、电感式传感器、光电式传感器、压电式传感器等。在这个设计中先把煤气。天然气气体传感器以以属于电阻式传感器,传感器型号为MQ-7。MQ-7能够同时检测煤气和天然气两种气体,与分别用两
18、种气体传感器检测相比,明显降低了设计成本。半导体一氧化碳传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测 一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化 ,转换为与该气体浓度相对应的输出信号。MQ-7气体传感器对一氧 化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器。特点:对一氧化碳灵敏度高优异的稳定寿命长大的电信号输出优异的选择性应用:用于家庭、商业、工业环境的一氧化碳、煤气探测装置MQ-7适用气
19、体: 一氧化碳CO 主要参数探测范围101000ppm 特征气体100ppm一氧化碳 灵敏度 R in air/R in typical gas5 敏感体电阻 1K20K in 100ppm CO 响应时间 150s(70% Response) 恢复时间 150s(70% Response) 加热电阻 313 加热电流 加热电压 5.0V0.2V/1.5V0.1V 加热功率 约350mW 测量电压 24V MQ-7工作条件 环境温度:-20+55 湿度:95%RH 环境含氧量:21% MQ-7贮存条件 温度: -20+70 湿度:70%RH A 一氧化碳传感器MQ-7工作原理:传感器的表面电阻
20、为,对被测信号(一氧化碳)浓度的测量是通过与其串联的负载电阻上的有效电压信号侵夺遭遇惹得的。两者之间的关系为:。MQ-7型气敏元件的敏感是用非常稳定的二氧化锡制成的,因此,它具有优秀的长期稳定性在正常使用条件下,其使用寿命可达5年。B 一氧化碳传感器MQ-7灵敏度调整:MQ-7型气敏器件对不同各类、不同浓度的气体有不同的电阻值。因此,在使用此类型气敏器件时,在灵敏度的调整是很重要的。当精确测量时:报警点的设定应考虑温、湿度的影响。灵敏度的调整程序:(1) 将传感器连接在应用回路中;(2) 接通电源,通电老化48h以上;(3) 调整负载电阻至获得对应于某一个一氧化碳浓度时所需要的信号值。2.3.
21、2 温度检测与显示模块由DS18B20温度传感器构成,DS18B20将检测到的温度值转换成二进制数,并传到单片机进行处理。DS18B20温度传感器简介:特性:(1)应用中不需要外部任何元器件即可实现测温电路。 (2)测温范围-55+125,最大精度0.0625。 (3)只通过一条数据线即可实现通信。 (4)每个DS1820器件上都有独一无二的序列号,所以一条数据线上可以挂接很多该传感器。 (5)内部有温度上、下限告警功能。操作简介:DS18B20工作时需要接收特定的指令来完成相应功能(指令,可以简单的理解为可以被识别并有相应意义的一系列高低电平信号),它的指令可分为ROM指令和RAM指令;RO
22、M指令主要对其内部的ROM进行操作,如查所使用DS18B20的序列号等,如果只使用一个DS18B20,ROM操作一般就可以直接跳过了;RAM指令主要是完成对其内RAM中的数据进行操作,如让其开始进行数据采集、读数据等。DS18B20数字温度传感器是单总线器件,数据的读写只通过一条数据线进行并且这一条线上允许挂很多该传感器;这样对器件进行读写指令时就会麻烦一些,必须应用特定时序来识别高低电平信号(如写高电平1,并不是把数据线直接拉高,而是用有一定时序关系的高低电平来代表写1),所以指令表中的0、1在写给DS18B20时就得变成代表0、1电平的时序段序列。同样,从DS18B20读数据时,也是由特定
23、的时序来完成数据读取。DS18B20的工作过程:1.复位操作 2.执行ROM操作的5条指令之一:1)读ROM,2)匹配ROM,3)搜索ROM,4)跳过ROM,5)报警搜索。 3.存储器操作命令:温度转换、读取温度、设定上下限温度值等指令 4.读取温度数据:主机读取温度数据后进行数据处理。 可以初始化数据精度,按芯片手册写入固定指令。数据位数可设置成9、10、11、12位,其中7位为温度整数部分,1位表示温度正负,其余位数为小数。如9位数据时,有1位为小数,精度为0.5。指令功能介绍: (1)ROM操作指令: 读ROM指令 :Read ROM 33h 这个命令允许总线控制器读到DS18B20 的
24、8 位系列编码、唯一的序列号和8 位CRC 码。只有在总线上存在单只DS18B20 的时候才能使用这个命令。如果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与的效果)。 匹配ROM指令 :Match ROM 55h 匹配ROM 命令,后跟64 位ROM 序列,让总线控制器在多点总线上定位一只特定的DS18B20。只有和64 位ROM 序列完全匹配的DS18B20 才能响应随后的存储器操作命令。所有和64 位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。 跳过ROM指令:Skip ROM CCh 这条命令允许总线
25、控制器不用提供64 位ROM 编码就使用存储器操作命令,在单点总线情况下右以节省时间。如果总线上不止一个从机,在Skip ROM 命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相与)。 搜索ROM指令:Search ROM F0h 当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64 位ROM编码。搜索ROM 命令允许总线控制器用排除法识别总线上的所有从机的64 位编码。 报警搜索指令:Alarm Search ECh 这条命令的流程图和Search ROM 相同。然而,只有在最近一次测温后遇到符合报警条件的情况,DS
26、18B20 才会响应这条命令。报警条件定义为温度高于TH 或低于TL。只要DS18B20 不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。复位时序:DS18B20 需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0 和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。和DS18B20 间的任何通讯都需要以初始化序列开始,初始化序列见上图。一个复位脉冲跟着一个存在脉冲表明DS18B20 已经准备好发送和接收数据(适当的ROM 命令和存储器操作命令)。显示部分主要由74LS245和4位七段数码管组成,其作用是显示当前温度值。7
27、4LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通
28、。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。2.3.3主控制模块主控制模块即单片机模块,完成功能是与各个功能模块连接,并通过软件编程控制各个功能模块,完成煤气、天然气检测报警及温度显示功能。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复
29、擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示 AT89C51外形及引脚排列。主要性能参数:(1)与MCS-51 兼容(2)4K字节可编程FLASH存储器(3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24MHz(6)三级程序存储器锁定(7)1288位内部RAM(8)3
30、2可编程I/O线(9)两个16位定时器/计数器(10)5个中断源(11)可编程串行通道(12)低功耗的闲置和掉电模式(13)片内振荡器和时钟电路图2.2 AT89C51引脚图2.3.4 声光报警模块此模块主要由蜂鸣器、LED灯组成 ,在气体浓度过大,超过安全值时,蜂鸣器工作,提供报警服务。在这个时候,用户可以自行关闭煤气,并通过对房间通风来解决。 3 硬件电路设计3.1 气体检测模块的设计 信号调节与转换 传感元件 敏感元件 辅助电源 图 3.1传感器工作原理图 (1)气体检测模块电路由于Protues软件元件库中没有MQ-7气体传感器,由于MQ-7气体传感器两信号输出端为电阻信号,由附录A中
31、的MQ-7灵敏度特殊性可得Rs阻值范围为2-20K,所以仿真时MQ-7气体传感器由20K滑动变阻器代替。当没有煤气、天然气泄漏时,Rs的阻值应该在20K左右,此时该气体检测模块的输出端为高电平,此时LED发光。当有煤气、天然气泄漏时,Rs的阻值应该在2K左右,此时该气体检测模块的输出端为低电平,此时LED熄灭。 图3.2 气体检测模块原理图 (2)气体检测模块调试按照电路图在面板上搭接气体检测模块电路,该模块输出通过100K限流电阻接LED正端,该LED负责拼接接地。当MQ-7传感器端不加气体时,此时LED点亮,说明此时输出为高电平;当MQ-7传感器端加气体时,此时LED熄灭,说明此时输出为低
32、电平。刚上电时就在MQ-7端加气体,此时LED不熄灭,原因是RC延时电路起作用,防止误报现象的发生;在1min左右之后,在MQ-7传感器端加气体,此时LED熄灭,开机延迟时间约为1min,该调试结果符合设计要求。3.2 温度检测与显示模块的设计DS18B20在编程时有严格的时序要求,因些在编程过程中要多加注意,以下为DS18B20典型工作时序简介。 (1)复位时序 使用DS18B20时,首先需将其复位,然后才能执行其他指令。复位时,主机将数据线激发为低电平并保持480960s,然后释放数据线,再由上拉电阻将数据线拉升1560s。然后再由DS18B20发出响应信号,以将数据线激发成低电平6024
33、0s,这样,就完成了复位操作。其复位时序如图3.3所示。图3.3 DS18B20复位时序图(2)写时序在主机对DS18B20时,主机对DS18B20发送各种命令时,先将数据线激发为低电平,该低电平应大于1s。然后根据写“1”或者“0”来使数据线变高或继续为低。DS18B20将在数据线变成低电平后1560s对数据线进行采样。要求写入DS18B20的数据持续时间应大于60s而小于120s,两次写数据之间的时间间隔应大于1s。写时隙的时序如图3.4所示。图3.4 写时序图 (3)读时序 当主机从DS18B20读数据时,高机先向数据线激发出低电平,然后释放,以使数据线再升为高电平。DS18B20在数据
34、线从高电平变为低电平的15s内将数据传送到数据线上,主机可在15s后读数据线以获得数据其时序图如图3.5所示。图3.5 读时序图选用DS18B20温度传感器。DS18B20可以把温度直接转化为串行数字信号,使用不不需要附加电路,但与主机通信有严格的时序要求。温度检测模块原理图如图所示,DS18B20选 用默认的12位精度的分辨率,此时输出羰DQ输出的温度值为16位二进制补码的表达形式,DS18B20输出端DQ输出的温度值为16位二进制补码的表达形式,DS18B20输出端DQ与单片机引脚P1.0相接,将数据传入单片机进行处理。 温度显示设计如下:如图3.6所示,74LS245的工作状态为数据由B
35、向A传送。七段数码管段选位通过限流电阻接到74LS245的A总线,74LS245的B总线接到单片机的P2口。由于室内温度不会超过100,因此显示时百位不加以显示。而北方有些地区冬天会比较冷,室内温度有可能达到0以下,因此显示符号位。因此用4位七段数码管显示温度,4个位分别显示符号位、十位、个位、一个位小数位。数码管的4位位选接晶体管集电极,失眠晶体管的基极B1B4分别接单片机的P3.1P3.4。图3.6 温度显示模块原理图 当温度为正值时,此时仿真如图3.7所示,此时DS18B20设定温度为15.5,经4位七段数码管显示为15.5,显示结果正确。当温度为正值时,此时仿真如图3.8所示,此时DS
36、18B20设定温度为-25.5,经4位七段数码管显示为-25.5,显示结果正确。图3.7 温度为正值的仿真图图3.8 温度为负值仿真图 由于DS18B20输出为16位二进制数,实验中无法测得此信号,因此仅对温度显示部分进行调试。驱动模块选择,实验中测得74LS245输出高电平为3.8V,而74HC245输出高电平为5V。由于74HC245与74LS245相比价格较贵,而74LS245输出3.8V高电平足以驱动七段数码管,因此设计中选用74LS245。限流电阻阻值计算,由于七段数码管工作电压为2V,而74LS245输出高电平3.8V,因此限流电阻两端电压为1.8V。而七段数码管每位正常工作的电流
37、为2mA,而4位七段数码管的第一个相同段位又是并联的形式连接的,为了保证每位亮度相同,因此每位段位电流应该为2mA4=8mA,即渡过限流电阻的电流为8mA。因此限流电阻的阻值=1.8V/8mA=225,实际设计中采用220的电阻作为限流电阻。按照电路图连接温度显示部分电路图,编写程序使其显示1749,并下载该程序。通过实验验证显示结果正确,并且显示亮度比较亮,符合设计要求。3.3 单片机模块的设计单片机模块,完成功能是与各个功能模块连接,并通过软件编程控制各个功能模块,完成煤气、天然气检测报警及温度显示功能。图3.9 主控制模块原理图3.4 声光报警模块的设计3.4.1 声光报警电路如图所示,
38、OUT3与单片机P1.3引脚相接,当检测到有煤气、天然气泄漏时通过单片机编程控制P1.3输出方波信号,此时LED D1闪烁,并且蜂鸣器以相同的频率发出声音,产生霞光报警信号,提醒用户煤气、天然气泄漏,采取相应的措施。 图3.10 声光报警原理图 3.4.2 声光报警模块的调试 由于Protues软件库中蜂鸣器无法仿真,因些用LED串联电阻代替图所声光报警电路。当OUT1端为高电平时,表示此时没有煤气、天然气泄漏,OUT3为高电平5V,此时LED不发光。当OUT1端为低电平时,表示此时有煤气、天然气泄漏,通过模拟示波器测得此时OUT3输出为方波信号,其周期为2s的方波信号,此时LED每2s亮灭一
39、次。将编辑好的程序通过单片机下载器下载到单片机中,将单片机插入面包板,20脚、40脚分别接地和5V电源。蜂鸣器与LED串联,负端接到P1.3口,正端接5V电源。当P1.1口接5V电源时,LED熄灭,蜂鸣器不报警;当P1.1口接地时,LED闪烁,同时蜂鸣器以相同频率发声报警。此时用示波器测得P1.3口波形为周期为1.2s的方波信号,与理论值之间存在一定的误差,误差产生的原因有: (1) 单片机使用的晶振为11.059MHz,而不是12MHz,从而使单片机机器周期大于1s,而理论计算时按1s计算,从而产生误差; (2)单片机定时程序指令执行时,有一定的执行时间,而此时间与1s相比力气活,编程时将其
40、忽略,从而导致误差的产生; (3)同时测量信号也受实验器材、环境等诸多因素的影响。设计中对方波信号的要求不是很高,因为方波信号的周期只影响报警的频率,并不影响报警功能,因此不需要对其进行修改。4 程序设计本设计可以用C语言编程序,也可以用汇编语言编程序,本人选择了用C语言编程序。主要编程序来控制定时、计时中断、和输出等。下面介绍C语言编程的优点。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用
41、程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运箅速度快、编译效率高、有良好的可移植性,而 且可以直接实观对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序 设计中广泛釆用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序 结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言 进行程序设计已成为软
42、件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开 发周期而且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完 备的系统。C语言特点(1)C是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。(2)C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构
43、化。(3)C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。(4) C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写。C语言缺点(1) C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C+的一大区别。 (2) C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高
44、级语言较难掌握。软件部分是用来配合硬件电路,控制后面电路的响应,以实现设计预定功能。其主要由两部分功能组成:一部分是是对传感器接受到的信号进行处理:另一部分是实行中断处 理,控制设置报警模块。两部分信号的处理都是釆用査询方式。本系统釆用网路巡回检测, 轮换选择4个传感器工作,并且在显示器上轮流显示工作传感器所检测到的浓度值。当检 测到的浓度小于设定值时,等待定时器中断:当检测到的浓度超过设定值时,执行中断程 序进行报警处理,显示浓度。4.1 温度采集部分程序设计 温度测量通过DS18B20数字温度传感器测量室内温度,将室内温度转化为数字量接入AT89C51单片机中,温度采集的流程图如下所示:D
45、S18B20初始化跳过ROM温度转换指令延时等待DS18B20初始化匹配ROM读出温度指令读出温度值图4.1 温度采集流程图4.2 显示部分程序设计:数码管显示一般分静态显示和动态显示两种方式,本文采用动态显示,数码管显示是单片机外部指令输出的重要途径。开始循环变量附初值=1000关个位,十位,开小数位,送小数位数值调用延时子程序关个位,十位,开小数位,送小数位数值调用延时子程序关小数位,十位,开个位,送个位数值调用延时子程序循环变量-1=0子程序返回 图4.2 显示流程图第 35 页 共 34 页4.3 主函数程序设计:程序开始,定时器初始化,检测空气中一氧化碳的浓度是否达到报警值,如果达到报警值,调用报警子程序,报警。如果没有达到报警值,则LED置1,处于熄灭状态,读取房间内温度值,并显示在数码管上,并返回检测,重新循环。是否达到报警值 开始定时器初始化关中断LED置1读取温度值获得显示码调用显示函数调用报警程序YN 图4.3 C语言主函数4.4 中断函数设计中断服务程序为,首先初始化定时器,此时TCNT+1。这时判断TCNT是否为8,如果不为8则