摘要
随着"信息时代"的到来,作为获取信息的手段------传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
为了提高对传感器的认识和了解,尤其是对烟雾传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一烟雾监控系统。。
本论文以电阻式烟雾传感器和单片机技术为核心并与其他电子技术相结合, 设计出一种技术水平较好的烟雾报警器。其中选用MQ-2型半导体可燃气体敏感元件烟雾传感器实现烟雾的检测,具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。选用的STC12C5410AD单片机,其整合了A/D转换、硬件乘法器、硬件脉宽调制器等资源,具 有高速、低功耗、超强抗干扰等优点,是目前同类技术中性价比较高的产 品。
以STC12C5410AD单片机和MQ-2型半导体电阻式烟雾传感器为核心设计的烟雾报警器可实现声光报警、故障自诊断、浓度显示、报警限设置、延时报警及与上位机串口通信等功能。是一种结构简单、性能 稳定、使用方便、价格低廉、智能化的烟雾报警器。具有一定的实用价值。
关键词:烟雾,报警器,STC12C5410,传感器
Abstract
While "information age" the arrival, obtained the remarkable progress as the gain information method - - sensor technology, its application domain is more and more widespread, is more and more high to its request, the demand is more and more urgent.The sensor technology has become weighs one of national science and technology level of development important symbols.Therefore, understood and grasps each kind of sensor the basic structure, the principle of work and the characteristic is extremely important.
In order to enhance to the sensor understanding and the understanding, in particular to the smog sensor thorough research as well as its usage and the use, based on practical, widespread and the model principle has designed this system.This article used the monolithic integrated circuit union sensor technology to develop has designed this smog supervisory system.。
The present paper take leaves the minor smog sensor and the monolithic integrated circuit technology unifies as the core and with other electronic technology, designs one kind of technical level good smog alarm apparatus.In which selects the 2M007 semiconductor resistance type smog sensor realization smog the examination, has the sensitivity high, responds, the antijamming ability quickly strong and so on the merits, moreover the price is inexpensive, the service life is long.Selects the STC12C5410AD monolithic integrated circuit, its conformity A/D transformed, the hardware multiplier, resources and so on hardware PDM keyer, has high speed, low merits and so on power loss, ultra strong antijamming, is the present similar technology neutral price quite high product.
May realize the acousto-optics take the STC12C5410AD monolithic integrated circuit and the 2M007 semiconductor resistance type gas sensor as the core design smog alarm apparatus to report to the police, the breakdown from the diagnosis, the density demonstrated, reports to the police limits the establishment, the time delay reports to the police and with functions and so in position machine serial port correspondence.Is one kind of structure simple, the performance stable, the easy to operate, the price inexpensive, the intellectualized smog alarm apparatus.Has certain practical value.
Key word: Smog, alarm apparatus, STC12C5410, sensor
目 录
[++++第一章++++ ++++绪论++++](#第一章 绪论)
++++1.1++++ ++++论文研究来源、目的和意义++++
++++1.1.2++++ ++++论文研究目的和意义++++
++++1.2++++ ++++烟雾报警器的国内外现状++++
[++++第二章++++ ++++烟雾检测报警器的方案设计++++](#第二章 烟雾检测报警器的方案设计)
++++2.1++++ ++++烟雾检测报警器设计思路++++
++++2.2.2++++ ++++烟雾传感器的选定++++
[++++2.2.3 MQ-2++++ ++++型烟雾传感器的工作原理++++](#2.2.3 MQ-2型烟雾传感器的工作原理)
[++++2.2.4 MQ-2++++ ++++型传感器的特性及主要技术指标++++](#2.2.4 MQ-2型传感器的特性及主要技术指标)
++++2.3++++ ++++烟雾检测报警器整体设计方案++++
++++2.3.1++++ ++++烟雾检测报警器工作原理++++
++++2.3.2++++ ++++烟雾检测报警器的结构++++
++++2.3.3++++ ++++烟雾检测报警器的功能++++
++++2.3.4++++ ++++烟雾检测报警器的主要技术指标++++
[++++第三章++++ ++++烟雾检测报警器的硬件设计++++](#第三章 烟雾检测报警器的硬件设计)
[++++3.1.2 STC12C5410AD++++ ++++单片机的特点++++](#3.1.2 STC12C5410AD单片机的特点)
++++3.2++++ ++++烟雾检测报警器硬件电路设计++++
++++3.2.1++++ ++++信号采集及前置放大电路++++
++++3.2.4++++ ++++状态指示灯及控制键电路++++
++++3.2.5++++ ++++报警器故障自诊断电路++++
[++++第四章++++ ++++烟雾检测报警器的软件设计++++](#第四章 烟雾检测报警器的软件设计)
[++++4.1 STC12++++ ++++系列单片机调试及开发工具++++](#4.1 STC12系列单片机调试及开发工具)
++++4.2++++ ++++烟雾检测报警器软件流程及设计++++
++++4.2.1++++ ++++主程序设计及流程图++++
++++4.2.2++++ ++++主程序初始化流程图++++
++++4.2.3++++ ++++中位值平均滤波法数字滤波子程序设计及流程图++++
++++4.2.4++++ ++++插值法线性化处理子程序设计及流程图++++
++++4.2.6++++ ++++报警子程序设计及流程图++++
++++4.2.7++++ ++++控制按键设计子程序及流程图++++
[++++第五章++++ ++++实验检定及误差分析++++](#第五章 实验检定及误差分析)
++++5.1.1++++ ++++爆炸下限++++ ++++(LEL)++++ ++++概念介绍++++
[++++结++++ ++++论++++](#结 论)
[++++致++++ ++++谢++++](#致 谢)
[++++附++++ ++++录++++ ++++1++++](#附 录1)
第一章 绪论
1.1论文研究来源、目的和意义
1.1.1论文研究来源
随着科技的发展,越来越多的巨大的隐患由于工业生产和人们的日常生活而产生。为了早期发现和通报火灾,防止和减少火灾危害,保护人身和财产安全。保卫社会主义现代化建设,防止火灾引起燃烧、爆炸等事故,造成严重的经济损失,甚至危及生命安全。
为了减少这类事故的发生,就必须对烟雾进行现场实时检测,采用先进可靠的安全检测仪表,严密监测环境中烟雾的浓度, 及早发现事故隐患,采取有效措施,避免事故发生,才能确保工业安全和 家庭生活安全。因此,研究烟雾的检测方法与研制烟雾报警 器就成为传感器技术发展领域的一个重要课题。
1.1.2论文研究目的和意义
为了早期发现和通报火灾,防止和减少火灾危害,保护人身和财产安全。保卫社会主义现代化建设,防止火灾引起燃烧、爆炸等事故,造成严重的经济损失,甚至危及生命安全。
烟雾检测报警装置是能够检测环境中的烟雾浓度并具 有报警功能的仪器。该报警装置是石油化学工业、有气体泄漏可能 的生产工厂及家庭防火防爆必备的仪器。烟雾报警器属于《中华人 民共和国强制检定的工作计量器具目录》中第46项,它归类于物理化学 计量器具。《建筑设计防火规范》(GBJ16-87)第10.3.2条明确规定:"散发可燃烟雾、可燃蒸汽的甲类厂房和场所,应设置烟雾浓度检测报警装置"。2003年12月,国家执行新的烟雾探测器标准(GB 15322-2003)《可燃烟雾探测器》,2004年10月国家颁布《可燃烟雾检测报警器规程JJG693-2004》,研究新型、性能稳定、准确监测可燃性气 体,并合乎国家相关规定的报警器具有极其重要得意义。
目前我国已有许多城市铺设了煤气管道,使用人口约达二亿人,煤气 发生基地及中转站也达几千家。如果这些家用燃气和煤气基地及中转站的 报警率按10% 计算,烟雾检测报警器的需求量就达2000万台以 上。随着全社会对防火防爆及人身安全的重视程度的提高,这个数字会继 续增长。
近十年来,农村的沼气使用也得到了极大的发展。到2006年底,全 国沼气池数量已达近1300万座,这就为检测沼气(主要成分是甲烷)浓 度的仪器提供了市场。可见,烟雾报警器具有十分广阔的市场前景。
1.2烟雾报警器的国内外现状
国外从20世纪30年代开始研究及开发烟雾传感器,且发展迅速,一 方面是因为人们安全意识增强,对环境安全性和生活舒适性要求提高;另 一方面是因为传感器市场增长受到政府安全法规的推动。据有关统计,美 国1996年~2002年烟雾传感器年均增长率为27%~30%。随着传感器生产 工艺水平逐步提高,传感器日益小型化、集成度不断增大,使得烟雾检测 仪器的体积也逐渐变小,提高了烟雾检测仪器的便携性,更加利于生产、运输及市场推广。
1963年5月,日本开发完成第一台接触燃烧式家用燃气泄漏报警器,次年12月其改良产品问世,改良的报警器可以检测燃气、一氧化碳等气 体,可以安装在浴室或者采用集中监视。
我国在70年代初期开始研制烟雾报警器,生产型号多样、品种较齐全,应用范围也由单一的炼油系统扩展到几乎所有危险作业环境的各种类型报警器,产品数量也在不断增加。但主要是在引进国外先进的传感器技术和先进的生产工艺基础上,进行研究与开发形成自己的特色。近年来,在烟雾选择性和产品稳定性上也有很大进步。
燃气报警器可分为民用火灾烟雾报警器、工业用烟雾报警器、 有毒有害烟雾报警器三大系列产品。
(1) 民用火灾烟雾报警器
民用火灾烟雾报警器为居民家庭用的火灾报警器,一般安装在厨房,遇到火灾产生的烟雾时时,报警器可发出声光报警,或同时伴有数字显示,同时联动 外部设备。有的报警器可自动开启排风扇,把烟雾排出室外
(2) 工业用烟雾报警器及有毒有害烟雾报警器
工业用烟雾报警器及有毒有害烟雾报警器只是检测探头有差异,而在原理和应用中都很相近。工业用燃气报警器及有毒烟雾报警器根 据检测环境的不同,也可分为检漏仪、控制器和探测器。
检漏仪的体积较小,可随身携带或手持,主要应用于燃气管理的查漏 与巡检。若有燃气泄漏,检漏仪便会发出声光报警,同时数字显示烟雾浓 度,以便及时采取安全措施,防止爆炸等恶性事故的发生。 控制器与探测器结合使用,可在防爆现场长期监测烟雾的浓度。
探测器安装在防爆现场,控制器壁挂在值班室等有人值守的地方,二者采用屏 蔽电缆线连接。当在现场的探测器探测到燃气泄漏之后,通过屏蔽电缆线将信号传到控制器,控制器发出声光报警,同时启动排风装置或关闭电磁阀切断气源,以确保安全。此种仪器广泛应用于液化气站、汽车加油站、锅炉房等工业场所。
1.3本论文主要任务
本篇论文是烟雾报警器的研制,主要基本部分和扩展部分:
(1) 基本部分
(a)对系统进行整体规划和结构设计。
(b)以STC12C5410AD单片机为中央处理器,对硬件电路进行设计和 改进,使其功能更加完善。系统硬件电路主要分为前置放大电路、键盘电 路、串口通信电路、声音报警电路、状态指示灯电路、液晶显示电路六个 部分。
(c)系统的软件编制。按照软件实现的功能,主要分为主程序、初始 化子程序、键盘处理子程序、滤波子程序、线性化处理子程序、浓度显示 子程序、报警子程序、报警限值设置子程序、串口通信子程序。在程序的 编写过程中,加入了详细的文字注释,便于后期的改进与维护。
(d)硬件电路和软件的综合调试。
(2)扩展部分
(a) 再加入一路传感器信号采集电路,利用双通道数据实现采集的优化,主要是利用辅助的一路进行修正主传感器,以提高精度和可靠性。
第二章 烟雾检测报警器的方案设计
2.1烟雾检测报警器设计思路
烟雾检测报警器是能够检测环境中的烟雾浓度,并具有报警功能的仪器,仪器的最基本组成部分应包括:烟雾信号采集电路、模数转换电路、单片机控制电路。
烟雾信号采集电路一般由烟雾传感器和模拟放大电路组成,将烟雾信 号转化为模拟的电信号。模数转换电路将从烟雾检测电路送出的模拟信号 转换成单片机可识别的数字信号后送入单片机。单片机对该数字信号进行 滤波处理,并对处理后的数据进行分析,是否大于或等于某个预设值(也 就是报警限),如果大于则启动报警电路发出报警声音,反之则为正常状 态。为方便检测与监控,使仪器测试人员及用户能够直观地观察到环境中 的可燃烟雾浓度值,可将浓度值送到显示屏中。方便调节报警限,可以加 入按键。为使报警装置更加完善,可以在声音报警基础上,加入光闪报警, 变化的光信号可以引起用户注意,弥补嘈杂环境中声音报警的局限。以上 是根据报警器应具备的功能,提出的整体设计思路。
烟雾传感器及单片机是可燃烟雾检测报警器的两大核心,根据报警器 功能的需要,选择合适、精确、经济的烟雾传感器及单片机芯片是 至关重要的。烟雾传感器的选型在下一节详细介绍。单片机作为硬件电路 的核心,它的选型将在第三章详述。
2.2烟雾传感器的选型
烟雾传感器属于气敏传感器,是气-电变换器,它将可燃性气 体在空气中的含量(即浓度)转化成电压或者电流信号,通过A/D转换电路 将模拟量转换成数字量后送到单片机,进而由单片机完成数据处理、浓度 处理及报警控制等工作。传感器作为烟雾检测报警器的信号采集部分,是仪表的核心组成部分之一。由此可见,传感器的选型是非常重要的。
2.2.1烟雾传感器介绍
(1) 烟雾传感器的分类
烟雾传感器种类繁多,从检测原理上可以分为三大类:
(a)利用物理化学性质的烟雾传感器:如半导体烟雾传感器、接触燃 烧烟雾传感器等。
(b)利用物理性质的烟雾传感器:如热导烟雾传感器、光干涉烟雾传 感器、红外传感器等。
(c)利用电化学性质的烟雾传感器:如电流型烟雾传感器、电势型气 体传感器等。
(2) 烟雾传感器应满足的基本条件 一个烟雾传感器可以是单功能的,也可以是多功能的;可以是单一的实体,也可以是由多个不同功能传感器组成的阵列。但是,任何一个完整的烟雾传感器都必须具备以下条件:
(a)能选择性地检测某种单一烟雾,而对共存的其它烟雾不响应或低 响应;
(b)对被测烟雾具有较高的灵敏度,能有效地检测允许范围内的烟雾 浓度;
(c)对检测信号响应速度快,重复性好;
(d)长期工作稳定性好;
(e)使用寿命长;
(f)制造成本低,使用与维护方便。
(3)常见烟雾传感器简介
下面对工业上常用的几种烟雾传感器作简单介绍。
(a) 半导体烟雾传感器
半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器,以及用单晶半导体器件制作的烟雾传感器。自1962年半导体金属氧化物烟雾传感器问世以来,由于具有灵敏度高、响应快、输出信号强、耐久性强、结构简单、价格便宜等诸多优点,得到了广泛的应用。该传感器己成为世界上产量最大、使用最广的烟雾传感器之一。按照敏感机理分类,可分为电阻型和非电阻型。
(b) 固体电解质烟雾传感器
固体电解质烟雾传感器使用固体电解质气敏材料作为气敏元件,其原理是利用气敏材料在通过烟雾时产生电阻,测量其形成电动势从而测量气体浓度。由于这种传感器电导率高,灵敏度和选择性好,因而得到了广 泛的应用,几乎打入了石化、环保、矿业等各个领域,其产量仅次于半导体烟雾传感器的一类传感器。但这种传感器制造成本高,检测烟雾范围有限,在检测环境污染领域中有优势。
(c) 接触燃烧式传感器
当易燃烟雾接触这种被催化物覆盖的传感器表面时会发生氧化反应而燃烧,故得名接触燃烧式传感器。接触燃烧式烟雾传感器的检测元件一般为铂金属丝(也可表面涂铂、钯等稀有金属催化层),使用时将铂丝通电,保持300°C~400°C的高温,此时若与烟雾接触,烟雾就会在稀有金属催化层上燃烧,因此铂丝的温度会上升,铂丝的电阻值也上升;通过测量铂丝的电阻值变化的大小,就知道烟雾的浓度。
(d) 高分子烟雾传感器
利用高分子气敏材料制作的烟雾传感器近年来得到很大的发展。高分子气敏材料在遇到特定烟雾时,其电阻、介电常数、材料表面声波传播速 度和频率、材料重量等物理性能发生变化。高分子气敏材料由于具有易操 作性、工艺简单、常温选择性好、价格低廉、易与微结构传感器和声表面波器件相结合,在毒性烟雾和食品鲜度等方面的检测中具有重要作用。高分子烟雾传感器具有对特定烟雾分子灵敏度高,选择性好,且结构简单,能在常温下使用,可以弥补其它烟雾传感器的不足。
(e) 电化学传感器
电化学传感器由膜电极和电解液封装而成。烟雾浓度信号将电解液分解成阴阳带电离子,通过电极将信号传出。它的优点是:反映速度快、准确、稳定性好、能够定量检测,但寿命较短(大约两年)。它主要适用于毒性烟雾检测。目前国际上绝大部分毒气检测采用该类型传感器。
(f) 热传导传感器
热传导传感器与接触燃烧式传感器具有类似的结构形式,但是测量原理不同。它的测量原理是:将加热后的铂电阻线圈置于目标烟雾中,由于向目标烟雾传送热量造成温度降低,引起电阻值变化,传感器即测量电阻 值的变化情况。温度的变化情况是目标烟雾热传导率的函数,而对于一种给定的烟雾或汽化物,热传导率是它固有的物理特性。
- 红外传感器
红外传感器通常用两束红外光进行烟雾测量,主光束通过测量元件内的目标烟雾,参考光束通过比较元件内的参考烟雾。在测量和比较元件中,红外射线被烟雾有选择地吸收了。未吸收的红外光由光电探测器测量,产生一个正比于目标烟雾浓度的差分信号。非扩散式红外探测器NDIR (non-dispersive IR )是其中的一种,所有的未吸收光全部以最小的扩散和损耗被记录下来。
不同的烟雾吸收不同波长的IR,所以传感器根据目标烟雾而调整,典型应用包括测量CO和CO2、冷冻剂烟雾和一些易燃气。由于非碳氢化合物易燃烟雾(如氢)不吸收电磁谱中IR部分的能量,所以这种传感器可以精确地测量碳氢化合物,并具有最小的交叉灵敏度,而且不受其它烟雾的腐蚀以及高浓度目标烟雾的影响。
(4) 常见烟雾传感器可检测烟雾种类
由于烟雾的种类繁多,一种类型的烟雾传感器不可能检测所有的气体,通常只能检测某一种或两种特定性质的烟雾。例如氧化物半导体烟雾传感器主要检测各种还原性烟雾,如CO、H2、C2H5OH、CH3OH等。固体电解质烟雾传感器主要用于检测无机烟雾,如O2、CO2、H2、Cl2、SO2等。
表2.1简要列举出已经研究、开发的各类烟雾传感器及其可检测的气体种类。
|-------------|----|-------------|-----|-----|-------|---------|-----|----|-----|------|----|-----|
| 传感器种类 | C0 | CO2 H2S NH3 | HCN | HCI | COCI2 | CI2 NOX | SO2 | O2 | CH4 | C3H2 | H2 | H2O |
| 半导体气体传感器 | ○ | ○ ○ | | | | ○ ○ | | ○ | ○ | ○ | ○ | ○ |
| 固体电解质传感器 | ○ | | | | | | | ○ | | ○ | ○ | ○ |
| 接触燃烧式传感器 | ◎ | | | | | | | | ○ | ○ | ○ | |
| 电化学式传感器 | | ○ ○ | ○ | ○ | ○ | ○ | | ○ | | | ○ | |
| 高分子电解质气体传感器 | ◎ | ○ | | | | ○ | | | ○ | | | ○ |
注:○好 ◎不太好
表2.1各种烟雾传感器可检测的烟雾种类
2.2.2烟雾传感器的选定
烟雾检测报警器主要应用在石油、化工、冶金、油库、液化气 站、喷漆作业等易发生可燃烟雾泄漏的场所,根据报警器检测烟雾 种类的要求,一般选用接触燃烧式烟雾传感器和半导体烟雾传感器。
使用接触燃烧式传感器,其探头的阻缓及中毒,是不可避免的问题。 阻缓是当在烟雾与空气的混合物中含有硫化氢等含硫物质的情况下,则有可能在无焰燃烧的同时,有些固态物质附着在催化元件表面,阻塞载体的微孔,从而引起响应缓慢反应滞缓,灵敏度降低。虽然将阻缓的传感器再放回新鲜空气环境中有得到某种程度的恢复的可能,但是如果长期暴露在这样的环境中,其灵敏度会不断下降,导致传感器最终丧失检测烟雾的能力。中毒是如果环境空气中含有硅烷之类的物质时,则传感器将 使催化元件产生不可逆转的中毒,以致灵敏度很快就丧失。当怀疑检测环 境中存在这些物质时,经常对探头进行标定,是必须且有效的办法。
因此,经常对传感器进行标定,是保证其准确性的必要的途径。一般连续使用两个月后应对传感器进行量程校准,这种经常性对传感器的维护,无形中加大了工作人员的工作量,同时增加了报警器的维护成本。
半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器以及用单晶半导体器件制作的烟雾传感器,它具有灵敏度高, 响应快、体积小、结构简单,使用方便、价格便宜等优点,因而得到广泛应用。半导体烟雾传感器的性能主要看其灵敏度、选择性(抗干扰性)和稳 定性(使用寿命)。
经过对比上述两种烟雾传感器的应用特性,发现半导体烟雾传感器的优点更加突出:灵敏度高、响应快、抗干扰性好、使用方便、价格便宜,且不会发生探头阻缓及中毒现象,维护成本较低等。因此,本设计采用半导体烟雾传感器作为报警器烟雾信息采集部分的核心。而在众多半导体气体传感器中,本设计选用MQ-2型烟雾传感器,这种型号的传感器不但具备一般半导体烟雾传感器灵敏度 高、响应快、抗干扰能力强、寿命长等优点。
2.2.3 MQ-2型烟雾传感器的工作原理
半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器以及用单晶半导体器件制作的烟雾传感器。按敏感机理分类,可分为电阻型和非电阻型。半导体气敏元件也有N型和P型之分。N型在检测时阻值随烟雾浓度的增大而减小;P型阻值随烟雾浓度的增大而增大。半导体气敏传感器的分类如表2.2所示。
表2.2半导体气敏传感器的分类 所利用的特性工作温度表面电阻控制器300~450°C
表2.2半导体气敏传感器的分类
|------|----|---------|-------------------|----------|
| 类型 | 所利用的特性 || 工作温度 | 代表性被检测气体 |
| 电阻型 | 电阻 | 表面电阻控制器 | 300~450°C | 可燃性气体 |
| 电阻型 | 电阻 | 体电阻控制器 | 300~450°C 700°C以上 | 乙醇、可燃性气体 |
| 非电阻型 | 二极管整流特性 || 室温~200°C | H2、CO、乙醇 |
| 非电阻型 | 晶体管特性 || 150°C | H2、H2S |
本设计中采用的MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。当处于200~300°C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少, 从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒受 到该烟雾的调制而变化,就会引起表而电导率的变化。利用这一点就可以 获得这种烟雾存在的信息。
遇到可燃烟雾(如CH4等)时,原来吸附的氧脱附,而由可燃烟雾以正离子状态吸附在二氧化锡半导体表面;氧脱附放出电子,烟雾以正离子状态吸附也要放出电子,从而使二氧化锡半导体导带电子密度增加,电阻值下降。而当空气中没有烟雾时,二氧化锡半导体又会自 动恢复氧的负离子吸附,使电阻值升高到初始状态。这就是MQ-2型燃性烟雾传感器检测可燃烟雾的基本原理。MQ-2型传感器的结构图如 图2.1所示,其外观如2.2所示。
图2.1MQ-2型传感器的结构图
图2.2 MQ-2型传感器的外观
2.2.4 MQ-2型传感器的特性及主要技术指标
(1) MQ-2型传感器的一般特点
(a)MQ-2型传感器对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感。
(b)MQ-2型传感器具有良好的重复性和长期的稳定性。初始稳定, 响应时间短,长时间工作性能好。
©MQ-2型传感器具有良好的抗干扰性,可准确排除有刺激性非可燃性烟雾的干扰信息,例如酒精和烟雾等。
(d)电路设计电压范围宽,24V以下均可;加热电压5±0.2V。
(2) MQ-2型传感器的基本特性
(a) 灵敏度特性
烟雾传感器在最佳工作条件下,接触同一种烟雾,其电阻值RS随气 体浓度变化的特性称之为灵敏度特性,用K表示。 K=RS / R0 (2-1) 式中,R0为烟雾传感器洁净空气条件下的电阻值,RS为烟雾传感器在一定浓度的检测烟雾中的电阻值。 虽然对于不同的烟雾,器件灵敏度特性K的值也会各有差异,但是它们都遵循同一规律,
log RS = m logC + n (2-2)
式中,m为器件相对烟雾浓度变化的敏感性,又称烟雾分离能,对于 烟雾,m值为1/2~1/3;C为检测烟雾的浓度。n为与检测烟雾,器件材料有关,并随测试温度和材料中有无增感剂而有所不同。
(b) 初期稳定特性
半导体烟雾传感器在不通电状态存放一段时间后,再通电时,器件并不能立即投入正常工作。这是因为烟雾传感器中的二氧化锡在不通电的状态下会吸附空气中的水蒸气,当再次通电时需要预热几分钟使水蒸气蒸发后,气敏电阻才能正常工作。再通电工作时气敏电阻值达到稳定时所需要的时间,定义为初期稳定时间。一般情况下,不通电时间越长,初期稳定时间也越长,当不通电存放时间达到15天左右时,初期稳定时间一 般需要5分钟左右。
(c) 加热特性
半导体烟雾传感器一般要在较高的温度(200~450°C)下工作,所以需要对其加热。由于传感器一般工作在易燃易爆环境下,若加热丝直接与电源相接,当加热丝局部短路造成器件过热或放电时,可能引发事故。所以必须使用传感器生产厂家推荐的加热电压,使其工作在较安全的范围内。MQ-2型烟雾传感器加热电压为5±0.2V,加热电阻为31±3?。当加热丝断路时,由于热惰性缘故,烟雾传感器的气敏特性并不立即消失,此时检测必出现较大的误差。为避免出现这种情况,并及时发现气敏元件的故障, 需要设计加热丝故障诊断报警电路。
(3) MQ-2型传感器的特性参数
(a)回路电压:(Vc) 5~24V
(b)取样电阻:(RL) 0.1~20K
(c)加热电压:(VH)5±0.2V
(d)加热功率:(P)约750mW
(e)灵 敏 度:以甲烷为例R0(air)/RS (0.1%CH4)>5
(f)响应时间:Tres<10秒
(g)恢复时间:Trec<30秒
2.3烟雾检测报警器整体设计方案
2.3.1烟雾检测报警器工作原理
本论文中的烟雾检测报警器以STC12C5410AD单片机为控制核心,采用MQ-2型电阻式半导体传感器采集烟雾信息。
首先,传感器送来的烟雾浓度对应的微小的电压信号经过放大,转化成较大的电压信号送入STC12C5410AD单片机;然后,在STC12C5410AD单片机内A/D转换、浓度比较,对数据进行线性化处理, 将数字化电压信号转化成为对应的十进制浓度值;最后,将实际可燃性气 体浓度送入液晶,并判断浓度值是否超出报警限,当浓度处于正常状态绿 灯长亮,当烟雾浓度超出设定的限定值时,发出声音报警并伴随红 灯闪亮。另外由于烟雾传感器需要在加热状态下工作,温度越高,反应越 快,响应时间和恢复时间就越快。为提高响应时间,保证传感器准确地、 稳定地工作,报警器需要向烟雾传感器持续输出一个5V的电压。为了保 证其可靠性,在输出5V的电压的同时,进行故障监测。当传感器加热丝 或电缆线和传感器断线或接触不良时,进行故障报警,发出声光报警信号。 当然几种状态的报警信号是各不相同的。
2.3.2烟雾检测报警器的结构
为适应家庭和工业等场所对可燃性易爆烟雾安全性要求,设计的可燃性烟雾报警仪应不仅能在较宽的温度范围工作,而且应具有显示可燃烟雾浓度、故障自检、延时报警功能及可接计算机进行现场远测和实时控制等功能。其目标是在传统的烟雾报警仪的基础上,尽量提高准确性,降低成本,缩小体积。
报警器系统结构框图如图2.3所示,系统以单片机为核心,配合外围电路共同完成信号采集、浓度显示、时间显示、状态显示、声音及闪烁报警、按键输入、故障自检等功能。报警器采用巡检的工作方式,进行两级 报警值设定,并发出不同的光、声信号。系统应采用高性能的单片机,要求工作稳定、测量精度高、通用性强、功耗低,保证报警器的精确性及可 靠性,而且最好体积小,成本低,有利于减少报警器的体积,降低报警器 的成本。
图2.3 可燃性气体检测报警器结构框图
2.3.3烟雾检测报警器的功能
(1)自诊断故障报警功能
当传感器加热丝或者电缆线发生断线或者接触不良的情况时,报警器发出警报,并且黄色指示灯闪烁,提醒用户检查传感器或者电路线接触情况,及时排除故障,保证安全。
(2)烟雾浓度显示
通过液晶屏显示可燃烟雾的浓度值,并且可以切换到设置状态,通过键盘设置或者更改报警限值,以便于用户或检测人员随时观测烟雾浓度及更改报警限。
(3)烟雾报警功能
当烟雾浓度连续20秒取值都在报警限值之上,蜂鸣器开始报警,且声音越来越急促,并且伴随红灯闪烁。因为人对变化的信号更为敏 感,所以变化的声音及灯光更容易引起用户的注意。
(4)防止报警器误报功能
快速重复检测及延时报警可以区别出是管道中可燃烟雾的泄漏,还是由于打开阀门时的微量烟雾的散失。
(5)看门狗自检单片机状态功能
调用单片机中的看门狗程序,定时检查单片机工作状态,一旦发现单片机出现死循环状态,立即复位,保证报警器工作正常。
(6)与上位机通讯功能
可以实现与计算机串口通讯,对报警器采取统一控制,以及便于采集 和处理数据,也可以在计算机上更改报警限值等。
(7)自动控制相关安全装置的扩展功能
留有继电器接口,可以带动排风扇或大功率蜂鸣器,也可以控制管道电子阀门,可在报警的同时自动启动相关安全装置。
2.3.4烟雾检测报警器的主要技术指标
(1) 传感器类型:半导体电阻式
(2) 检测范围:0~100%LEL
(3) 报警准确度::±5%LEL
(4) 报警点设置:达到20%LEL开始报警
(5) 报警器工作方式:现场固定安装,自然扩散进行采样,长年连续运行
(6) 工作环境温度:检测器 -50°C~50°C;报警器0°C~500°C
(7) 工作环境湿度:≤85%RH
(8) 报警方式:烟雾泄漏声光报警、自诊断故障报警
(9) 指示方式:数字显示,可显示被测烟雾LEL%及设定报警限值
(10)响应时间:≤30S (11) 输出信号:可输出与烟雾浓度对应的0~5V DC标准信号
(11) 工作电压:AC220V±15%,50±lHz
(12)具备快速重复检测和延时报警功能,可区别烟雾的泄漏 和短时间的微量散失,防止误报。
2.4本章小结
本章主要阐述了烟雾报警仪的设计方案,即传感器的选型和报警器的设计。传感器从种类、选定、工作原理、基本特性四个方面分别叙述。
根据本设计要求及使用环境、成本等因素选用的MQ-2型半导体电阻式烟雾敏感器件。并且从结构、功能、技 术指标三方面对报警器进行了详细地论述,使其在较宽的温度范围工作,用于检测空气中烟雾或可燃性液体蒸汽的浓度。
该报警器将空气中烟雾或可燃性液体蒸汽的浓度显示在仪表盘上,当空气中的烟雾或可燃性液体蒸汽的浓度达到一定浓度时, 则启动快速重复检测和延时报警,以区别出是管道中烟雾的泄漏, 还是由于短暂打开阀门产生的可燃烟雾的微量散失,防止误报。若判断是 烟雾泄漏,则发出声、光报警信号,也可在报警的同时自动驱动相 关安全装置而且具有故障自诊断功能。此系统还可接计算机进行现场实时控制。
第三章 烟雾检测报警器的硬件设计
在报警仪的设计中,单片机是其核心部件。它一方面要接收来自传感 器送来的烟雾浓度对应的模拟信号和故障检测信号,另一方面要对 两种信号分别进行处理,控制后续电路进行相应动作;与此同时查询是否 有键按下的请求。在单片机完成这些的工作中,尤其是信号处理中,比较 浓度值后送入显示的软件实现比较复杂,要求单片机具备较快的运算速 度,使检测人员能够较准确地观测到烟雾浓度,并根据情况做进行 相应处理。并且也要考虑选择低价实用的机型,并为研制同一系列的低功 耗产品做准备。根据多方面的比较,本设计选用宏晶科技生产的STC12系列单片机。
3.1单片机的选型
3.1.1单片机的选择
单片机是烟雾检测报警器的核心部件,一方面它要接收来自传 感器的烟雾浓度的模拟信号和故障检测信号,另一方面要对两种信 号分别进行处理,控制后续电路的相应工作;同时,查询是否有键按下的 命令。在单片机实现的功能中,将模数转换后的信号做数字滤波,再进行 线性化处理,然后送LCD显示,这一过程的软件实现,需要单片机有较 快的运算速度,使仪表监测人员能够观测到实时的烟雾浓度,并进 行相应处理。同时,在能够满足报警器设计的计算速度及接口数的要求的 同类型单片机中,要考虑选择价格低廉且体积轻巧的机型,在保证了报警 器的精确性、可靠性及抗干扰性的基础上,能够不提高成本,缩小体积。
如今市面上比较普遍的单片机有8051系列与STC系列。
8051单片机虽然应用普遍,工具多,易上手,片源广,价格低,但 是速度慢,功耗大,适合民用,商用,不适合工业用途。
STC单片机是MICROCHIP公司的产品,其突出的特点是功耗低, 精简指令集 ,抗干扰性好,可靠性高,但是存在溢出隐患问题。8051系 列采用的是堆栈指针,STC采用硬件堆栈8级。当堆栈指针设定合理,局部变量少的情况下,8051系列用10层的程序嵌套不会出现问题。而STC单片机程序嵌套包括中断最多不能超过8层。所以如果用C语言进行STC编程设计容易堆栈溢出。
汇编语言对于不同的CPU,其汇编语言可能有所差异,所以不易移 植。而C语言是一种结构化的高级语言,虽然占用资源较汇编多,但是可读性好,移植容易,是普遍使用的一种计算机语言。鉴于C语言的易读性和普遍性,本论文的软件设计选择C语言编程,所以STC系列单片机在此处不是非常适合。
为适用于本论文设计的烟雾检测报警器,应选择一种比8051系列速度快,功耗低,抗干扰性好,而又避免C语言编程溢出问题的单 片机。 宏晶科技新推出的STC12系列单片机具有高速、低功耗、超强抗干扰等优点,是的新一代8051单片机,指令代码完全兼容传统8051,速度 却比8051单片机快8~12倍。而且STC12系列下属的STC12C54xxAD系 列单片机是低功耗Flash单片机,它的高效寻址方式、大容量Flash、 EEPROM、A/D转换、硬件乘法器、硬件脉宽调制器(PWM)等功能特点, 较好的实现了强大的功能与超低功耗的结合。而且在功能同样的情况下, 管脚较少封装体积小,价格比其他型号便宜,因此具有很好的性价比和应 用适应性。
STC12C54xxAD系列单片机有6种型号:分别是STC12C5412AD、 STC12C5410AD、STC12C5408AD、STC12C5406AD、STC12C5404AD、 和STC12C5402AD。 它们是以单片机内部集成Flash的大小区分的。在价格相同的情况下,尽量选择Flash较大的芯片,所以选择了STC12C5410AD单片机作为本论文设计的烟雾报警器的单片机核 心芯片。它体积小,价格低,非常适用于本设计,下面介绍STC12C5410AD的自身特点。
3.1.2 STC12C5410AD单片机的特点
STC12C5410AD单片机较以往的单片机提高了工作效率,使系统的可 靠性、抗干扰能力得到了显著改善,而且进一步小型化和便携化。其 内部集成的Flash几乎拥有现代追求个性化的用户所需要的掉电后数据不 丢失、快速的数据存取时间、电可擦除、容量大、在线可编程、足够多的 擦写次数、价格低廉和高可靠性等所有优点。STC12C5410AD单片机的管 脚结构如图3.1所示。
图3.1 STC12C5410AD单片机管脚图
STC12C5410AD单片机具有以下特点:
(1) Flash存储器
STC12C5410AD Flash存储器为10KB。Flash存储器主要用作程序存 储,可经计算机串口接口下载程序;程序运行时能对其中的1段或多段进 行擦、写操作,因此兼有数据存储器功能。Flash存储器的掉电保护功能 可用于程序数据保存,可以按字或字节读写,最小擦除单位为1段,经过 擦除的位为"1",写入位为"0"。
(2)脉宽调节模式(PWM)
所有PCA模块都可用作PMW输出。输出频率取决于PCA定时器的 时钟源。由于所有模块共用仅有的PCA定时器,所有它们的输出频率相 同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器{EPCnL, CCAPnL}有关。当CL SFR的值小于{EPCnL,CCAPnL}时,输出为低, 当PCACL SFR的值等于或大于{EPCnL,CCAPnL}时,输出为高。当CL的值由FF变为00溢出时,{EPCnH,CCAPnH}的内容装载到{EPCnL, CCAPnL}中。这样就可实现无干扰地更新PWM。要使能PWM模式,模 块CCAPMn寄存器的PWMn和ECOMn位必须置位。
(3) I/O口工作类型设置
STC12C5410AD带有24个I/O引脚,它的I/O与传统的I/O不同,每个I/O口均可由软件设置成4种工作类型之一,使得功能口和通用I/O口复用。 4种类型分别为:准双向口(标准8051输出模式)、推挽输出、仅为输入(高阻)和开漏输出功能。在对同一个I/O口进行操作前要选择其要实现的功能,这样大大地增强了端口的功能和灵活性。其中一些I/O口还可以与STC12C5410AD中的特殊模块相结合完成更为复杂的工作。如与捕获比较 模块相结合可以实现串行通信,与A/D模块结合实现A/D转换等。此外,STC12C5410AD的I/O端口电气特性也十分突出,几乎所有的I/O口都有20mA的驱动能力,对于一般的液晶显示屏、蜂鸣器可以直接驱动而无需 辅助电路。许多端口内部都集成了上拉电阻,可以方便地与外围器件相接 。
(4) A/D模数转换寄存器
STC12C5410AD单片机的A/D转换口在P1口(P1.7~P1.0),有8路10位高速A/D转换器,STC12C5410AD系列是10位精度的A/D,速度 均可达到100KHz(10万次/秒)。8路电压输入型A/D,可以完成温度检测、 电池电压检测、按键扫描、频谱检测等功能。上电复位后P1口是弱上拉 型的I/O口,可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。这样,A/D转换和I/O口 可以灵活的运用,节省了软件及时间。
(5)有配套的仿真开发工具
STC12C5410AD的Flash存储器给用户的开发带来方便。用户可以将 芯片焊接在线路板上后进行下载程序、调试程序和修改程序。同时,STC12C5410AD的片内已集成了程序断点控制等逻辑功能。因此,它的 开发工具较为简单,只需1套PC环境下的调试软件和1个连接于并口的仿真器。仿真器与STC12C5410AD经串口连接。因此,用户只要在设计应用系统时为调试需要预留好STC12C5410AD的串口接口的引出插座,即可实现系统的程序下载调试、系统现场编程硬件仿真或软件升级功能, 而且无需外加编程电压。
3.2烟雾检测报警器硬件电路设计
3.2.1信号采集及前置放大电路
传感器输出信号一般比较微弱,需要经过前置电路对其进行放大、滤波、电平调整,满足单片机对输入信号的要求。本系统采用的半导体烟雾 传感器属于电阻型,因此只需串联一个参考电阻,再经过一个放大电路即可发送给ADC采集。由于系统采用的是单极性供电,所以采用同相比例 放大电路,可以减少硬件开销;反之,如果采用反相放大,则一般需要利 用双极性供电,这就需要系统额外的利用变压芯片产生一个负压,这显然 会造成浪费。常见的运算放大器中,LM324价格低廉、使用简单等优点 比较突出,所以本设计中的前置放大电路采用LM324作为电路的运算放大器。
LM324是单片高增益四运算放大器,可在较宽电压范围内的单电源 或双电源下工作,其电源电流很小且与电源电压无关,四个运放一致性好; 其输入偏流电阻是温度补偿的,也不需外接频率补偿,可做到输出电平与 数字电路兼容。
下面详细介绍运算放大电路:
如图3.2所示,从传感器的上端出来的信号Vi经过运算放大器的同相 输入端,但是为保证引入的是负反馈,输出电压Vo通过电阻R4接到反相输入端,同时,反相输入端通过电阻R3接到参考电压Vref。
同相比例运算电路中反馈的组态为电压串联负反馈,同样可以利用理 想运放工作在线性区时的两个特点来分析其电压放大倍数。 在图3.2中,根据运放的"虚短"和"虚断"的特点可知,I- = I+ = 0,
所以V- = Vo*R3/R3 + R4 +Vref*R4/R3 + R4 (3-1)
而且V- = V+ = Vi
Vo = Vi*(R3 + R4)/R3 (3-2)
由以上两式可求出Vo=Vref-R4/R3 (3-3)
所以本放大电路的放大倍数A =1+ R4 R3 ,此放大电路为同相比例放大电路,它的放大倍数总是大于或等于1。同相比例运算电路有以下几个特点:
(1)同相比例运算放大电路是一个深度的电压串联负反馈电路。因为不存在"虚地"现象,所以其输入端有较高的共模输入电压。
(2)电压放大倍数A =1+ R4 R3 ,即输出电压与输入电压的幅值成正比,且相位相同,所以此电路实现了同相比例放大。如果不接R3和R4,则此电 路就成了"电压跟随器",它可以减少电路模块间由于阻抗引起的干扰。
(3)由于引入了深度电压串联负反馈,因此电路的输入阻抗很高,输出阻抗很低。高输入阻抗就可以减少放大电路对前端电路的影响,同时低输出阻抗也可以提高自身的抗干扰性,这显然有利于电路中其他模块的设 计。 此放大电路还加了参考电压,引入了零点调节功能,这样可以更方便 的调整由于不同传感器导致的零点变化问题。它利用滑动变阻器产生一个参考电压Vref,再利用电压跟随器把电压输入到运算放大电路的电压参考 端。所以调节滑动变阻器,就可以直接改变放大电路的参考电压。而电压 跟随器的作用就如上面介绍的,它只是用来匹配阻抗用的,防止R3和R4对 滑动变阻器输出电压的影响。
图3.2前置放大电路图
3.2.2声音报警电路
声音报警电路图如图3.3所示。报警装置采用无源压电式KM3712x型蜂鸣器[26],较一般的蜂鸣器体积大,声音响亮,适用于家用煤气报警 器的报警声音源。当单片机STC12C5410AD的17脚(P3.7)置1时,三极 管Q1导通,蜂鸣器报警。本报警器采用单片机STC12C5410AD的PWM功 能,如果烟雾浓度达到报警限,单片机控制P3.7(PWM)口输出占空比一定 的脉冲,报警时蜂鸣器会发出如警车警笛的声音。
图3.3声音报警电路图
3.2.3数码管显示电路
报警器浓度显示采用共阳数码管。显示浓度级别,其主要技术参数如下:
模块工作电压: 2.7~5.5V
工作电流: 80ma,每段10ma
字高:11.4mm环境相对湿度:<85% 视角:6:00
工作温度:-10~+50°C
显示方式:反射式正显示存储温度:-20~+60°C
接口方式:8线并行接口
图3.11 数码管结构图
3.2.4状态指示灯及控制键电路
状态指示灯及控制键电路图如图3.5所示。单片机STC12C5410AD的18脚(P1.0)、12脚(P2.4)、13脚(P2.5),控制输出的状态指示灯。绿灯常亮表示正常状态,环境中可燃烟雾浓度极低。黄灯闪亮表示传感器加热 丝或者电缆发生断线或者接触不良。红灯闪亮表示环境中可燃烟雾浓度超 过报警限值,提醒用户尽快作相应安全措施。
当烟雾浓度超过报警限,报警器发出鸣叫,用户到达现场,可按下按键停止报警器鸣叫。若过一点时间浓度仍超出报警限,报警器会再次鸣叫提醒用户。
图3.5 状态指示灯电路图
图3.6 控制按键连接示意图
3.2.5报警器故障自诊断电路
(1)判断传感器电源连接情况
在传感器的地端串联一个电阻R6。当传感器正常连接时,电阻和传感器分压,此时电阻两端有微弱的电压,单片机可以通过P1.1(AD)口检测到; 如果传感器电源连接不正常,则会产生断路,检测到电阻两端电压为0。
图3.7 传感器电源连接自诊断电路
(2)判断传感器信号端连接情况
另一种情况是判断传感器信号端是否连接正确,此时不需要外加电路,在传感器预热2分钟后,测量传感器信号的输出电压,如果电压为5V,则说明传感器的信号端连接不正常。
当报警器自诊断发现传感器连接不正常,就会发出长鸣声音警报,并 伴随黄灯闪烁,提醒用户及时排除传感器连接问题。
3.3本章小结
本章阐述了烟雾报警器的硬件设计。首先介绍了STC12系列 单片机系统的结构特点、技术性能特点。从设计要求及对STC12系列单 片机性能指标、价格及节省仪表空间考虑,选用STC12C5410AD单片机 作为该报警系统的核心控制器。然后,详细地阐述了烟雾报警器电 路设计,分为信号采集及前置放大电路、STC12C5410AD单片机接口电路、声音报警电路、显示电路、状态指示灯及键盘控制电路。
第四章 烟雾检测报警器的软件设计
4.1 STC12系列单片机调试及开发工具
本系统的软件编程使用的是美国Keil Software公司出品的Keil C51,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,Keil C51生成的目标代码效率非常之 高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能 体现高级语言的优势。
C51工具包的整体结构中,μVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经C51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对 目标板进行调试,也可以直接写入程序存贮器如EPROM中。
STC12系列单片机下载程序使用的是宏晶科技自行开发的STC单片 机ISP下载编程软件。本论文程序调试过程中,使用的是STC-ISP-v3.1版。ISP工具的功能主要是将由PC机串接来的8位并行数据与单片机的 串行数据进行相互转换,以实现PC机与STC12C5410AD的RXD及TXD口通讯。 当用户将源程序(汇编语言或C语言)经语法检查无误并生成代码时, 就可以将程序代码下载到Flash芯片中[31],而用户的系统可以是在线状态。
用户可以通过调试环境软件的人机对话界面,在程序中设置断点,在STC12C5410AD中,可以同时设置3个硬件断点,它是经过串口的传输,由芯片中的几组断点条件寄存器实现的。
用户可以通过调试环境软件的人机对话界面,检查或修改Flash芯片 内的各种存储器、寄存器的数据。
4.2烟雾检测报警器软件流程及设计
本论文中,软件解决的主要问题是检测烟雾传感器的烟雾浓度信号,然后对信号进行AD转换,数字滤波,线性化处理,段式液晶浓度 显示,按键功能设置,以及报警器声光警报。
4.2.1主程序设计及流程图
主程序流程图如图4.1所示。首先要给传感器预热三分钟,因为MQ-2型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。程序初始化结束后,系统进入监控状态。本论文的主程序设计先对传感器预热三分钟, 预热同时,对传感器加热丝故障检测,采用软件方式检测传感器加热丝或 电缆线是否断线或者接触不良。
STC12C5410AD单片机对传感器检测的烟雾浓度信号进行A/D转 换、平均值法滤波、线性化处理后,将浓度值与报警限设定值相比较,判断是否报警。同时送入段式液晶显示烟雾浓度值。主程序还包括状态指示灯及按键功能设置,中断子程序等,使报警器功能更加完善,给用户带来便利。
图4.1 主程序流程图
4.2.2主程序初始化流程图
主程序初始化流程图如图4.2所示。给传感器预热后,程序开始执行 初始化子程序,这部分实现的功能包括各种I/O口输入输出状态的设定、 寄存器初始化、中断使能等。首先设定定时初值50ms,利用IAP写入EEPROM,作为取值间隔。然后设置定时器0,选择方式1。方式1状态下定时器的工作寄存器TH1、TL1是全16位参与操作。接下来定时器0中断允许位置1,打开定时器0,关闭蜂鸣器,开启绿灯,设置报警限初 值。
图4.2主程序初始化流程图
4.2.3中位值平均滤波法数字滤波子程序设计及流程图
在烟雾传感器对烟雾浓度采样时,可能会遇到尖脉冲干扰的现象。干扰通常只影响个别采样点的数据,此数据与其他采样点的数据相差比较大。
如果采用一般的平均值法,则干扰将"平均"到计算结果上去,故平均值法不易消除由于脉冲干扰而引起的烟雾浓度采样值的偏差。
为此,可采取中位值平均滤波法(又称防脉冲干扰平均滤波法),先对N个采样数据进行比较,去掉其中的最大值和最小值,然后计算余下的N--2个数据的算术平均值。这种方法既可滤去脉冲干扰又可滤去小的随机 干扰。保证报警器检测烟雾浓度的准确性,减小误报、错报的可能。
在实际应用中,N可取任何值,但为了加快测量计算速度,本论文数字滤波的设计中N取10。即调用A/D连续进行10次采样,去掉其中的最大值和最小值,计算其余8个值的平均值,将这个平均值送入寄存器。 中位值平均滤波法的程序流程图如图4.3所示。
图4.3中位值平均滤波法程序流程图
4.2.4插值法线性化处理子程序设计及流程图
在单片机测控系统中,使用之前必须进行静态标定,以得到输出信号与被测信号的关系输出曲线,用来作为使用过程中的计量依据。但是标定时输出曲线往往不是一条理想的直线,所以要对标定曲线进行线性化处理,用一条拟合直线近似代替输出曲线,线性化是智能仪表的典型功能之一。该报警器主要针对甲烷烟雾检测,在软件线性化处理时,以传感器对甲烷的响应曲线为依据。
本论文报警器使用的MQ-2型传感器的电阻是随着烟雾浓的升高而降低的,因此输入单片机的电压也是随之降低的。图4.4为单片机采集电压值与烟雾浓度百分比的对应曲线,可以看出,电压值与烟雾浓度 之间是非线性的关系,为了实时显示烟雾浓度.需要对其进行线性化处理。 在误差许可范围内,根据标定曲线形状,以及单片机处理能力,把曲线分 成若干小段,对每小段分别线性化。
图4.4单片机采集电压值与烟雾浓度百分比线性化曲线
根据分段线性插值法求输入单片机的某一电压值对应的烟雾浓度的 公式如下:
f(x) = f(xi) + (x-xi)*(f(xi+1)-f(xi))/(Xi+1-Xi)i=1,2,3...N
式中,N为所分区间个数, f (x)为实际烟雾检测浓度,x为实际气体检测浓度对应的电压值,xi是区间的下限浓度对应电压值,xi是区间的上限浓度对应电压值, f (xi)为区间下限烟雾浓度值, f (xi )为区间上限烟雾浓度值。
根据公式4-1设计分段插值法线性化程序流程图如图4.5所示。
图4.5 分段插值法线形化程序流程图
4.2.5烟雾浓度显示子程序设计及流程图
本设计采用数码管显示,线性化处理完毕后需将 其送入数码管显示。
void xianshi(void)//显示程序
{
P2=xsdata[xscout];
}
图4.6 数码管驱动子程序
4.2.6报警子程序设计及流程图
当烟雾浓度超过报警设定值时,报警器发出一种近似警笛的鸣叫声,对应通道的红灯闪亮,以提示操作人员采取安全对策或自动控制相关安全装置,从而保障生产安全,避免火灾和爆炸事故的发生。为防止误 报,在程序设计上,对烟雾浓度进行快速重复检测和延时报警,以区别出 是管道中烟雾的泄漏,还是由于暂短打开阀门产生的可燃烟雾的微 量散失,防止误报。报警子程序流程图如图4.7所示。
图4.7报警子程序流程图
4.2.7控制按键设计子程序及流程图
本报警器设计附加一个按键,功能分别为:确定(消音)。按键处理子程序流程图如图4.8所示。
图4.8 键盘处理子程序
4.3本章小结
本章阐述了烟雾报警器的软件设计。首先介绍了软件编程的开 发环境和工具的选择,这里选择的STC12系列单片机,应用KEIL C51编程器和STC单片机专用ISP下载软件开发完成。
然后按照软件实现的功能,详细地设计并叙述了几个主要部分软件流 程,包括:主程序设计,主程序初始化设计,中位值平均滤波法数字滤波 子程序设计,插值法线性化处理子程序设计,烟雾浓度显示子程序设计,报警子程序设计,按键处理子程序及串口通讯子程序设计,共八个部分。
第五章 实验检定及误差分析
5.1烟雾检测报警器检定
5.1.1爆炸下限(LEL)概念介绍
本论文设计的烟雾检测报警器选用"%LEL"作为烟雾 的测量单位及衡量标准,下面介绍关于LEL的相关概念。
"LEL"是指爆炸下限。 可燃烟雾在空气中遇明火种爆炸的最低浓 度,称为爆炸下限(Lower Explosion Limited),简称LEL。可燃烟雾在空 气中遇明火种爆炸的最高浓度,称为爆炸上限(Upper Explosion Limited), 简称UEL。
烟雾的浓度过低或过高时是没有危险的,只有与空气混合形成 混合气或更确切地说遇到氧气形成一定比例的混合气才会发生燃烧或爆炸。燃烧是伴有发光发热的激烈氧化反应,它必须具备三个要素:可燃物(燃气);助燃物(氧气);点火源(温度)。可燃气的燃烧可以分为两类, 一类是扩散燃烧,即挥发的或从设备中喷出、泄漏的可燃气,遇到点火源 混合燃烧。另一类燃烧,是可燃气与空气混合着火燃烧,这种燃烧反应激 烈而速度快,一般会产生巨大的压力和声响,又称之为爆炸。燃烧与爆炸 没有严格的区分。
有关权威部门和专家已经对目前发现的可燃气作了燃烧爆炸分析,制 定出了烟雾的爆炸极限,它分为爆炸上限和爆炸下限。低于爆炸下限,混合气中的可燃气的含量不足,不能引起燃烧或爆炸,高于上限混合气中的氧气的含量不足,也不能引起燃烧或爆炸。另外,可燃气的燃烧与爆炸还与烟雾的压力、温度、点火能量等因素有关。爆炸极限一般用体积 百分比浓度表示。
爆炸极限是爆炸下限、爆炸上限的总称,可燃烟雾在空气中的浓度只有在爆炸下限、爆炸上限之间才会发生爆炸。低于爆炸下限或高于爆炸上限都不会发生爆炸。因此,在进行爆炸测量时,报警浓度一般设定在爆炸 下限的25%LEL以下。一般可燃烟雾检测仪的测量范围为0~100%LEL。 甲烷在空气浓度为9%-11%时遇明火爆炸,高于11%或低于9%都不爆 炸。假定甲烷的爆炸下限为5%体积比,那也就是说,把这个5%体积比,一百等分,让5%体积比对应100%LEL,也就是说,当检测仪数值到达10%LEL报警点时,相当于此时甲烷的含量为0.5%体积比。当检测仪数 值到达20%LEL报警点时,相当于此时甲烷的含量为1%体积比。
本设计中设定甲烷的爆炸下限为10%体积比,对应的报警限设在20%LEL,也就是甲烷含量为2%体积比时报警器报警。
5.1.2实验数据分析
因为家用煤气中主要成分为甲烷,所以本实验在烟雾标定时,选用甲 烷烟雾。实际甲烷烟雾与进入到单片机输入端的电压值对应数据如表5.1所示。
表5.1实际甲烷烟雾与送入单片机的电压值对应数据
|-------|-------|
| 浓度(%) | 电压(V) |
| 0 | 3.70 |
| 10 | 3.65 |
| 20 | 3.60 |
| 30 | 3.48 |
| 40 | 3.30 |
| 50 | 2.98 |
| 60 | 2.61 |
| 70 | 2.22 |
| 80 | 1.80 |
| 90 | 1.02 |
| 100 | 0 |
从该曲线可以看出,电压值与烟雾浓度之间是非线性关系,为了实时显示气 体浓度,需要对其进行线性化处理,使显示的烟雾浓度与实际误差 在±5%范围内。烟雾浓度与测量电压值线性化示意图如图4.5所示。 对曲线作线性化处理时,根据曲线的走势,将烟雾浓度分成7段。
直线方程
f(x) = f (xi ) + (x - xi ) f (xi ) - f (xi )/(xi -- xi)
i =1,2,3L,7 (5-1)
其中, f (x)为实际烟雾检测LEL浓度,x为实际烟雾检测浓度对应 的电压值,xi是区间的下限浓度对应电压值,xi是区间的上限浓度对应 电压值,f (xi)为区间下限点烟雾LEL浓度值,f (xi )为区间上限点烟雾LEL浓度值,根据公式5-1计算出7个直线方程式,如下:
(1) 0%~10%LEL f (x) = ?0.50x + 3.70
(2) 10%~20%LEL f (x) = ?0.50x + 3.61
- 20%~40%LEL f (x) = ?1.50x + 3.90
(4) 40%~50%LEL f (x) = ?3.2x + 4.58
(5) 50%~60%LEL f (x) = ?3.7x + 4.83
(6) 60%~80%LEL f (x) = ?4.05x + 5.04
(7) 80%~100%LEL f (x) = ?9.00x + 9.00
经实验的标定,实际烟雾浓度与显示浓度误差对比如表5.2所示:
|----------|------|----------|------|
| 浓度(%LEL) | 浓度误差 | 浓度(%LEL) | 浓度误差 |
| 0 | 0 | 50 | 5 |
| 5 | 3 | 55 | 3 |
| 10 | -1 | 60 | 0 |
| 15 | 4 | 65 | 2 |
| 20 | 3 | 70 | 3 |
| 25 | -1 | 75 | 5 |
| 30 | 5 | 80 | -2 |
| 35 | 3 | 85 | 4 |
| 40 | 2 | 90 | 3 |
| 45 | 5 | 95 | 5 |
表5.2分段线性化误差数据
根据误差计算公式X = i ,在本实验中N为20,计算本报警器
显示烟雾浓度与实际浓度之间的误差为2.55%,在所规定误差范围±5%之 内。因此,本论文中的可燃性报警器满足检测要求。
5.2实验误差分析
在测量仪器的实际使用中,造成误差的来源很多,通常是多种误差源 综合作用的结果。就本仪器而言,误差来源主要有软件和硬件两个方面。
软件误差主要来自以下两个方面:
(1) A/D转换量化误差STC12C5410AD单片机的内部A/D转换器为12 bit,输入单片机模拟 电压信号0~3.7V,参考电压2.5V,A/D转换器对输入模拟信号的最大分辨率为2.5 212 ?1 = 0.00061V,因此可求得A/D转换误差为0.00061 =0.00016=0.016%。
(2) 数字滤波过程中的有限字长效应 在中位值平均滤波法数字滤波过程中,用到了乘法和除法运算,因此 在运算过程中,由于字长有限而不能保留原有数据的有效位数会出现舍入误差,由于累计计算会造成计算误差。本仪器使用数据的计算全部是由STC12C5410AD完成的,可以直接执行16×16 bit定点乘法和32÷16 bit定点除法运算,所以有限字长造成的误差对于本系统而言,可以忽略不计。
硬件误差主要来自以下四个方面:
(1) 传感器非线性误差
本系统选用MQ-2型半导体陶瓷式烟雾传感器,烟雾浓度与输出电压存在一定的非线性,使用折线插值方法进行线性化处理,误差数据参见表5.1和图4.5。
(2) 电子元器件参数的离散性、温度不稳定性造成的误差
传感器输出信号一般比较微弱,需要过数据采集前置电路对其进行放 大、滤波、电平调整,满足单片机对输入信号的要求。运放误差是造成前置放大误差的主要原因,运放的输入失调电压,输入失调电流是影响电路精度的重要因素。 本设计选用高输入阻抗、低噪声的放大器,可以满足要求。另外所选的阻容器件都是经过精确测量后再焊接上去的,并经过仔细调试以获得最佳性能。
(3) 电源造成的误差
虽然系统采用直流电源供电,但电源不可避免地残留一定的交流成分而形成噪声信号.它们对测控系统的正常运行危害很大。本系统选用ACDC电源模块,将220V市电转化为5V直流电压,分别给模拟电路和数字电路供电。为了尽量减小噪声,数字地和模拟地要一点接地,每个芯片的电源就近接退耦电容。
(4) 环境、外部噪声引起的误差
环境因素包括环境温度、湿度、空气中的尘埃等。对本系统来说,空气中的成分对系统的探头和单片机及其外围电路影响很小,在进行测量时不用进行补偿。但环境温度、湿度对传感器有一定的影响。但是温湿度的影响相对于系统5%LEL的精度要求,可以忽略不计。另外,系统还受到各种外部电磁噪声的干扰,设计上,把探测器与控制器之间的信号线用屏蔽电缆连接。在电路板布线时,注意抗干扰设计。
5.3本章小结
本章介绍了烟雾报警器的误差来源,分析了系统中的硬件电路引入误差和软件所带来的误差。给出了烟雾浓度信号的实验数据及结果分析。经过现场标定及测试,达到了预期的设计效果。
结 论
烟雾检测报警器可保障生产与生活的安全,避免火灾和爆炸事故以及煤气中毒的发生,它是防火、防爆和安全生产所必备的仪器,具有广阔的市场空间与发展前景。
本论文在对烟雾传感器和报警技术进行深入研究的基础上,全面比较国内外同类产品的技术特点,合理地确定系统的设计方案。并对仪 器的整体设计和各个组成部分进行了详细的分析和设计。
本论文设计的烟雾报警器由烟雾信号采集电路与单片机控制电路两大部分构成。
根据设计要求、使用环境、成本等因素,选用MQ-2型半导体电阻式烟雾传感器。该传感器是对以烷类烟雾为主的多种烟雾有良好敏感特性的广谱型半导体敏感器件。它的灵敏度适中,具有响应与恢复特性好,长期工作稳定性、重现性、不易受环境影响及抗温湿度影响等优点。
在系统单片机控制电路的设计上,采用了高性能、高整合度的STC12C5410AD单片机作为核心芯片,充分利用了其高速数据处理能力和丰富的片内外设,实现了仪器的小型化和智能化。使仪器具有结构简单、性能稳定、体积小、成本低等优点。由于烟雾传感器需要在加热状态下工作,温度越高,反应越快,响应时间和恢复时间就越快。为提高响应时伺,保证传感器准确地、稳定地工作,需要向烟雾传感器持续供给5V的加热电压。为了保证传感器加热工作的可靠性,当传感器加热丝断线或传感器接触不良时,能够进行故障报 警。
烟雾报警器能在较宽的温度范围工作,可将烟雾浓度显示用LCD显示。当烟雾的浓度达到设定的浓度时,发出声光报警。还具有故障自诊断功能快速重复检测和延时报警功能。报警器还可以与上位机(PC)进行通信,实时传输烟雾浓度检测数据,由上位机记录保存,也可以利用上位机完成实现远程实时检测和控制等功能。
在本论文研制的报警器的基础上,可以再做适当的功能扩展,使可燃性烟雾报警器的功能更加完善,安全性更高,使用更加方便等。为了能够进一步提高安全性,可以在自动声光报警的基础上,实现带动烟雾 管道关断等功能。
应用程序以C语言编写,充分利用芯片资源,提高了测量精度和代码执行效率,减小了代码容量,采用中位值平均数字滤波算法对经A/D转换后的数字信号进行滤波处理。这种方法既可滤去脉冲干扰又可滤去小的随机干扰,不但最大限度地排除现场噪声干扰,降低烟雾报警器误报概率,而且易于在单片机中实现。
通过现场标定及测试,分析烟雾浓度信号的实验数据,计算本报警器显示烟雾浓度与实际浓度之间的误差为2.55%LEL,在所规定误差范围±5%LEL之内,满足检测要求,达到了预期的设计效果的结论。
参考文献
[1]陈连生. 可燃烟雾探测器及其设置安装要领. 石油工程建设. 1996(1): 23~25
[2]张保卫, 尚家峰, 赵金水. 燃气报警器的分类与选择. 山东消防, 2003(8): 27~28
[3]彭军. 传感器与检测技术. 西安电子科技大学出版社, 2003: 263~315
[4]李永生, 杨莉玲. 半导体气敏元件的选择性研究. 传感器技术, 2002(3): 1~3
[5]Yoon D h, Yu J h, Choi Gm. CO Gas Sensing Properties of Zn0-CuO Composite. Sensors and Actuators. 1998(46): 15~23
[6]谢望. 烟雾传感器技术的现状和发展趋势. 仪器仪表用户, 2006, 13(5): 1~2
[7]蔡文斋. 专业级串口调试器设计. 现代电子技术, 2006(23): 69~72
[8]Wang Xi huai,Xiao Jian mei,Bao Minzhong. Multi-sensor Fire Detection Algorithm for Ship Fire Alarm System Using Neural Fuzzy Network. Signal Processing Proceedings. 2000(3):1602~1605
[9]张鹏翼, 罗卫兵, 楼超英. 基于STC单片机的无人飞机控系统设计. 设计参考, 2006, 18: 23~25
[10]求是科技. 单片机应用系统开发实例导航. 人民邮电出版社, 2003.
[11]何衍庆. 控制系统分析设计和应用. 化学工业出版社, 2003.
[12]宏晶科技(深圳). STC12C5410AD系列单片机器件手册. http://www.mcu2memory.com. [13]郑郁正. 单片机原理及应用. 四川大学出版社, 2003: 25~56
[14]成伟, 郝跃, 马晓华, 刘红侠. EEPROM单元的电荷保持特性. 电子学报, 2006, 27(7): 1290~1293
[15]N kansah F D. Technology and reliability of submicron 1 T2 flash EEPROM. UMI Number :9995534. Bell &Howell Information and Learning Company, 2001: 2
[16]De Salvo B, Ghibaudo G. Pananakak is Getal. Experimental and theoretical investigation of nonvolatile memory data-retention. IEEE Trans Electron Devices, 1999, 46 (7): 1518
[17]黄再银. 带看门狗和电源监控功能的复位芯MAX813L. 电子世界, 2003(3): 39~40
[18]黄新友, 高春华. 烧结温度对大功率超薄型压电蜂鸣器用压电陶瓷结构和性能 的影响. 中国陶瓷工业. 2003,10(2): 22~24
[19]于冶会. 对调整仪表用蜂鸣器振动规范的探讨. 传感器世界, 2000(1): 35~38
[20]邵子扬, 黄保明, 刘海涛. Keil软件仿真的串口调试技巧. 单片机与嵌入式系统 应用, 2006(7): 76~78
[21]Keil Software. Cx51 Complier User's Guide. Keil Software, 2001
[22]Keil Software. Macro Assembler and Utilities User's Guide. Keil Software, 2001 [23]陈晓莉, 张俊涛. KEIL C51单片机仿真器的设计.微计算机信息(嵌入式与SOC), 2006,2(2): 19~20
[24]魏东. Keil C51总线外设操作问题的深入分析. 单片机与嵌入式系统应用, 2006(2): 78~79
[25]曹珍贯. 在单片机中用插值法实现线性化器. 工矿自动化, 2005(6): 44~45
[26]王勇, 冷剑青, 徐健健. 基于单片机的室内一氧化碳安全监控系统设计. 工业仪 表与自动化装置, 2001(4): 19~22
[27]许贵桥, 李同胜. 分段线性插值收敛速度的一种估计.大学数学,2002,22(5): 64~66
[28]曹乐南, 霍大勇. 单片机与PC机串行通信的实现. 中国科技信息, 2006(11): 192, 203
[29]江峰, 刘高嵩. 串口通讯中系统资源分配问题的研究. 计算机技术与发展, 2006, 16(11): 64~66
致 谢
在本次毕业设计中,我得到了指导老师毛建军老师的热心指导。自始至终关心督促毕业设计进程和进度。帮助解决毕业设计中遇到的许多问题。还不断向我传授分析问题和解决问题的办法,并指出了正确的努力方向,使我在毕设过程中少走很多弯路。同时,他还提供给我们专门的各种设备及场所,使我在调试过程中能够有充足的时间。在这里非常感谢毛老师的指导和帮助,并致以诚挚的谢意!
同时,身边的同学给了我许多的帮助。在此,我向身边关心我的同学致以诚挚的谢意!另外,系里的领导和老师也给了我们必要的指导,我也向系和年级的领导们表示衷心的感谢!最后感谢学院对我这几年的培养。
附 录1
(1)本设计使用的单片机程序如下:
//----------------------------------------------------------------------
void IntTimer0() interrupt 1 //定时器中断程序
{
if(yure_biao==0)
{
jia1++;
YS=~YS;
if(jia1>=200) //定时10S
{
jia1=0;
jia2++;
if(jia2>=30)//定时5分 30
{
jia2=0;
yure_biao=1;
YS=1;
}
}
}
if((start_biao==0)&&(over_biao==0)&&(bao_biao==1)&&(clear_biao==0)) //采集定时程序
{
jia3++;
if(jia3>=20)//定时1S
{
jia3=0;
start_biao=1;
}
}
if(clear_biao==1) //清除报警显示
{
jia5++;
xscout=0;
RS=1;
if(jia5>=200)
{
jia5=0;
jia6++;
if(jia6>=6) //定时1分
{
jia6=0;
clear_biao=0;
}
}
}
else
{
jia5=0;
jia6=0;
}
if((bao_biao==1)&&(clear_biao==0)) //报警
{
GS=1;
jia4++;
if(dengji==1)
{
if(jia4>=20)
{
jia4=0;
RS=~RS;
feng=~feng;
}
}
if(dengji==2)
{
if(jia4>=15)
{
jia4=0;
RS=~RS;
feng=~feng;
}
}
if(dengji==3)
{
if(jia4>=10)
{
jia4=0;
RS=~RS;
feng=~feng;
}
}
if(dengji==4)
{
if(jia4>=5)
{
jia4=0;
RS=~RS;
feng=~feng;
}
}
if(dengji==5)
{
if(jia4>=2)
{
jia4=0;
RS=0;
feng=0;
}
}
}
else
{
jia4=0;
RS=1; //关闭报警灯
feng=1;
}
TH0=0x3c;
TL0=0xb0;
TF0=0; //请标志位
}
//----------------------------------------------------------------------
void adc_spi(void) interrupt 5
{
unsigned char aa=0;
adc_zhi=0; //清零
adc_zhi=ADC_DATA;
adc_zhi<<=2;
aa=ADC_LOW2;
aa=aa&0x03;
adc_zhi|=aa; //采集的AD值
over_biao=0; //清零
if(adc_zhi>midu[4]) //密度等级判断
dengji=5;
else
{
if(adc_zhi>midu[3])
dengji=4;
else
{
if(adc_zhi>midu[2])
dengji=3;
else
{
if(adc_zhi>midu[1])
dengji=2;
else
{
if(adc_zhi>midu[0])
dengji=1;
}
}
}
}
xscout=dengji;
ADC_FLAG_0; //标志位清零
}
//----------------------------------------------------------------------
void delay_ms(unsigned char timedata)
{
unsigned char aa=250,cc=0;
cc=timedata;
while(cc--)
{
while(--aa);
}
}
//----------------------------------------------------------------------
/*
void delay_s(unsigned char timedata)
{
unsigned char aa=197,bb=250,cc=2;
cc=cc*timedata;
while(cc--)
{
while(--aa)
while(--bb);
}
} */
//----------------------------------------------------------------------
void init(void)
{
WDT_CONTR=0x00; //关闭看门狗
delay_ms(100);
CLK_DIV=0x00; //无分频
AUXR=0x00; //设置为普通51模式
TCON=0x00;
TMOD=0x01; //定时器0设置为16位定时模式
TH0=0x3c; //定时50MS
TL0=0xb0;
TF0=0; //标志位清零
TR0=0;
ET0=1; //定时器0中断使能
ADC_CONTR=0; //先清零
ADC_POWER_1; //打开AD电源
delay_ms(1);
CHS_0;
ADC_FLAG_0; //请标志位
ADC_EN_1;
EADC_SPI=1; //AD中断使能
P1M0=0x03; //P1.0和P1.1设置为输入
P1M1=0x00;
Y0=0; //打开数码管显示
P2=0; //出事0
EA=1; //关闭总中断
TR0=1; //启动定时器0中断
GS=1;
YS=1;
RS=1; //灯关闭
feng=1;
}
//----------------------------------------------------------------------
void xianshi(void)//显示程序
{
P2=xsdata[xscout];
}
//----------------------------------------------------------------------
void adc_cai(void) //AD采集程序
{
if((start_biao==1)&&(yure_biao==1))
{
ADC_START_1; //启动采集
start_biao=0;
over_biao=1;
}
}
//----------------------------------------------------------------------
void jiance(void) //信号检测
{
if(P3_4==1)
{
bao_biao=1;
}
else
{
bao_biao=0;
GS=0;
xscout=0;
clear_biao=0;//清定时,清零
}
if(P3_3==1) key_biao=0;
if((P3_3==0)&&(key_biao==0))
{
key_biao=1;
clear_biao=1;
xscout=0;
RS=1;
GS=0;
}
}
//----------------------------------------------------------------------
void main(void)
{
init();
while(1)
{
xianshi();//显示程序
adc_cai();//AD采集程序
jiance();//检测程序
delay_ms(10);
}
}
//----------------------------------------------------------------------