




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉长江工商学院毕业论文(设计)学院: 工学院 专业: 电子信息工程 年级: 2010级 题目: 基于单片机的火灾报警器的设计 学生: 梁军军 学号:1003010113 指导教师:杨祖芳 职称: 2014年5月3日武汉长江工商学院本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名: 年 月 日 目 录摘 要1关键词1Abstract1Key words11 绪论21.1 火灾检测系统介绍21.2
2、国内外发展现状21.3 报警器实现的基本功能22 系统方案选择32.1 概述32.2 传感器论证与选择32.3 控制芯片论证与选择42.4 显示器件论证与选择63 硬件电路设计73.1 传感器电路模块设计73.1.1 烟雾传感器模块73.1.2 温度传感器模块73.2 晶振电路模块与复位电路模块83.2.1 晶振电路模块83.2.2 复位电路模块83.3 声音报警模块设计83.4 数码管模块设计94 系统软件设计94.1 主流程设计94.2 传感器采集流程104.3 按键扫描流程124.4 数码管扫描流程135系统调试146 结 论14参考文献14附录116附录217基于单片机的火灾报警器的设
3、计摘 要:近年来随着经济发展,高楼大厦不断耸立,消防安全成为瞩目的焦点。火灾检测报警系统是消防设计及电气设计的一个重要组成部分。我国火灾自动检测报警工程应用技术实现了较快的发展,但是目前市场上应用的火灾检测系统多用于大型仓库、商场、高级写字楼等重要场所,其应用系统复杂成本高。而适用于居民楼、办公室等小型区域需要一个廉价、准确的报警系统,本文设计一种简单实用的空气温度和烟雾的火灾检测系统。系统通过51单片机作为控制核心,搭配外部传感器采集模块、电源、报警、按键等模块,实现相对准确的空气中温度和烟雾浓度的检测,当系统采集的环境指标超出设定值时系统将自动报警。为防止系统误操作,该设计中采用温度和烟雾
4、传感器同时对环境进行检测。该系统成本低廉、安装方便、多个系统可进行联机检测,对不同的地点同时检测,能更安全有效的检测火灾事件的发生。关键词:51单片机;传感器;报警Design of fire alarm based on SCMAbstract:In recent years, with the development of economy, more and more high-rise buildings come into view, so fire safety becomes the focus of attention. Fire detection alarm system i
5、s an important part of the electrical design and the fire control design. The technology of the application of automatic fire detection alarm in China have developed rapidly, but at present the application of fire detection system in the market , which has high cost and complicated system, is often
6、used in large warehouses, shopping malls, high-level office buildings and other important places. While as for small areas like residential buildings and offices, a cheap and accurate alarm system is urgently needed, so this paper designs a simple and practical fire detection system which can monito
7、r air temperature and smoke.This system, in the collocation of external sensor acquisition module, power supply, alarm, and the key modules, acts as control core through 51single chip microcomputer and in the end achieves relatively accurate detection of temperature and smoke. When environmental ind
8、icators collected by the system exceed the set value, it will automatically alarm. To prevent the system from being wrongly operated, the design detects the environment through the temperature and smoke sensors at the same time.With low cost and easy installation, the system can detect different pla
9、ces in one time; many systems can be connected with each other for online detection, so it can detect the occurrence of fire incidents more safely and effectively.Key words:51 Single-chip Microcomputer;sensor ;alarm1 绪论现代化的建筑设备众多、规模大、标准高、人员密集,为此对防火提出了严格的要求,特别对于居民楼人员的安全尤为重要。为了早期发现和通报火灾,防止和减少火灾的危害、保护人
10、身和财产安全,火灾自动报警系统已经成为现在消防安全不可少的设施。1.1 火灾检测系统介绍 火灾检测系统与消防控制联动系统是建筑物防火综合监控系统,两系统相互通讯能够及时响应各个区域的火灾情况并进行应急措施处理。在工程应用中,系统的组成是多种多样的,设备量的多少、设备的种类都有一定的差异。总体来说,火灾检测系统是整个系统的前端检测装置,而消防联动系统是系统的控制装置。一个性能灵敏的火灾检测和有效的报警是当今社会消防控制中相当重要的组成部分。火灾报警器一般由火灾探测器、传输线路、消防按钮和报警控制器三个大部分组成。也可根据工程的要求同各种灭火设施和通讯装置联动,以形成中心控制系统。即由自动报警装置
11、、自动灭火装置、安全疏散诱导指示、系统过程指示、消防档案管理等组成一个完整的消防控制系统。在消防报警产品的技术含量上,国内产品和国外产品差距并不是很大,许多指标已经超越,存在的一些问题是:类似于国外消防报警产品的大批量规模化的生产才刚起步,有待于积累经验和技术研发。因此在产品一致性和长期稳定性上有一些差距1。 火灾探测器是整个系统的检测元件,他在工作中的稳定性、可靠性和灵敏度等技术指标直接影响整个消防系统的运行。由于在火灾发生的阶段,将伴随产生烟雾、高温和火光。这些烟、热和光可以通过探测器转变为电信号报警或者启动自动灭火等装置。但是在火灾发生的情况下传感器周边环境极其恶劣,只采集某一区域、某一
12、种物理量使得系统极其不可靠,容易出现误报警或者错过最佳报警时间。所以系统一般不单单检测某一个传感器的输出量而是对多种传感器、多个传感器的检测值进行软件算法后综合判断由系统给出评估值可手动或者只能开启报警模式。本次设计主要实现火灾检测和报警功能,对于稳定性和综合控制性有待进一步的研究和开发。1.2 国内外发展现状21世纪随着科技的不断进步发张,火灾探测实现了智能化、多样化、个性化。当前火灾探测领域国内外广泛使用智能型探测器探测方式。它将火灾探测及信号处理集于一体,使得电路结构更加简单,增加传感器的可靠性。在系统控制标准上我国根据实际工程需求和当前技术现状制定火灾报警控制器联动的一系列标准,标准实
13、施以来,具备联动功能的联动性火灾报警控制器已成为产品的主流。同时国际方面一般控制器采用内部并行总线设计、模块化设计、采用报警联动共线式步线,容量扩充、施工安装灵活方便。同时为使得火灾探测系统更具智能化,国内外火灾探测报警多带有网络通讯功能,方便构成火灾报警网络系统。1.3 报警器实现的基本功能从对国内外火灾探测报警器的分析以及国内消防现状,设计一个火灾智能探测及报警的系统是非常有意义的。本设计实现的主要功能如下:(1)通过气体敏感传感器对外界环境的烟雾、气体进行检测,当环境出现烟雾的情况下具备相应的指示灯指示。(2)通过温度传感器对环境温度进行检测,具备一定的温度显示功能。(3)采用51单片机
14、实现对传感器输出信号进行采集,通过软件算法处理得到相应的指示和报警措施。(4)系统带有指示灯指示、蜂鸣器报警装置。(5)系统带有自检功能,能够检测外设故障并且指示。(6)增加手动报警按钮当出现传感器故障的情况下能够进行手动报警。(7)在上述要求满足的情况下,系统能够同PC上位机进行通讯模拟火灾探测系统的多设备综合控制的功能。2 系统方案选择2.1 概述硬件电路主要包括单片机控制电路,两路传感器检测电路,信号比较电路,以及报警电路部分。温度烟雾传感器信号调理器双电压信号比较单片机SCT89C51现场声音报警系统图2-1 报警电路方框图如图2-1所示, 报警器硬件由温度烟雾信号采集模块、声音报警模
15、块以及单片机模块组成。其中,传感器(包括烟感和温感) 将现场温度、烟雾等非电信号转化为电信号,信号调理电路将传感器输出的电信号进行调理(放大、滤波等), 比较器作为判断传感器输出是否有烟雾信息;声音报警模块由单片机和报警电路组成, 由单片机控制实现声音报警的功能。2.2 传感器论证与选择本火灾探测系统采用烟雾传感器和温度传感器相互配合,同时检测环境的烟雾浓度和温度变化,为单片机分析是否发生火灾提供可靠的参考。使得系统能够更加可靠、稳定、长期运行以防止发生误操作和漏操作。(1)烟雾传感器的选择烟雾传感器一般用于石油化工、冶金、消防等已发生可燃性气体泄露或者烟雾中含大量某种特殊介质的场所,一般采用
16、接触燃烧式烟雾传感器和半导体烟雾传感器。根据烟雾传感器的原理,使用接触式传感器其探头的阻缓是不避免的问题,阻缓是当烟雾与空气的混合物中含有硫化物时在未发生火焰燃烧条件下,有固态物质附着在催化元件表面,从而引起传感器反应迟缓。长期处于该环境下的传感器最终将失去传感检测能力2。所以本文选择电阻式半导体烟雾传感器(MQ-2传感模块)如图2-2所示。图2-2 MQ-2传感器MQ-2传感器模块灵敏度高、响应快、抗干扰性、使用方便、价格低廉,不易发生探头阻缓事件,能够满足系统的设计要求。(2温度传感器的选择普通电阻式温度传感器:普通热敏电阻使用必须搭配外部硬件电路,将变化的电阻量通过电信号表现出来,通常需
17、要搭配恒流源、电阻桥、差分放大电路、AD采集等电路。采集的灵敏度、准确度等特性很大程度上决定于外部的硬件电路。若需要得到一个稳定、精度高的温度测量模块需要在硬件电路上花点功夫,同时为保证采集的信号不受干扰,需要在单片机内部进行软件滤波。集成IC式温度传感器:以美国Dallas公司生产的DS18B20数字温度传感器为例,这是一款高精度、数字单总线式、可组网的多功能温度传感器。其硬件电路简单、体积小、价格低廉;非常实用于工农业和科研中。DS18B20测量温度范围为-55至+125,-10至+85范围内精度为±0.5。同时DS18B20包含一个独特的序号,多个DS18B20可以同时存在于一
18、条总线3。这使得只利用单片机的一个I/O端口就可以读取多个温度传感器的测量数据,从而完成多点温度的测量,如图2-3所示为 DS18B20外形图。图2-3 DS18B20传感器外形图通过分析,51单片机内部不具有AD转换功能,而且采用热敏电阻需要制作复杂的硬件电路,很难保证温度采集的可靠性,所以本文采用数字式高精度温度传感器DS18B20。2.3 控制芯片论证与选择方案一:AVR单片机AVR单片机具有高速度、低功耗特点,在和51单片机外接相同晶振条件下,AVR单片机的工作速度是51单片机的3040倍,并且增加了休眠功能及CMOS技术,使其功耗远低于51单片机;AVR单片机是工业级产品具有大电流输
19、出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,提高产品抗干扰能力;具有模拟比较器、脉宽调制器、模数转换功能;超功能简洁指令,具有32个通用工作寄存器,相当于51单片机内部32个累加器;强大的通讯功能,内置了同步串行接口SPI、通用串行接口UAST、两线串行总线接口TWI(I2C)使网络控制,数据传送更为方便;超级保密功能,内部程序可采用多重保护锁功能4;方案二:FPGA数字逻辑编程器件。FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的
20、一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。但价格昂贵,还要配置flash才能存储,本次设计电路程序和电路比较简单,使用单片就能够满足要求。方案三 :MCS-51系列单片机STC89C52RC单片机是一个低功耗,高性能CMOS 8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,STC89C52具有40个引脚,4K Bytes Flash 片内程序存储器,128 Bytes的随机存取数据存储器(RAM),32个外部双向I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器
21、,2个全双工串行通讯口,看门狗(WDT)电路,片内时钟振荡器。经论证比较,STC89C52单片机其功能已足够满足本系统所需单片机的要求,无须使用功能强大、价格昂贵的AVR单片机和FPGA数字逻辑编程器件。故选用STC12C5A60S2单片机,引脚图如图2-4所示。图2-4 STC89C52引脚图下面按引脚功能分为4个部分叙述各个引脚的功能。(1)电源引脚VCC和VSSVCC(40脚):接+5V电源正端;VSS(20脚):接+5V电源正端。(2)外接晶振引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对
22、于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。(3)控制信号或与其它电源复用引脚控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机
23、复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。ALE/ P (30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低PSEN(29脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN信号将不出现。EA/Vpp(31脚):EA为访问外部程序储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器4KB(M
24、S52子系列为8KB)。若超出该范围时,自动转去执行外部程序存储器的程序。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。(4)输入/输出(I/O)引脚P0口、P1口、P2口及P3口P0口(39脚22脚):P0.0P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程
25、序时,则输出指令字节。P1口(1脚8脚):P1.0P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。P2口(21脚28脚):P2.0P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。P3口(10脚17脚):
26、P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。综上所述,MCS51系列单片机的引脚作用可归纳为以下两点:(1)单片机功能多,引脚数少,因而许多引脚具有第2功能;(2)单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线5。2.4 显示器件论证与选择方案一:使用数码管显示数码管具备数字接口,显示清晰,价格较低,性价比非常高,方便易行能够满足数字及部分符号的显示,但是不能显示字符及图形,而且大大占用I/O资源,耗能大,。对于51单片机IO一般
27、不带推挽电路,输出电流比较小采用数码管显示的话需要设计三极管驱动电路,否则不能使数码管显示的亮度均衡。而且PCB布线上比较复杂,单面板跳线会比较多。方案二:采用液晶LCD0802显示LCD0802具有显示质量高,数字式接口,体积小,质量轻,功耗功率小,带ACII字库等特点,能够满足数字及字符的显示。价格低廉,带背光控制,使得显示效果更佳。LCD0802支持4元线驱动IO资源占用少。经论证比较,虽然采用液晶屏显示比较简单方便,但是它不能够达到数码管显示的优点,特别在系统设计中一个清晰的显示效果能够给人一种直观的感觉,所以我们还是选择数码管进行信息显示。3 硬件电路设计3.1 传感器电路模块设计本
28、文设计火灾报警器采用烟雾传感器和温度传感器相互配合,同时检测环境的烟雾浓度和温度变化,为单片机分析是否发生火灾提供可靠的参考。使得系统能够更加可靠、稳定、长期运行以防止发生误操作和漏操作。3.1.1 烟雾传感器模块系统采用MQ-2模块作为烟雾检测传感器,该传感器自身电阻受外部环境的烟雾浓度变化而变化,通过分压电路将电阻变化量转为模拟电压量。由于51单片机内部不带有AD采集,为简化模块这里加入比较器作为判断传感器输出是否有烟雾信息,比较器同相端为一个电阻分压网络用来设置正常环境下传感器输出回路的电压阀值,当外界环境烟雾浓度大于常规情况下传感器回路输出电压大于该阀值,比较器输出低电平;反之输出高电
29、平。比较器输出接51单片机的P12口,单片机采集P12端口的高低电平即可知道外界的烟雾浓度信息。比较器采用LM393,LM393是双电压比较器集成电路,工作电源电压范围宽,单电源、双电源均可工作,输出与TTL,DTL,MOS,CMOS 等兼容6。像大多数比较器一样,如果输出端到输入端有寄生电容而产生耦合,则很容易产生振荡。这种现象仅仅出现在当比较器改变状态时,输出电压过渡的间隙,电源加旁路滤波并不能解决这个问题,标准PC板的设计对减小输入输出寄生电容耦合是有助的。减小输入电阻至小于10K将减小反馈信号,而且增加甚至很小的正反馈量(滞回1.010mV)能导致快速转换,使得不可能产生由于寄生电容引
30、起的振荡,除非利用滞后,否则直接插入IC(集成电路板integrated circuit,缩写:IC)并在引脚上加上电阻将引起输入输出在很短的转换周期内振荡。LM393并不是轨对轨运放输出电压不能保证在VCC上,同时考虑到寄生振荡我们在输出端进行上拉保证单片机在采集信号时能够保证。本次设计采用覆铜板进行设计振荡效应将被放大所以我们在软件上进行一系列的滤波保证对烟雾传感器信息采集的准确性,图3-1是比较器的硬件电路。图 3-1 LM393比较器电路3.1.2 温度传感器模块本模块使用的是三脚直插式DS18B20温度传感器,它的连接图如图3-2所示。单片机与外部设备之间的数据传输串行总线有最常见的
31、SPI、I2 C和SCI,其中SPI总线是用串行三线方式进行通信,而SCI总线是以异步方式进行通信。DS18B20使用单总线,它采用单条线信号,既可以传输时钟,又可以传输数据并且是双向传输的7。因此,这种连接方式线路简单,成本低,便于总线扩展和维护。本系统DS18B20直接和I/O口相连接,单总线端接一个5K上拉电阻。图3-2 DS18B20的电路连接图3.2 晶振电路模块与复位电路模块3.2.1 晶振电路模块单片机的正常运行指令需要时钟电路产生时钟信号来驱动单片机8,然而,51系列单片机的时钟电路通常分为两种:外部震荡方式电路和内部震荡方式电路。本系统的单片机模块采用内部震荡方式的时钟电路,
32、即在其引脚XTAL1和引脚XTAL2外接石英晶体和陶片电容,构成振荡器。本系统采用时钟电路的晶振为11.0592MHz,电容为30pF,如图3-3所示。3.2.2 复位电路模块复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。51系列单片机的复位信号是从REST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果REST引脚上有一个高电平并维持
33、2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,本设计采用的是手动按钮复位,如图3-3所示。图3-3 晶振电路与复位电路3.3 声音报警模块设计声音报警电路在STC89C52的控制下,在发生火灾时发出声音信号报警。声音报警电路如图3-4所示。由于蜂鸣器的工作电流一般较大,以致于单片机的I/O 口无法直接驱动,所以要利用放大电路来驱动,一般是使用三极管来放大电流就可以了。声报警电路由单片机的P10引脚进行控制,当P10输出的电平为高电平时,三极管导通,蜂鸣器的电流形成回路,发出声音报警;否则,三极管截止,蜂鸣器不发出声音。图3-
34、4 蜂鸣器驱动3.4 数码管模块设计温度数据采集进来并被成功地由模拟量转化为数字量后,就被传送到系统的显示模块,让人们更直接地观察到相关温度数据9。在本系统中,对LED进行的是动态扫描,除了给显示器提供段的输入之外,还要对显示器进行位控制。P2口输出段码,P1口输出位码。4个数码管在显示的过程中依次扫描保证显示的数据清晰亮度均匀。数码管连接电路如图3-5所示。 图3-5 数码管连接电路4 系统软件设计本论文中,软件解决的主要问题是检测烟雾传感器的烟雾浓度信号和温度传感器的温度高低,然后对信号线性化处理按键功能设置,以及报警器声光警报。4.1 主流程设计51单片机作为本系统的控制核心,在完成上面
35、模块驱动流程后需要在主函数中进行规律性调用以保证系统的正常运行。主函数包括对51单片机内部资源初始化、外表设备驱动初始化、参数初始化、传感器校验等操作后,主流程按顺序进行上面的模块调用以获取传感器输出数据并进行数据处理后显示。本系统的核心在于数据的处理上,主流程图如图4-1。图4-1主流程4.2 传感器采集流程火灾发生的过程中烟雾效果是长期的,所以单片机在采集烟雾传感器的过程中短时间内的数据并不能作为判断的唯一依据。需要对外部传感器进行实时采集并判断一定时间的状态信息并结合温度信息作为火灾是否发生的判断依据。系统每秒采集100次烟雾传感器输出信号并进行低通滤波处理防止一定周期的干扰,经过低通滤
36、波处理后将得到这100次传感器输出信号的信噪比,信噪比为百分数形式并不是单一的0 或1状态而是这100采集的数据中有效信号的占的百分比。一秒后信噪比数据将被系统保存在数组之中,由于51单片机内部不具有EEPROM所以只能暂且放入数组之中。系统每分钟分析一次数组提取信噪比的变化趋势并判断该变化趋势是否满足火灾发生的条件10。变化提取函数根据环境的温度变化而变化,这样可以防止冬天大雾的条件下发生误判,烟雾传感器的数据采集算法如图4-2所示。图4-2 烟雾传感器数据解析流程温度传感器采用DS18B20数字单总线式传感器,DS18B20的驱动程序是用一个独立的.H文件和fasong.c在一个工程文件夹
37、下。关于温度发送的方式常常有以下几种:I2 C、SPI、SCI和单总线。其中I2 C总线是以串行的方式通信,它需要一条时钟和一条数据线;SPI总线则以同步串行的三线方式进行通信,一条时钟线、一条数据输入和一条数据输出线;SCI总线则是用异步的方式通信,一条数据输入和一条数据的输出线。而DS18B20采用的是单总线与其他三种通信不同的是它用的是单线传输,既可以传输时钟,也可以传输数据,数据传输是双向的。由于本工程只使用一个DS18B20与STC89C52进行数据交换,就不需要读取ROM编码和与ROM匹配编码了,这样就可以直接进行温度转换和读取的操作了。本模块的实际温度使用的算法:temp0=TH
38、*16+TL/16;temp1=(TL%16)*10/16;DS18B20程序由以下下几部分组成:初始化、写数据、读数据,这三部分对应的时序图如图4-3初始化时序图、图4-4写数据时序图、图4-5读数据时序图。DS18B20的流程图如图4-6所示。图4-3 初始化时序图DS18B20读取温度的情况下单片机需要跟DS18B20传感器先进行握手通讯,保证两则的数据通道流畅之后才可以进行数据交换等操作。DS18B20的复位初始化程序如下:bit Init_DS18B20(void)bit flag; /储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在DQ = 1;
39、/先将数据线拉高for(time=0;time<2;time+); /略微延时约6微秒 DQ = 0; /再将数据线从高拉低,要求保持480960usfor(time=0;time<200;time+) ; /延时600微秒向DS18B20发出一持续480960us的低电平复位脉冲 DQ = 1; /释放数据线(将数据线拉高) for(time=0;time<10;time+) /延时约30us(释放总线后需等待1560us让DS18B20输出存在脉冲)flag=DQ; /让单片机检测是否输出了存在脉冲(DQ=0表示存在) for(time=0;time<200;tim
40、e+) ; /延时足够长时间,等待存在脉冲输出完毕return (flag); 图4-4 写数据时序图图4-5 读数据时序图图4-6 DS18b20驱动流程4.3 按键扫描流程系统中按键作为开启/关闭烟雾报警器以及设置环境温度、环境烟雾等信息。为减少按键使用量使得系统更加简洁更加有效操作,按键需要进行复用。系统设有K1、K2两个按键。系统正常运行状态下短按K1、K2按键并不执行任何操作,K1、K2短按功能只有在进入参数设置状态下才作为加、减按键功能。长按K1按键将进入参数设置,参数设置完成后长按K1将退出参数设置期间,数码管将闪烁显示以提醒用户通过K1、K2进行参数设置。在正常状态下长按K2键
41、将使系统进入自检程序。系统自检包括外部传感器的检测以及蜂鸣器等设备,再次长按为退出。以下是按键扫描流程,流程包括采集和键码解析。如图4-7所示。图4-7 按键扫描流程4.4 数码管扫描流程为配合系统的状态信息显示和环境温度信息显示,采用4位共阴数码管。将51单片的T2定时器模块设置为10ms定时作为数码管位扫描周期。数码管将从第一位开始至最后一位循环扫描保证每一位都能够清晰显示,扫描流程如图4-8所示。图4-8 数码管扫描流程5系统调试系统通过protel 99SE软件绘制原理图,由洞洞板搭建基本电路。借助万用表和示波器测试硬件电路是否工作正常。由于系统比较简单所以没有借助仿真软件进行仿真而是
42、通过软件在线调试。MQ-2传感器模块的阀值设定,系统上电6分钟保证传感器预热完成,在正常环境情况下通过万用表测得传感器模块的输出电压为275mv。点燃一根香烟在传感器附近确保烟雾颗粒能够进入传感器,此时测得传感器模块输出电压为2.2V。因此设置阀值电压为2V,调节传感器模块上的滑动变阻器(顺时针为增大阀值)使得比较器的同相端电压为2V。观察数码管最后一位的显示状态,当正常情况下为不显示,有香烟烟雾情况下显示F说明系统采集的烟雾信息正常。系统外形图如图5-1所示。在温度传感器和烟雾传感器中间点燃一张白纸观测数码管的温度显示以及烟雾传感器的输出信号。发现温度程曲线上升,烟雾传感器输出信号在阀值周围
43、时会出现抖动。通过软件低通滤波后能够有效采集到变化信号。再两者传感器都超过运行设置指标的情况下(温度指标由用户设定,这里定为35)蜂鸣器能够做出响应,至此系统调试完成。图5-1 硬件外形图6 结 论本文设计了一个基于单片机的火灾报警器,可保障生产与生活的安全,避免火灾和爆炸事故以及煤气中毒的发生,它是防火、防爆和安全生产所必备的仪器,具有广阔的市场空间与发展前景。本设计抛弃了传统的使用单一传感器探测报警,采用了温度传感器DS18B20和烟雾传感器MQ-2相结合的多传感器探测方法,使系统灵敏度高、响应时间短,在火灾发生的早期就能准确的报警。当发生火灾,系统以声光的形式发出报警。在系统中设置了1个
44、蜂鸣器,实现声音报警;由于时间紧迫和个人能力有限,本文设计的火灾报警系统还存在许多需要完善和作进一步研究的问题,如:火灾报警系统判断的算法有待进一步的研究改进,应用更先进的神经网络和模糊识别等智能算法,降低系统的误报率,提高灵敏度。由于上述缺点的存在,此系统不是很完善,还有待进一步改进。参考文献1 王钊.智能型火灾报警系统的设计与研究D.西安理工大学,2009.2 黄凤娟.单片机火灾报警系统的设计J. 安徽电子信息职业技术学院学报,2010年第1期.3 谢望. 烟雾传感器技术的现状和发展趋势J. 仪器仪表用户, 2006, 13(5): 124 范维澄.中国火灾科学基础研究概况J.火灾科学,2
45、005,6:5762.5 丁璐,李春华,杨戍.火灾探测技术的分析J.煤矿现代化.2007(4):29 31.6 陈晓娟,卜乐平,李其修.基于图像处理的明火火灾探测研究J.2007.6,Vol.19,No.3:611.7 张宝.基于MATLAB的火灾信号滤波处理及仿真J.南京:中国制造业信息化,2008,37(15),3739. 8 刘海成.单片机及应用系统设计原理与实践M.北京.北京航空航天大学出版社.2009年9 董巍.动车组火灾报警系统的设计D.大连理工大学,2009.10 胡显华.火灾探测器误报警的原因及改进方法J.电脑开发与应用,2007,Vol.20,N0.11:6062.附录1硬件
46、原理图:附录2主要源程序:MAIN.C读取温度程序代码段#include"reg51.h"#include"d1820.h"int t;uint num;uchar dat; /读写数据变量uchar a=0;uchar b=0;float tep=0; /读一个温度时的温度转换中间间uchar data tempbuf4=0;/温度字型显示中间变量/*函数名称:delay(uint num)返回值:无参数:uint num 延时数据值作用:延时*/void delay(uint num)while(num-);/*函数名称:void Init_DS18
47、B20(void)返回值:无参数:无作用:初始化18B20*/void Init_DS18B20(void)char x=0;DQ=1;delay(10);/稍作延时DQ=0;delay(80);/延时>480us 540usDQ=1; /拉高总线 15-60usdelay(20);x=DQ;/读总线状态 为0复位成功,为1则不成功delay(30);DQ=1;/释放总线/*函数名称:uchar ReadOneChar(void)返回值:uchar dat参数: 无作用:读取1820一个字节*/uchar ReadOneChar(void)uchar i;uchar dat=0;for(
48、i=0;i<8;i+)DQ=0;dat>>=1;DQ=1;/给脉冲if(DQ) dat|=0x80;/读1 / 读0右移处理delay(8);/15us内读完一个数return(dat);/*函数名称:void WriteOneChar(uchar dat)返回值:无参数: uchar dat作用:向1820写一个字节*/*写DS18B20*/写0 60us读完,写1 30us 内读完void WriteOneChar(uchar dat)uchar i=0;for(i=0;i<8;i+)DQ=0;DQ=dat&0x01;/写所给数据最低位delay(10);
49、/DQ=1;/给脉冲dat>>=1;delay(8);/*函数名称:int ReadOneTemperature(void)返回值:int t参数: 无作用:读温度值*/int ReadOneTemperature(void) /*读取温度值*/ 每次读写均要先复位Init_DS18B20();WriteOneChar(0xcc);/发跳过ROM命令WriteOneChar(0x44);/发读开始转换命令Init_DS18B20();WriteOneChar(0xcc);/发跳过ROM命令WriteOneChar(0xbe);/读寄存器,共九字节,前两字节为转换值a=ReadOne
50、Char(); /a存低字节b=ReadOneChar(); /b存高字节t=b;t<<=8;/高字节转换为10进制t=t|a;tep=t*0.0625;/转换精度为0.0625/LSBt=tep*10+0.5;/保留1位小数并四舍五入*后面除10还原正确温度值)return(t);/*函数名称:uint Temperaturepro(void)返回值:void参数: void作用:温度处理*/void Temperaturepro(void)int temp;temp=ReadOneTemperature();tempbuf3=temp/1000; /百位tempbuf2=temp/100%10;/十位tempbuf1=temp%100/10; /个位tempbuf0=temp%10; /小数#include<reg52.h>#include <intrins.h>#define NOP() _nop_() /定义空指令/SR04sbitSR04_EN=P32;/距离温湿度使能sbitSR04_Ts=P33;/L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 总线负载均衡技术-洞察阐释
- 顶尖康复器械租赁与康复护理专家团队服务协议
- 短视频内容版权监测与维权服务合同
- 文化创意产业有限责任合伙协议(LLP)
- 工业视觉检测系统算法优化与市场推广协议
- 房地产开发项目追加投资补充协议
- 应急救援人员劳务派遣与应急演练场地租赁合同
- 可持续建筑防水体系构建-洞察阐释
- 内容营销驱动的国际化传播路径-洞察阐释
- 人工智能驱动的健康监测精度提升-洞察阐释
- 2024年江苏泰州市第四人民医院招聘高层次人才15人历年管理单位遴选500模拟题附带答案详解
- 心安即是归处读书分享
- 非虚构写作:公众故事与作者访谈-札记
- 建筑施工节前安全检查表
- 媒体创意经济:玩转互联网时代学习通超星期末考试答案章节答案2024年
- DB11T 856-2012 门牌、楼牌 设置规范
- 保安人员派遣合同范本
- 投资学-第一讲-教学内容(教案)
- 2024年公开招聘事业单位工作人员报名登记表
- 2024年全国高考数学试题及解析答案(新课标Ⅱ卷)
- 贵州水城宏源实业(集团)有限责任公司招聘笔试题库2024
评论
0/150
提交评论