基于单片机的火灾预警系统设计
摘要
随着经济的发展,很多场合都需要预防火灾,安装不同精确度的火灾预警系统,因为一旦发生火灾,会造成严重的经济损失,还可能造成人员伤亡,后果十分严重。火灾是一种在时间和空间上失去人为控制并造成一定损害的燃烧过程,是严重危害人类生命财产安全、直接影响经济发展与社会稳定的一种最常见的灾害。随着经济的高速发展,城市建筑、物资仓库的日益增多火灾的隐患也大大增加,火灾已成为我国常发性和破坏性最强的灾害之一。
本文研究的是基于单片机的多传感器火灾探测系统,本系统具有采集现场信息,并将信息分析预测,结果传递给相关人员和显示火灾信息的功能,并且能够在现场对火灾进行声光报警的功能。本文针对火灾自动预警系统结合国内外现状进行了深入的研究。全面阐述了火灾自动预警系统的硬件电路和软件设计方案。以下是本文做的主要工作:
1.火灾自动预警系统的控制器主芯片采用美国ATMEL公司51系列的AT89C51单片机,该芯片具有价格低廉、高速度、低功耗等特点。主芯片对传感器送来的数据进行分析处理,随后送液晶显示;所设计的预警系统具有较高的性价比,还具有操作人员管理、探测器管理、预报警、火警处理等功能。
2.火灾信息的检测采用的是烟雾传感器MQ-2和温度传感器DS18B20的配合使用,通过非线性和线性时间序列分析算法对现场火灾信息进行预测是否达到预警值。
本文的目的是开发一套价格低廉、结构简单、使用方便而且能及时的发现火情并能有效的避免漏报、误报的火灾自动预警系统。
I
关键词:火灾探测器;AT89C51;温度传感器
Abstract
With the development of economic,many occasions need to prevent fires and install different accuracy of fire alarm systems ,because the event of fire, will cause serious economic losses, may also result in casualties with very serious consequences. Fire is a combustion process of loss control of human and causing some damage in time and space. Fire is the most common disaster that is harm to human life and property and can cause a big effect on economic development and social stability. Fire’s hidden danger greatly increased along with rapid economic development, building and warehouse increasing. It’s one of the disaster that happened all the time and destructiveness in our country.
This paper is based on the single chip’s multisensory fire detection system, this system has the collection site information, and information analysis and forecasting ,the results passed to the relevant personnel and display fire information function, and can be carried out in the field of fire alarm sound and light features. This paper to in-depth research for warning system for the automatic fire situation at
home and abroad conducted. It’s comprehensive exposition of the automatic fire warning system hardware and software components of the specific programs. Following is a major work to do this:
II
1. The main chip of the controller of automatic fire warning system is used in the United States ATMEL Corporation AT89C51 microcontroller series, the chip has a low cost ,high speed, low power consumption.The main chip analyze the data of the sensor’s data, and then sent to the LCD. Early warning system designed with a higher cost performance and has operations personnel management, probe management, pre-alarm, fire processing and other functions.
2. Fire information detected by the smoke sensor MQ-2 and used in conjunction with temperature sensor DS18B20,by nonlinear and linear time series analysis algorithms to predict the on-site fire information whether the alarm value.
The purpose of this paper is to develop a low cost , simple structure, easy to use and can find timely and effective fire prevention omission, false automatic fire warning system.
Key words: Fire Detector; AT89C51;Temperature sensor
目录
基于单片机的火灾预警系统设计 ........................................ I 第一章 前言 ........................................................ 1 1.1 火灾报警系统的应用价值 .......................................... 1 1.2火灾报警系统概述 ................................................ 1
1.2.1 火灾探测要素 ......................................................................................................................................................... 2 1.2.2 火灾探测器分类 ..................................................................................................................................................... 2
1.3火灾报警系统的发展状况 .......................................... 5
1.3.1 国外火灾报警器的发展情况 ................................................................................................................................... 5 1.3.2国内火灾报警器的发展情况 .................................................................................................................................... 6
III
1.3.3国内火灾预警系统存在的问题 ................................................................................................................................ 7
1.4本课题主要研究内容及欲达到的目标 ................................ 8 第二章 系统所涉及的基础知识 ......................................... 9 2.1 AT89c51单片机的简介 .......................................... 9 2.2烟雾传感器的选择及介绍 ......................................... 12 2.3温度传感器的选择及介绍 ......................................... 15 2.4 串口通信 ....................................................... 17 第三章 系统的总体设计 ........................................... 21 3.1 系统总体设计概述 .............................................. 21 3.2 系统总体设计硬件框图 .......................................... 22 3.3 系统总体设计的软件框图 ........................................ 22 第四章 系统的实现 ................................................ 24 4.1. 液晶显示模块 ................................................. 24
4.1.1. 概述 ........................................................................................................................................................................ 24 4.1.2 液晶显示原理 ......................................................................................................................................................... 24 4.1.3 TFT的基本特点 ................................................................................................................................................... 25 4.1.4 TFT的程序流程图 ............................................................................................................................................... 25 4.1.5 TFT的程序 ........................................................................................................................................................... 26
4.2 温度传感器模块 ............................................... 37
4.2.1 概述 ....................................................................................................................................................................... 37 4.2.2 DS18B20的软件程序 ......................................................................................................................................... 38 4.2.3 DS18B20的程序代码 ......................................................................................................................................... 39
4.3 烟雾传感器模块 ................................................. 42
4.3.1 概述 ......................................................................................................................................................................... 42 4.3.2 MQ-2与单片机的连接图 ................................................................................................................................... 42 4.3.3 A/D转换器 ............................................................................................................................................................. 43 ADC0832程序代码 ......................................................................................................................................................... 47 4.4.1 概述 ......................................................................................................................................................................... 53 4.4.2 DS1302引脚图及接法 ....................................................................................................................................... 54 4.4..3 DS1302程序流程图 .......................................................................................................................................... 56 4.4.4 DS1302的程序代码 ........................................................................................................................................... 57
4.5 串口通信模块 .................................................. 63
4.5.1 RS232串口通信原理 .......................................................................................................................................... 63 4.5.2 串口通信程序代码 ................................................................................................................................................. 65
第五章 系统的测试 .................................................. 67 5.1 系统测试在TFT上的显示 ........................................ 68 5.2 系统测试通过串口在主机上的显示 ................................. 72
IV
总结 ............................................................... 75 展望 ............................................................... 75 致谢 ............................................................... 76 参考文献 ........................................................... 77
V
第一章 前言 1.1 火灾报警系统的应用价值
我们国家的火灾报警器经历了一个复杂的发展过程,从无到有,简单至复杂。随着信息化发展程度的加深,火灾预警系统的智能化也普遍受到重视,并开发出了相应的各种各样的产品。应用到了各个行业,起到了非常主要的作用。比如大型的仓库,写字楼,商场,酒店等,都需要火灾预警系统来对周围的环境状况起到实时监控,将可能的隐患拒之门外。从而保障员工的生命财产安全,支撑一个安全,放心的工作环境。为此,火灾预警系统在日常生活中的地位就显得特别的重要,特别是在一些重要的国家政府机关,军火库房等等。
在我们国家,经济发展和生活水平不断提高,很多集团公司的仓库都朝着大型化,多样化,现代化发展,这就使得仓库的物品繁多,如果一旦发生火灾,特别是对于易燃物品,不容易及时控制住火势,给抢灾人员的作业带来很大的困难,同时也容易造成重大的财产损失和人员伤亡,这显然是不满足人民日益增长的物质文化需要的。所以我们要在这些重要的场合合理的应用火灾预警器。当然不同的场合会根据需要对火灾预警的灵敏度,智能化程度,精确度提出不同的要求。
防止火灾可以从两个方面去着手:一.尽量避免外部因素导致火灾的发生;二.如果火灾发生,应当在第一时间发出警报,通知相关的系统单元,再由控制中心启动相应的防火,灭火装置,控制住火势的蔓延,扩大,并及时灭火。正是因为火灾预警系统可以智能有效的保证人生安全,最大限度的降低财富的损失,所以在现代很多建筑智能化系统中都 包含了防火装置.
1.2火灾报警系统概述
1
1.2.1 火灾探测要素
物质燃烧所伴随的现象:
①产生热量
这是因为物质在燃烧过程中伴随多种化学变化,释放大量的热,致使周围环境温度 升高。所以可以采取温度传感器来采集温度信息。
② 产生烟雾
烟雾是烟和雾的混合物。一般其粒子直径大于0.01um。烟雾是对生命构成威胁的流动性较大的有毒气体,在火灾发生过程中很多人是因为大量的烟雾进入呼吸道,导致氧气浓度过低造成死亡。对此我们可以采取烟雾传感器来进行监测。
③产生火焰及气体
火焰是一种现象,是可燃物和助燃物在一定条件下发生氧化反应时释放光和热的现象。它会释放可见光,红外线及其紫外线等。同时,由于各种燃烧化学反应会释放大量的气体包括含碳的CO及CO2,一些塑料材质的物质还会产生含硫的氧化物或有机物。所以可以利用光传感器来采集火灾过程所辐射出的光信息。
1.2.2 火灾探测器分类
① 目前据火灾探测器探测火灾的参数不同主要有:感温、感烟、感光、气体和复合式等探测器。
2
温度火灾探测器:这是对异常温度,温差,温度上升速率做出响应检测的火灾探测器。因为感温火灾探测器所采用的敏感元件不同,如热电偶,热敏电阻,双金属片,半导体等,所以还可形成各种感温火灾探测器。
感烟火灾探测器:这是对燃烧过程中产生的微粒进行检测的火灾探测器。它能探测物质燃烧初期的产生的烟雾粒子浓度。
感光火灾探测器:这也被称作火焰探测器。它能对燃烧过程火焰所辐射的红外线,可见光,紫外线进行探测的火灾探测器。主要的类型有红外火焰型,紫外火焰型。
气体火灾探测器:这对火灾发生过程中所产生的气体进行响应的火灾探测器。在这种探测器中对气体或粉尘浓度进行探测的传感元件主要包括铂丝,金属氧化物半导体(包括尖晶石,钙钛晶体和金属氧化物等)和钻钯(黑白元件)几种。
复合式火灾探测器:不同的场合对报警器的性能参数要求不同,为了使检测更准确,很多时候需要能对多种火灾参数进行监测。主要有感温感烟火灾探测器,感光感烟火灾探测器,感温感光火灾探测器等等。
② 按使用环境可分为:陆用型,船用型,耐寒性。按探测到火灾后动作可分为延时型,非延时型等。
③ 按发展过程分类
火灾报警器的发展已有100多年的历史了。这个过程可以大致的分为三个阶段:
从十九世纪四十年代到本世纪四十年代以简单分立元件构成的火灾报警系统是初始阶
3
段,感温探测器占据主导地位。1847年缅因大学教授Farmer和其同事研制出世界上第一台火灾报警器。到19世纪末,多种定温火灾探测器成功开发并应用到了不同的场合。到了20世纪20年代,人们利用升温速率原理发明了差定温火灾探测系统,这中探测器是主要是温度上升速率进行检测,如果超过额定的值时就会发出警报。随后又相继开发出了热熔电阻差温探测器、膜盒差温火灾探测器、半导体差温火灾探测器以及差定温火灾探测器。
二十世纪五十年代到七十年代,主要发展了对火灾发生过程的烟雾进行检测的烟雾探测器。这种系统为多线制,使得他的稳定性,可靠性差,布线复杂等。到七十年代末,光电感烟探测器得到了较快的发展。
八十年代开始至今是火灾探测器发展的第三个阶段。为了解决之前多线制火灾探测器布线复杂,安装调试困难等缺点,开发了总线制火灾自动报警系统。该系统具有安装,维护,调试简单,利用分布式网络结构特点可以设置多个节点进行全方位探测,各个节点单独设置了地址编码,通过不同的节点采集信息来准确的预报与放置险情。
科技日新月异,将探测器应用到建筑物内可以与里面的其他系统组成智能化的楼宇。在火灾报警器的性能上主要用误报率来判定其优劣。误报率的高低直接反应该报警器性能的好坏。
④ 按应用类型分类
(1)多线型火灾报警器
这类报警器是早期的应用类型,主要以报警为主,外联一些简单的功能,探测器会通过信号线连接至显示屏,在报警时会点亮相应的指示灯,完成探测与报警功能。
4
(2)总线型火灾报警器
这种报警器内嵌有MCU(微处理器),探测器和其它的模块,采用地址编码形式,通过总线和控制器实现信号在探测模块和显示模块之间进行传输。它能对部分故障进行诊断,但是不能明确故障的类型。
(3)智能复合型火灾报警器
这种智能型的探测器采用了具有单片机的模拟探测器,它可以通过对植入的软件进行改写,视不同场合具体调整灵敏度等参数,这可以提高系统的可靠性与稳定性。如果周围环境的参数变化较大,不稳定,可以适当的调低探测器的灵敏度,而对一些比较重要,要求安全性高,稳定性好的场所可以适当的调高其灵敏度,减少误报率。
复合型智能火灾报警器是未来报警器的主要发展方向,他的灵活性好,精确度高,稳定性好,面对各种复杂多变的环境,这种报警器是可以大大降低误报率的理想选择。
1.3火灾报警系统的发展状况
1.3.1 国外火灾报警器的发展情况
对于西方发达国家,他们具有比较完善的火灾预防,监测,报警,抢救及善后处理等体系。这些国家会有专项的财政资金用于这样的体系,开发与维护监测、报警设备,培训相关的人员,从各个方面将火灾预警工作做到细致,避免由火灾而造成人员,财富损失。他们普遍采用有计算机通过网络将各个节点的数据信息采集,统一到计算机来进行实时的分析处理,准确地发现火灾隐患点,同时判断出火灾的类型,特点,以启动不同的应急预
5
案。这些发达国家已经将火灾报警系统和公共监控系统连接在一起,及时准确的发现火灾,最大化的降低损失。同时也成立了相关的机构,专门负责火灾探测的数据的流通性,实时性,提高预报的准确程度,同时也可将相关的信息发送至消防部门,这样可以节省人力,合理的安排与出动消防规模,做到资源利用的最大化。这些措施通过实验都证明非常成功高效,值得我们学习!
1.3.2国内火灾报警器的发展情况
我们国家的火灾报警器的研发较国外比较晚。在上个世纪70年代才开始自主研发火预警系统。之后也是多模仿国外的产品及其技术,而核心的技术却没能掌握。在90年代后期随着国家在经济政策开放的条件下,众多的国外公司开始进入中国市场,他们带来了新技术,促进了中国在火灾报警器技术方面的进步,同时社会经济的飞速发展也产生了对火灾报警器的需要,也就对其技术精度要求越来越高。同时融入其他的新技术可以使得产品的性能越来越精良。近年来火灾报警器的发展趋势大致分为以下几个方向:
①网络化
所谓火灾报警系统的网络化主要是指利用计算机网络技术将报警系统的探测器,控制器及其之间相连的其他各个模块,通过网络协议连接至城市报警中心,这样实现了将各个散落的模块统一连接到一起,形成一个大的网络,实现了远程监控,远程数据调用,各单位之间的信息资源共享,能在远程终端通过监测数据,及时准确的发送报警信号,包括了事发地点,灾情的规模,建议出动人力资源等。这样远程统一管理大大的节省了人力资源,降低了管理难度,使得整个系统的操作变得简单、实时、高效。
②智能化
6
所谓的智能化主要是指报警系统能模仿人的思维,自己主动完成一系列的动作。包括了各个节点设置的探测器主动采集温度,烟雾浓度,光信息等模拟量,在经过传输总线送至微处理器,经过MCU分析处理后接一个AD转换器将相应的模拟量数字化,再在液晶显示器上显示,整个过程系统自动完成。对于分析的结果启动相应的设备。同时给出合理化的建议,做到实时准确的预报险情,最大化降低人员伤亡和财产损失,也能为后期的事故原因提供一定的科学材料依据。
③多样化
所谓的多样化是指火灾探测器可以根据其工作原理分为:感温探测器、感烟探测器、火焰探测器、气体探测器及其复合探测器等。除此之外连接方式也变得多样化。设备及系统之间可以视具体情况采取不同的连接方式。
④微型化
随着现代社会大规模集成电路的发展,微型化在设计产品时越来越受到高度重视。因为这可以节约材料,提供方面,在需要完成复杂功能而需要大量器件时,高度的集成,使之微型化就显得非常有必要了。
1.3.3国内火灾预警系统存在的问题
①误报,漏报
首先国内的火灾报警器本身还存在一些不足,再者,环境中的灰尘,电磁场,静电等干扰因素的存在使得系统在工作过程中会经常出现误报,漏报的现象。
7
②智能化水平有待提高
智能化是本世纪设计产品的追求。传统的火灾报警器主要是对单个传感器采集的信号与阀值比较,判断是否正常,这种方法应用到多传感器的报警器中就会出现漏报和误报的现象。所以为了更精确的预报,满足市场需求,需要采用智能算法,对多个参变量的数据进行综合分析,提高预报的正确率。
③无线通信技术不成熟
传统的火灾报警器系统主要是采用有线连接的方式,但是这种系统在需要完成更多功能,结构布线复杂的情况下,是不容易完成,且影响美观。所以无线通信就显示出优势了。它不仅可以节约导线的使用,简化系统布局,还可以减少因为导线老化而引起火灾的发生。
1.4本课题主要研究内容及欲达到的目标
现在市场需求的是能提前报警,准确度高,实时性好,智能化的火灾预警系统,所以将多个传感器融入到火灾预警系统中。
本课题研究内容分为六章,各章内容大致如下:
第一章:主要讲火灾报警器的发展历史,研究的意义,组成,分类和发展趋势等。
第二章:主要介绍火灾预警系统所涉及的基础知识。
第三章:系统的总体设计。
8
第四章:介绍系统的实现。
第五章:系统初步完成后的测试。
第六章:对火灾预警系统的总结与展望。
本设计欲达到的目标:设计一款结构简单、价格低廉、可靠性好、反应快、准确度高的火灾报警系统。主要采用温度传感器和烟雾传感器分别采集环境温度和烟雾浓度信息,综合分析处理判定是否有险情的发生。这避免了传统的单一传感器误报漏报,监测信息不全面,实时性不高的缺点。
第二章 系统所涉及的基础知识 2.1 AT89c51单片机的简介
AT89C51是带4k字节闪烁可编程可擦除的低电压高性能CMOS8位微处理器。也就是我们通常所说的单片机。它是ATMEL公司生产的一种高效微处理器,采用了ATMEL高密度非易失存储制造技术,和MCS-51指令集兼容。同时ATMEL的AT89c51可以应用到很多的嵌入式系统中。
①主要特性:
寿命1000写/擦循环
4k字节可编程闪烁存储器
9
数据保留时间10年
128*8位内部RAM
5个中断源
可编程串行通道
全静态工作:0HZ-24HZ
三级程序存储器锁定
32可编程I/O线
两个16位定时器/计数器
低功耗的闲置及掉电模式
片内振荡器及时钟电路
②管脚原理图如图2-1所示
10
图2-1
①管脚说明
VCC:接入电源。
VSS:接地。
P0口:P0口是8位漏极开路双向I/0口,每个脚可以吸收8TTL 门电流。它可以用于外部的程序数据存储器,为地址/数据分时复用口。
P1口:p1口是内部已经提供了上拉电阻的8位双向I/O口,它的缓冲器能接受4TTL门电流。
11
P2口:p2口也是内部上拉电阻的8位准双向I/O接口。同样其缓冲器能接收输出4TTL门电流。P2口在FLASH编程和校验时接收控制信号和高八位地址信号。
P3口:它是双功能口。可以作为一般的准双向I/O口。
RST:复位输入口。
ALE/PROG:在访问外部存储器是,ALE(允许地址锁存信号)用于锁存出现在P0口的低8位地址。当不访问外部存储器是,ALE仍以振荡器频率的1/6周期性的输出正脉冲信号,可用作对外输出的时钟脉冲或定时目的。
/PSEN:外部程序存储器的选通信号,低电平有效。当从外部程序存储器读取指令或常数时,每个机器周期/PSEN两次有效,而访问外部数据存储器是,/PSEN信号将不出现。
/EA/Vpp:/EA位访问外部程序存储器控制信号。当/EA低电平时,不管片内是否有程序存储器,都只是访问外部程序存储器。而在高电平时访问片内程序存储器。
XTAL1:方向放大器的输入和内部时钟电路的输入。
XTAL2:片内振荡器的反相放大器的输出端。
2.2烟雾传感器的选择及介绍
本课题采用的是MQ-2半导体式烟雾传感器。该传感器具有如下特点:
广泛的探测范围;高灵敏度;快速响应恢复;优异的稳定性;寿命长;简单的驱动电
12
路。这些特点让MQ-2电阻式烟雾传感器的性价比显得很高,应用到很多的场合。比如用于家庭和工厂的气体泄漏检测装置,适宜于液化气、丁烷、丙烷、甲烷、氢气、酒精、烟雾等探测。规格如下:
A.标准工作条件
表2-1
B.环境条件
表2-2
13
C.灵敏度特性
表2-3
.灵敏度调整
MQ-2型气敏元件对不同种类、不同浓度的气体有不同的阻值,所以在使用此元件 时灵敏度的调整是很重要的。可以使用1000ppm氢气或者1000ppm丁烷校准传感器。
14
另外需要精确测量的时候,报警点的设定应该考虑到温度的影响。
.注意事项
因为高浓度的甲烷气体对人体是有害的,所以在进行实验或测试的时候,保持环境通风良好是非常有必要的。
总之MQ-2半导体式烟雾传感器以其高灵敏度,检测范围广,性能好等众多的特点,
被广泛的应用到各个场合。
2.3温度传感器的选择及介绍
本设计采用Dallas公司设计研发的DS18B20温度传感器。
① 特点:采用单总线专用技术,MCU只用一个端口便可以与DS18B20双向通信;实际应用中不需要借助外部元件就可实现测温;温度范围在-55C至+125C,测温范围广;内部设置了上、下限温度报警;12位数字最多可在750ms内把温度转换为数字;能实现简单的多点分布式温度检测。
②引脚图如图2-2所示
15
图2-2
.引脚及其功能说明如表2-4所示:
表2-4
DS18B20数字温度传感器接线方便,封装后可以应用到多种场合,比如管道式、螺纹式、磁铁吸附式、不锈钢封装式、有多个型号,如LTM8877,LTM8874等等。据不同场合可以改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库房测温等多种场合。本温度传感器具有耐磨耐碰,
16
体积小,使用方便,封装形式多样,适用于各种狭小空间设备的数字测温和控制领域。
DS18B20有4个主要的数据部件:(1)光刻ROM。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看做是该DS18B20的地址序列码。该光刻ROM的作用是使每一个DS18B20
都各不相同,这样可以实现一根总线上挂接多个DS18B20的目的。(2) DS18B20中的温度传感器可以完成对温度的测量。(3)DS18B20温度传感器的存储器。该内部存储器包括一个高速暂存RAM和一个非易失的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL
和结构寄存器。(4)配置寄存器。
2.4 串口通信
串口是很多通用设备通信的协议。串行接口是可以将来自MCU的并行数据字符转换为连续的串行数据流发送出去,同时可以将串行的数据流转换为并行的字符流传送给CPU。串口按位发送和字节接收。虽然比按字节的并行通信慢,但是它在一条线发送数据的同时可以用另外一条线接受数据,可以实现远距离通信。串口通信最重要的是波特率、数据位、停止位和奇偶校验位等。所以两个进行通信的端口这些参数是必须要匹配的。
串口通信时指数据在一根数据线上一次逐位的发送或者接收。串行通信按同步方式可分为异步通信和同步通信。
同步通信:同步通信是一种连续传送数据的通信方式,通常一次传送的字符数据以帧
17
位单位。数据的传送速率高,但是要求发送时钟和接收时钟严格同步。
异步通信:异步通信中收、发端各有一套彼此独立互不同步的通信设备,收发数据的帧格式相同,所以可以相互识别接收到的信息。
串行通信的通信方式按照数据传输方向可以分为:单工方式、半双工方式、全双工方式。
.AT89c51的串行接口的基本知识如下:
在AT89C51内部有一个可编程的全双工串行通信接口,它可以作为同时接收和发送数据功能使用,也可以作为一个同步移位寄存器使用。它有4种工作方式。其串行接口的结构大致如图2-3所示:
图2-3
.串行口的特殊功能寄存器
18
① 串行口数据缓冲器SBUF
SBUF包括了两个在物理上独立的接收和发送缓冲器,可以同时发送和接收数据。两个缓冲器只用一个字节地址99H。串行口对外也有两条独立的收发信号线RXD和TXD,所以可以实现全双工通信传送数据。
② 串行口控制寄存器SCON
SCON寄存器是用来控制串行口的工作方式和状态的。它是可以字节寻址和位寻址的8位特殊功能寄存器。复位时所有位被清0,字节地址为98H。格式如图2-4所示:
图2-4
SMO,SM1:串行口工作方式选择位。
表2-5
19
SM2:多机通信控制位。方式0中,SM2=0.方式1中,接收数据时,如SM2=1,则只有当接收到的第9位数据(RB8)为“1”时,RI才能被激活为“1”,从而产生中断,将接收到的8位数据送入SBUF。方式2和3中,若SM2=0,串行口以单机发送/接收方式工作,TI和RI以正常方式被激活并产生中断请求;如果SM2=1,RB8=1时,RI被激活产生中断。
REN:允许串行就收控制位。REN=0,接收被禁止;相反则允许接收。
TB8:发送数据位8.在方式2和3中,TB8为要发送的第9位数据。
RB8:接收数据位8.方式2和3中,RB8是存放接收到的数据的第9位。
TI:发送中断标志位。TI=1,表示一帧数据发送完毕。TI在四种方式下都必须要借助软件来清0.
RI:接收中断标志位。同样在四种方式下都需要靠软件来清0.
③:电源控制寄存器PCON
20
PCON是为CHMOS型单片机电源控制而设置的专用寄存器。单元地址是87H,具体如表2-6所示。
表2-6
SMOD:串行口波特率选择位。当SMOD=1时,方式1,2,3的波特率加倍,SMOD=0,波特率不加倍;当SMOD=0时,系统复位。
第三章 系统的总体设计 3.1 系统总体设计概述
在社会财富不断积累以及人民生命价值观不断提高的今天,如何防止火灾对社会财富和人民生命财产安全构成损害已经成为当前社会管理者面对的一大课题。所以,及时发现并消除火灾隐患是我们进行火灾研究的重要内容。火灾探测的研究就是为了能及早的准确发现火灾隐患,及时报警,以采取相应的措施来控制火灾的发生和发展。我国当前的火灾自动报警系统主要是应用在大型的仓库、商场、高级写字楼、酒店以及一些重要的政府军级场所,它们采用的是采集集中一区域报警控制方式的智能化程度较高的总线式报警控制系统,它们在一些住宅区和商业楼安装的单一的火灾自动报警探测装置,这种报警探测装置内部采用的是单一传感器,它的可靠性不高,容易发生误报,漏报。所以本课题研究的是一种结构简单、价格低廉、可靠性高、反应快的火灾自动检测系统。
21
3.2 系统总体设计硬件框图
系统的总体结构框图硬件部分如图3-1所示:
图3-1
本硬件电路主要由蜂鸣器、直流电机、AT89C51单片机、TFT、温度传感器、烟雾传感器、时钟日历等组成,再将系统通过RS232串口连接至监控室主机。其中TFT显示器主要显示时间,温度,烟雾浓度,报警信号等信息。非电物理量通过传感器(温度传感器和烟雾传感器),将检测到的温度、烟雾等非电信息转换成电信号,再对电信号进行信号处理使模拟量转换为数字量,最后通过MCU对数字值进行比较处理,能实现现场和远程的自动报警。本系统通过使用温度传感器和烟雾传感器两者的结合,检测现场的温度和烟雾浓度信息,综合分析处理来判别是否有险情的存在及发生,做出相应的措施,最大化的降低火灾造成的损失。这比单一的使用温感能大幅度的提高火灾报警的可靠性,防止漏报、误报等情况的发生。所以火灾预警系统要做到安全,可靠,较高的灵敏度和低误报率。
3.3 系统总体设计的软件框图
22
本系统所涉及的软件部分的框图如图3-2所示:
图3-2
本系统软件部分流程大致为:首先初始化MCU,再判断烟雾信号是否正常,如果指标不正常,进行烟雾报警,置R0=1,指标正常则返回初始化阶段反复进行检测;同样进行
23
温度指数的检测,如果不正常,置R1=1,并进行温度报警,正常则返回初始化阶段,反复检测数据。最后判断温度和烟雾两者指数所置的R0和R1是否相等,如果相等,说明确实有火灾的发生,则立即报警并采取相应措施,启动相应灭火设备。达到防火灭火保护人身财产安全的目的。
第四章 系统的实现 4.1. 液晶显示模块
4.1.1. 概述
液晶显示器简称LCD,是一种低压微耗的平板型显示器,属于被动显示器件,本身并不发光,是借助于对外界光的调制来显示的。液晶显示器具有寿命长、功耗低、体重轻、抗干扰能力强、显示内容丰富等众多优点,所以在很多单片机系统中得到了广泛的应用。
4.1.2 液晶显示原理
液晶是一种性能介于液体和晶体之间的有机高分子材料,它能在一定温度范围内具有液体的流动性、黏度、形变等机械特性,同时又具有晶体的热(热效应)、光(光学各向异性)、电(电光效应)、磁(磁光效应)等物理特性。
我们知道,光线穿透液晶的路径由构成它的分子排列所决定。人们发现在给液晶充电时会改变它的分子排列,从而造成光线的扭曲或折射。
液晶面板自身是被动显示器件无法实现自主发光,但是它可以起到对光的遮挡作用,
24
所以在显示屏的两边都设有作为光源的灯管,同时在液晶显示器的背面有一块背光板和反光膜。背光板由荧光物质组成,可以发射光线,作用主要是提供均匀的背景光源。背光板发出的光线在穿过偏振过滤层之后,进入了包含成千上万水晶液滴的液晶层,液晶层中的水晶液滴都会被包含在细小的单元格结构中,一个或者多个单元格构成屏幕上的一个像素,而这些像素可以是亮的或者不亮的,这样大量排列整齐的像素中亮与不亮便形成了单色的图像。为了实现完整的显示功能,必须为它设计一套背光组件。背光源发出光线,经反射板、导光板、光学扩散片、棱镜片等辅助部件后再照射到液晶面板上,液晶面板在电信号的驱动下确定每个像素区域的光通和光断情况,并在彩色滤光片的作用下形成明暗不一、颜色各异的光线再输出。这样就是用户所看到的液晶显示屏上的彩色画面。
本课题的研究选取TFT彩屏液晶显示器。
4.1.3 TFT的基本特点
TFT屏幕是薄膜晶体管,是有源矩阵类型液晶显示器,在其背部设置了特殊光管,可以主动对屏幕上的各个独立的像素进行控制,这也是所谓的主动矩阵TFT的来历,这样可以大大提高响应时间,约为80ms,它还有出色的色彩饱和度,还原能力和高对比度,在太阳光下依然看得很清晰。缺点是比较耗电和成本较高。
4.1.4 TFT的程序流程图
本流程图首先进行系统的初始化,然后对LCD控制寄存器及地址寄存器进行改写,设置一些LCD的参数,配置Buffer的起始地址和Buffer大小等一些参数,然后清屏,最后系统可以通过控制器发出的指令来调用相关函数,完成相应的显示功能。程序流程图如图4-1所示:
25
图4-1 LCD显示流程图
4.1.5 TFT的程序
TFT部分的程序主要是显示英文字符、汉字、字符串、写命令、写数据等等。具体的程序代码如下:
/*----------------------------------------------------------------
显示英文字符
输入参数:x 横坐标
y 纵坐标
26
c 需要显示的字符
fColor 字符颜色
bColor 字符背景颜色
----------------------------------------------------------------*/
#include \"8X16.h\"
void LCD_PutChar8x16(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor)
{
unsigned int i,j;
LCD_SetPos(x,x+8-1,y,y+16-1);
for(i=0; i<16;i++) {
unsigned char m=Font8x16[c*16+i];
for(j=0;j<8;j++) {
if((m&0x80)==0x80) {
27
Write_Data_U16(fColor);
}
else {
Write_Data_U16(bColor);
}
m<<=1;
}
}
}
/*----------------------------------------------------------------
显示英文字符
输入参数:x 横坐标
y 纵坐标
28
c 需要显示的字符
fColor 字符颜色
bColor 字符背景颜色
----------------------------------------------------------------*/
void LCD_PutChar(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor) {
LCD_PutChar8x16( x, y, c, fColor, bColor );
}
/*----------------------------------------------------------------
显示汉字
输入参数:x 横坐标
y 纵坐标
c 需要显示的汉字码
fColor 字符颜色
29
bColor 字符背景颜色
----------------------------------------------------------------*/
#include \"GB1616.h\" //16*16汉字字模
void PutGB1616(unsigned short x, unsigned short y, unsigned char c[2], unsigned int fColor,unsigned int bColor){
unsigned int i,j,k;
LCD_SetPos(x, x+16-1,y, y+16-1);
for (k=0;k<64;k++) { //64标示自建汉字库中的个数,循环查询内码
if ((codeGB_16[k].Index[0]==c[0])&&(codeGB_16[k].Index[1]==c[1])){
for(i=0;i<32;i++) {
unsigned short m=codeGB_16[k].Msk[i];
for(j=0;j<8;j++) {
if((m&0x80)==0x80) {
Write_Data_U16(fColor);
30
}
else {
Write_Data_U16(bColor);
}
m<<=1;
}
}
}
}
}
/*----------------------------------------------------------------
显示字符串
可以中英文同时显示
31
输入参数:x 横坐标
y 纵坐标
*s 需要显示的字符串
fColor 字符颜色
bColor 字符背景颜色
----------------------------------------------------------------*/
void LCD_PutString(unsigned short x, unsigned short y, unsigned char *s, unsigned int fColor, unsigned int bColor) {
unsigned char l=0;
while(*s) {
if( *s < 0x80)
{
LCD_PutChar(x+l*8,y,*s,fColor,bColor);
s++;l++;
32
}
else
{
PutGB1616(x+l*8,y,(unsigned char*)s,fColor,bColor);
s+=2;l+=2;
}
}
}
/*----------------------------------------------------------------
写命令、写数据
输入参数:x 需要输入的命令 16位
y 需要输入的数据 16位
----------------------------------------------------------------*/
33
void Write_Cmd_Data (unsigned char x,unsigned int y)
{
unsigned char m,n;
m=y>>8;
n=y;
Write_Cmd(0x00,x);
Write_Data(m,n);
}
/*----------------------------------------------------------------
写16位数据
----------------------------------------------------------------*/
void Write_Data_U16(unsigned int y)
{
34
unsigned char m,n;
m=y>>8;
n=y;
Write_Data(m,n);
}
/*----------------------------------------------------------------
写命令
----------------------------------------------------------------*/
void Write_Cmd(unsigned char DH,unsigned char DL)
{
CS=0;
RS=0;
DataPort=DH;
35
RW=0;
RW=1;
DataPort=DL;
RW=0;
RW=1;
CS=1;
}
/*----------------------------------------------------------------
写数据 双8位
----------------------------------------------------------------*/
void Write_Data(unsigned char DH,unsigned char DL)
{
CS=0;
36
RS=1;
DataPort=DH;
RW=0;
RW=1;
DataPort=DL;
RW=0;
RW=1;
CS=1;
}
4.2 温度传感器模块
4.2.1 概述
DS18B20采用的是单总线协议方式,在一根I/O线上完成数据的读写,所以,对读写的数据位有着严格的时序要求,DS18B20的数据读写是通过时间片处理位和命令字来实现信息交换。DS18B20的通信协议定义了几种信号的时序:初始化时序、读时序、写时序。这些时序都是将主机作为主设备,单总线器件作为从设备,每一次命令和数据的传输都是
37
从主机主动启动写时序开始,在进行写命令后,主机需要启动读时序完成数据接收,数据和命令的传输都是地位在先。
4.2.2 DS18B20的软件程序
据单总线的通信协议,主机控制DS18B20的完成读取温度的过程为:初始化DS18B20(发复位脉冲)、发ROM操作命令、发存储器操作命令、处理数据等。
单片机实现一次温度转换,读取温度数值的流程图如下所示。该流程图程序主要包括:DS18B20的初始化、读取数据和写数据三个子程序及完成温度转换,读取温度值两个功能程序。在温度转换盒读取温度之前,首先要通过产生复位脉冲初始化DS18B20,然后DS18B20发出应答脉冲,当单片机接收到应答脉冲后才开始后面的操作。程序应该严格按照时序进行DS18B20的初始化=、读数据、写数据等操作以保证数据的完整性。
DS18B20的程序流程图具体如图4-2所示:
38
图4-2
4.2.3 DS18B20的程序代码
对于温度传感器的程序代码,重点是读取一个字节及写入一个字节的功能代码,这两部分代码具体如下:
/*------------------------------------------------
读取一个字节
39
------------------------------------------------*/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
DelayUs2x(25);
40
}
return(dat);
}
/*------------------------------------------------
写入一个字节
------------------------------------------------*/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
41
DelayUs2x(25);
DQ = 1;
dat>>=1;
}
DelayUs2x(25);
}
4.3 烟雾传感器模块
4.3.1 概述
本系统采用的是电阻控制型的气敏器件MQ-2,其阻值随被测气体的浓度而变化。气敏器件又是一种“气—电”传感器件,它将被侧气体的浓度信号转变成相应的电信号。器件放置一段时间后, 再通电使用时,阻值是先下降,然后又上升,通电大约10分钟后(叫初期稳定时间),才能稳定到与气氛状态相应的阻值。为了避免通电开始时的误报动作,应特别注意要设置十几分钟的延迟电路。器件的响应时间约为10秒,恢复时间约为30秒~60秒。使用气敏器件,要避免油浸或油垢污染,更不要将气敏器件长时间放在腐蚀气体中。长时间使用时,要有防止灰尘堵塞不锈钢网的措施。
4.3.2 MQ-2与单片机的连接图
42
MQ-2与MCU的连接接口方式如图4-3所示:
图4-3
MQ-2电阻式烟雾传感器先将信号采集,再传送到AD转换器进行模数转换,转换后的数值信息送入单片机进行判值比较,再根据判别结果发出相应的信号。
4.3.3 A/D转换器
本系统使用的AD转换器是ADC0832。ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。因为它具有体积小,兼容性强,性价比高等优点而深受单片机爱好者及企业的欢迎,目前具有很高的普及率。学习并使用ADC0832可以让我
43
们了解A/D转换器的原理。
ADC0832具有如下特点:
.8位分辨率;
.双通道A/D转换;
.输入输出电平与TTL/CMOS相兼容;
.5V电源供电时输入电压在0~5V之间;
.工作频率为250KHZ,转换时间为32us;
.一般功耗仅为15mw;
.8P、14P-DIP(双列直插)、PICC多种封装;
.商用级芯片温宽为0℃~70℃,工业级芯片温宽为-40℃~+85℃;
芯片接口说明:
芯片共有8个引脚,每个引脚具体功能如下:
.CS_ 片选使能,低电平芯片使能有效。
44
.CH0 模拟输入通道0。
.CH1 模拟输入通道1。
.GND 芯片参考0电位(地)。
.DI 数据信号输入,选择通道控制。
.DO 数据信号输出,转换数据输出。
.CLK 芯片时钟输入。
.Vcc/Vref 电源输入及参考电压输入(复用)。
ADC0832是8位分辨率A/D转换芯片,其最高分辨率可达到256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换速度快并且稳定性强。
ADC0832与单片机的接口电路如图4-4所示:
45
图4-4
正常情况下ADC0832与单片机的接口应为4条线,分别是CS、CLK、D0、D1。但是由于D0端和D1端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将两个端口并联在一根数据线上使用,如上图所示。
当ADC0832未工作时,其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,必须现将CS使能端置于低电平并保持低电平直到转换结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。
ADC0832的程序流程图如图4-5所示:
46
ADC0832程序代码
图4-5
47
/************
读ADC0832函数
************/
//采集并返回
unsigned int Adc0832(unsigned char channel) {
uchar i=0;
uchar j;
uint dat=0;
uchar ndat=0;
if(channel==0)channel=2;
if(channel==1)channel=3;
ADDI=1;
48
//AD转换,返回结果
_nop_();
_nop_();
ADCS=0;//拉低CS端
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=channel&0x1;
49
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=(channel>>1)&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿3
ADDI=1;//控制命令结束
_nop_();
_nop_();
50
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDO;//收数据
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次时钟脉冲 _nop_();
_nop_();
dat<<=1;
if(i==7)dat|=ADDO;
}
51
for(i=0;i<8;i++)
{
j=0;
j=j|ADDO;//收数据
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次时钟脉冲 _nop_();
_nop_();
j=j<<7;
ndat=ndat|j;
if(i<7)ndat>>=1;
52
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高数据端,回到初始状态
dat<<=8;
dat|=ndat;
return(dat); //return ad k
}
4.4时钟日历模块 4.4.1 概述
本研究课题的时钟日历芯片主要是用来显示时间,并且能通过按键对时间进行调整。本论文研究的系统选取的时钟芯片是DS1302.它是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。
53
DS1302是DS1202的升级产品,与DS1202兼容,但是增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的正常连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。而当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32.768KHZ晶振。RST是复位片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端。
4.4.2 DS1302引脚图及接法
DS1302共有8个引脚。每个引脚功能在上文已经详细说明,具体的引脚图如图4-4所示:
54
图4-4
DS1302在系统中的具体接法如下:
1脚VCC2和8脚VCC1接5V。
2脚X1、3脚X2夹晶振
4脚GND接地
5脚RST接单片机P2.5
6脚I/0接单片机P2.4
7脚SCLK接单片机P2.3
55
编程的时候要注意这样定义一下。
SBIT P2^5=RST_DS1302; SBIT P2^4=IO_DS1302; SBIT P2^3=SCLK_DS1302。
4.4..3 DS1302程序流程图
DS1302在系统中的软件流程图如下所示。主要包括:芯片初始化、等待初始时间的设置、写操作、据新的时间从新设定、读取当前时间值、将所读时间值送入单片机、通过单片机将时间值输出到液晶显示、循环检查是否有新的时间设置等等。具体的程序流程图如图4-5所示:
图4-5
56
4.4.4 DS1302的程序代码
DS1302时钟模块的程序代码主体是向DS1302写入一个字节数据和读出一个字节数据。这两部分的代码具体如下:
/*------------------------------------------------
向DS1302写入一字节数据
------------------------------------------------*/
void Ds1302_Write_Byte(unsigned char addr, unsigned char d)
{
unsigned char i;
RST_SET;
//写入目标地址:addr
addr = addr & 0xFE; //最低位置零
for (i = 0; i < 8; i ++)
{
57
if (addr & 0x01)
{
IO_SET;
}
else
{
IO_CLR;
}
SCK_SET;
SCK_CLR;
addr = addr >> 1;
}
//写入数据:d
58
for (i = 0; i < 8; i ++)
{
if (d & 0x01)
{
IO_SET;
}
else
{
IO_CLR;
}
SCK_SET;
SCK_CLR;
d = d >> 1;
59
}
RST_CLR; //停止DS1302总线
}
/*------------------------------------------------
从DS1302读出一字节数据
------------------------------------------------*/
unsigned char Ds1302_Read_Byte(unsigned char addr)
{
unsigned char i;
unsigned char temp;
RST_SET;
//写入目标地址:addr
addr = addr | 0x01;//最低位置高
60
for (i = 0; i < 8; i ++)
{
if (addr & 0x01)
{
IO_SET;
}
else
{
IO_CLR;
}
SCK_SET;
SCK_CLR;
61
addr = addr >> 1;
}
//输出数据:temp
for (i = 0; i < 8; i ++) {
temp = temp >> 1;
if (IO_R)
{
temp |= 0x80;
}
else
{
temp &= 0x7F;
62
}
SCK_SET;
SCK_CLR;
}
RST_CLR; //停止DS1302总线
return temp;
}
4.5 串口通信模块
4.5.1 RS232串口通信原理
RS232标准最初是为远程通信连接数据终端设备DTE(DataTerminalEquipment),数据通信设备DCE(DataCommunicationEquipment )而制定。所以这个标准的制定并没有考虑计算机系统的应用要求。但是目前又广泛的被借来用于计算机接口与终端或者外设之间的连接标准。所以,这个标准的有些规定是和计算机系统不一致的,甚至是相矛盾的。因而,RS232标准与计算机不兼容的地方是存在的。
其次,RS232标准所提到的“发送”和“接收”,都是站在DTE立场上的,而不是站在DCE立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两
63
者都是DTE,因此双方都能发送和接收。
串口是计算机上一种通用设备通信的协议,大多数计算机包含两个基于RS232的串口,串口同时也是仪器仪表设备通用的通信协议。同时串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位发送和接收字节。尽管比按字节的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通信状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可以高达1200米。
协议标准规定采用一个25个脚的DB25连接器,还规定了连接器的每个引脚的信号内容,同时还对各种信号的电平加以规定。电脑上的RS232接口采用的是负逻辑电平:
在TXD和RXD上:
-15V~-3V表示逻辑1(MARK),+3V~+15V表示逻辑0(SPACE);
在RTS、CTS、DSR、DTR、DCD等控制线上:
+3V~+15V表示信号有效(接通,ON状态,正电压),-15V~-3V表示信号无效(断开,OFF状态,负电压)。
当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电平无意义,低于-15V或高于+15V的电压也认为无意义。
RS232规定标准接口的25条线(脚)包括4条数据线、11条控制线、3条定时线、
64
7条备用和未定义线,常用的有只有9条,他们分别是:数据装置准备好(DSR)、数据终端准备好(DTR)、请求发送(RTS)、允许发送(CTS)、接收线信号检出(RLSD)、振铃指示(RI)、信号地线SG、2个数据信号线(发送TXD和接收RXD)。
我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。但是PC机和单片机的通讯不能用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,所以单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路来进行信号电平的转换。通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,比如MAX232、HIN232等等。
4.5.2 串口通信程序代码
对于串口通信部分的代码主要是串口初始化及串口中断部分。具体代码如下:
/*------------------------------------------------
串口初始化
------------------------------------------------*/
void InitUART (void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
65
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装
TH1 = 0xFD; // TH1: 重装值 9600 波特率 晶振 11.0592MHz
TR1 = 1; // TR1: timer 1 打开
EA = 1; //打开总中断
// ES = 1; //打开串口中断
}
/*------------------------------------------------
串口中断程序
------------------------------------------------*/
void UART_SER (void) interrupt 4 //串行中断服务程序
{
unsigned char Temp; //定义临时变量
if(RI) //判断是接收中断产生
66
{
RI=0; //标志位清零
Temp=SBUF; //读入缓冲区的值
SBUF=Temp; //把接收到的值再发回电脑端
}
if(TI) //如果是发送标志位,清零
TI=0;
}
第五章 系统的测试
本系统采用YT-16D试验箱进行系统的完整测试。该试验箱功能强大,携带方便,能实现多个功能。试验箱的侧面图如图5-1所示:
67
图5-1
5.1 系统测试在TFT上的显示
本系统在YT-16D试验箱上的测试情况如下:TFT显示的状态主要包括温度、烟雾浓度、时间日历,设计者等信息。正常时的显示如图5-2所示:
68
图5-2
当温度超标时,提示有可能出现险情,并启动蜂鸣器发出警报,测试情况如图5-3所示:
69
图5-3
同理,如果是出现烟雾浓度的超标也启动蜂鸣器,并且在TFT上显示烟雾浓度超标,提示可能出现险情,做好各方面的预防与应急工作。其在TFT上的报警显示如图5-4所示:
70
图5-4
当同时出现烟雾浓度和温度超标时,表明火灾险情发,生的可能性比较大,启动蜂鸣器发出警报,并且在TFT上显示出先关数据供参考,这时应该启动相应的灭火装备,做到及时将可能的危险在第一时间内降到最低,保障人生安全。其TFT提示图如图5-5所示:
71
图5-5
以上是火灾预警系统在TFT上的显示情况,这可以通过单片机启动相应的级联设备,形成一个完整的火灾预警系统。
5.2 系统测试通过串口在主机上的显示
因为本系统在软件部分的定义是:如果温度超标就通过单片机经串口将定义好的81发送到主机界面;如果温度超标就将82发送到主机界面;如果温度和烟雾浓度超标就将83发送到主机界面提示两者超标。以上是软件程序中的定义方式,具体的测试情况如下所示:
.温度超标如图5-6所示:
72
图5-6
这是温度超标时通过串口号6发送81到提示界面。
.烟雾浓度超标如图5-7所示:
图5-7
73
这是烟雾浓度超标时通过串口号6发送82到提示界面。
.温度和烟雾浓度双超标如图5-8所示:
图5-8
这是温度和烟雾浓度双超标时通过串口号6发送83到提示界面。
以上是系统的完整测试。包括了TFT上的不同状态提示,再经串口由单片机控制发送相应的数据至主机界面。然后再根据相应的状态采取相应的措施,做到预防火灾及火灾发生时报警,启动相应装置灭火,智能的保障环境的安全。
74
总结与展望
总结
论文在查阅国内、外相关资料,对现有火灾探测器性能比较的基础上,完成了基于单片机的火灾自动预警系统的设计。
论文完成的主要工作如下:
1).完成了火灾自动预警系统的系统总体设计框图,包括硬件部分和软件部分。
2).完成了软件系统的设计,完成了总体系统流程图的设计,并完成了信号采集、液晶显示、
A/D转换等模块的子程序编写和调试。
4).系统采用多传感器综合应用采集信号,提高了系统信息传输的可靠性,减小了
漏报率和误报率。
本文设计的火灾自动预警系统能及时的检测到火情,为有效地防止和减少火灾危害,对所监测环境安全提供保障,对人们生活做出了一定贡献。
展望
本系统利用温度和烟雾传感器,采集仓库的温度和烟雾信号对火灾信息进行预测。气
75
体火灾探测技术是目前火灾探测领域研究的重点和热点,但是目前针对一氧化碳和二氧化碳气体的气敏传感器比感温、感烟探测器价格昂贵且技术复杂,今后可采用新的气敏材料和探测技术,开发出较廉价、易推广的气体火灾探测器。温、湿度对离子感烟探测器的影响比较大并且在大空间中响应的时间也比较长,因此在以后的应用中可以采用响应时间更快的光电烟雾探测器。火灾预警技术的发展关系着人民生命财产安全,在安全工程领域具有举足轻重的作用。随着科学技术的发展和各行业对火灾安全技术要求的提高,火灾探测技术将面临更多的挑战,不断追求“更快”、“更准”,“更可靠”。
致谢
76
参考文献
[1]王丽萍.基于多传感器信息融合技术的火灾探测系统研究[D].长沙:湖南大学硕士学位论
文,2007.
[2]彭同明,徐学勤,杨少华,等.单片机原理及应用[M].北京:中国电力出版社,2007.12-13.
[3]张军,宋涛.AVR单片机C语言程序设计实例精粹[M].北京:电子工业出版社,2009.4-7.
[4]刘坤,宋戈,赵红波,等.51单片机C语言应用开发技术大全[M].北京:人民邮电出版
社,2008.352-360.
[5]张萌,和湘,姜斌,等.单片机应用系统开发综合实例[M].北京:清华大学出版
社,2007:141-150.
[6]赵建领.51系列单片机开发宝典[M].北京:电子工业出版社,2007.501-514.
[7]余国卫,谭延军.基于AT89S52单片机的火灾自动报警系统[J].微处理机,2006(5):123-125.
77
[8]孙育才.ATMEL新型AT89S52系列单片机及其应用[M].北京:清华大学出版社,2005.
[9]马淑华,王凤文,张美金.单片机原理与接口技术[M].北京:北京邮电大学出版社,2005.
[10]万光毅,严义.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2004.
[11]张洪润,易涛.单片机应用技术教程[M].北京:清华大学出版社,2003.
[12]吴选忠,倪子伟.基于PC机的新型智能火灾报警控制系统研究[J].低压电器现代建筑电气
篇,2008(4):46-50.
[13]CELIK T,DEMIREL H,OZKARAMANLIH,et al.Fire detectionusing statistical colormodel
in video sequences[J].Journal of V i-sualComm unication and Image
Representation,2007,18(2):176-185.
[14]KANG Ka.i A smokemodeland its application for smokemanagementin an underground mass
transit station[J].F ire Safety Journa,l2007,42(3):218-231.
[15]MARBACHG,LOEPFEM,BRUPBACHER T.An image processingtechnique for
78
fire detection
in video images[J].F ire Safety Jour-na,l2006,41(2):285-289.
79
因篇幅问题不能全部显示,请点此查看更多更全内容