基于单片机的火灾报警器设计与实现_第1页
基于单片机的火灾报警器设计与实现_第2页
基于单片机的火灾报警器设计与实现_第3页
基于单片机的火灾报警器设计与实现_第4页
基于单片机的火灾报警器设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号:GUILINUNIVERSITYOFELECTRONICTECHNOLOGY设计说明书题目:基于单片机的火灾报警器设计与实现学院:桂林电子科技大学职业技术学院专业:电子信息工程技术学生姓名:学号:指导教师:职称:讲师2015年6月日桂林电子科技大学毕业设计(论文)报告用纸桂林电子科技大学毕业设计(论文)报告用纸II摘要火灾自动报警系统(FireAlarmSystem,简称FAS系统)是人们为了早期发现通报火灾,并及时采取有效措施,控制和扑灭火灾,而设置在建筑物中或其它场所的一种自动消防设施,是人们同火灾作斗争的有力工具。本次设计以AT89C51单片机,MQ-2烟雾传感器和DS18B20温

2、度传感器为核心设计的火灾报警器可实现报警故障自诊断、报警设置、实时温度显示及与温度报警值设定等功能。是一种结构简单、电路简单、而且易懂、性能稳定、使用方便、价格低廉、智能化的烟雾报警器,具有非常高的实用价值。关键词:AT89C51;温度传感器;烟雾传感器;火灾报警器;四位共阴数码管;桂林电子科技大学毕业设计(论文)报告用纸桂林电子科技大学毕业设计(论文)报告用纸IIII目录TOC o 1-5 h z引言1 HYPERLINK l bookmark6 系统概述2选题背景2设计要求2 HYPERLINK l bookmark8 设计原理2硬件部分2软件部分3 HYPERLINK l bookmar

3、k10 硬件电路设计与分析3 HYPERLINK l bookmark12 硬件框架图3单片机最小系统4STC89C52芯片介绍4时钟电路4复位电路5四位数码管6 HYPERLINK l bookmark30 数码管的介绍6 HYPERLINK l bookmark40 四位数码管共阳和共阴的区分7 HYPERLINK l bookmark42 数码管的驱动方式8 HYPERLINK l bookmark44 74HC573芯片介绍8温度传感器DS18B20模块93.6烟雾传感器MQ-2模块9 HYPERLINK l bookmark48 软件设计与分析10程序主流程图:10 HYPERLIN

4、K l bookmark50 初始化定时器程序11 HYPERLINK l bookmark52 四位共阴数码管的动态显示程序11 HYPERLINK l bookmark54 系统调试12硬件调试12最小系统调试12四位数码管调试12软件调试12脱机运行调试12 HYPERLINK l bookmark56 总结13谢辞14 HYPERLINK l bookmark62 附录1:火灾报警器原理图:15 HYPERLINK l bookmark60 附录2:火灾报警器PCB图:15 HYPERLINK l bookmark64 附录3:火灾报警器程序16 HYPERLINK l bookmar

5、k66 参考文献20桂林电子科技大学毕业设计(论文)报告用纸桂林电子科技大学毕业设计(论文)报告用纸 /20 /20引言随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的电子产品开始进入人们的生活。现代家庭用火、用电量的增加,许多人因不懂家庭安全常识引起火灾事故,家庭火灾发生的频率越来越高,使好端端的幸福家庭转眼间毁于一旦,有的导致家破人亡。居民家庭火灾一旦发生,处置不当、报警迟缓,很容易出现扑救不及时、灭火器材缺乏及在场人惊慌失措、逃生迟缓等不利因素,最终导致重大生命财产损失。探讨家庭火灾的特点及防火对策,对于预防家庭火灾,减少火灾损失具有现实意义。所以说,人们应该积极了

6、解家庭火灾的主要起因,掌握防止发生火灾的知识和万一发生火灾时保护自己的方法,及时消除。本系统使用AT89S51单片机,选用集成温度传感器DS18B20和气体传感器MQ-2作为敏感元件,利用多传感器信息融合技术,开发了可用于小型单位火灾报警的报警器。具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长等特点系统概述1.1选题背景全世界几乎每天都有火灾发生。城里的高层建筑,地下商场以及大型的建筑群日益增多。火灾的隐患也伴随着社会的发展而逐年升高。自动火灾报警系统就是为了保障人民生命财产安全而发明的,并且随着现代技术水平的不断提高。在方式,功能,和结构上不断的完善。家庭火灾的主要原因是

7、麻痹大意,没有及时采取预防措施,本次设计的火灾报警器,是防止火灾最重要的手段之一,它的作用是使用18B20温度传感器,实时检测房间的温度,使用MQ-2实时检测房间。一切正常时,绿灯亮,但温度超过预定值或有大量烟雾是,说明可能发生火灾时,蜂鸣器便会发出报警信号,且红灯亮。1.2设计要求要求:(1)用单片机实现;(2)用C语言编程;(3)硬件电路板布局合理;(4)使用18B20温度传感器,实时检测房间的温度,且使用数码管显示温度;(5)使用烟雾传感器,实时检测房间;(6)如果空气中有烟雾,则蜂鸣器报警,并点亮红灯;若气体没有烟雾,则绿点亮表示正常;(7)如果空气温度超过限定值,则认为发生火灾,并蜂

8、鸣器报警,点亮红灯。设计原理2.1硬件部分火灾报警器分为三个部分:温度传感器检测温度模块,烟雾传感器检测烟雾模块,数码管显示模块。主控芯片采用AT89C52;显示部分采用四位共阴数码管;时钟电路采用12MHZ的石英晶体振荡器,将其和单片机对应的引脚正确连接,将晶振产生的时钟信号作为定时信号;复位电路采用传统RC复位电路。单片机的I/O口分配:P1.0接温度传感器输出脚,P1.1接烟雾传感器模块的TTL信号;P1.5接绿灯,P1.6接红灯,P1.7接蜂鸣器,P0口和P2口分别接数码管的段选和位选。2.2软件部分程序采用C语言进行编程,编程后利用KeiluVision4来进行编译,再生成的HEX文

9、件通过下载口导入芯片中。然后根据按键功能查看是否实现功能。硬件电路设计与分析3.1硬件框架图烟雾传感器模块烟雾传感器模块复位电路单片机STC89C52数码管显示实时温度时钟电路光电信号蜂鸣器报警图132单片机最小系统STC89C52芯片介绍STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,指令代码完全兼容传统8051使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效

10、的解决方案。22=;34455孫誉77口当1101.1111212T3131.4141誉17171S19凶如Pl.KJ.-r2Pl.l.TiESPl.2PI.3Pl.4Pl.JPl总Pl.7R.STP3.4)aILKDPJ.l.-TXDPJ.iJNTOP3J.1NT1P3.4T-0P3.J/T1P3.-6.RPJ.7.BD3CTAL22CTAL1GNDP2.7/A15P2.smg_i)i=0;smg_we_switch(i);P0=dis_smgi;/位选/段选系统调试单片机应用系统的调试是系统开发的重要环节。当完成了单片机应用系统的硬件设计、软件设计和硬件组装后,便可进入应用系统调试阶段。系

11、统调试的目的是查出系统中硬件设计与软件设计中存在的错误以及可能出现的不协调问题,以便修改设计,最终使系统能正确地工作。单片机应用系统的调试分为硬件调试、软件调试和脱机运行调试三个部分。5.1硬件调试5.1.1最小系统调试上电复位后,用万用表测量单片机VCC和GND为5V;上电复位后,晶振起振,晶振两端电压约为1.5V2V;上电复位后,万用表测量9脚为低电平;没烧录程序时,万用表测量各I/O口输出高电平,约5V;30脚,产生频率,万用表测量为高电平,约5V;31脚,接VCC,万用表测量为高电平,约5V;四位数码管调试将公共端接电源,其他端分别接GND,测得各端亮,说明数码管属于共阴数码管,且数码

12、管各端LED发光管正常。软件调试程序按照流程图编程,数码管采用动态显示的方法,利用定时器0的工作方式1,在中断函数中对数码管的公共端进行位选控制。为了防止PCB连接数码管时有很多跳线,原理图上将数码管个引脚的连接方式进行了修改,而程序的09段代码为:0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;导致电路板上电时数码管显示乱码;经过修改段代码为:0 x5f,0 x44,0 x9d,0 xd5,0 xc6,0 xd3,0 xdb,0 x45,0 xdf,0 xd7后,测试数码管显示正常。5.3脱机运行调试在焊完成后,程序烧录

13、进去,上电后四位数码管都亮,说明P2口已开始进行位选工作;查看程序仿真合理,单片机最小系统正常工作;用万用表检测数码管的各引脚电压,发现有两个引脚电压与单片机P0口段选输出电压不同,说明有断线;整块电路板完全符合设计要求。总结按照脱机运行调试的电路板的情况来看,完全符合设计要求,应该是一个成功的设计。实训中也暴露出在理论学习中的不足之处,对单片机的很多方面内容还不够了解,有些地方还需有待加强学习,正是理论学习的不足导致对作品原理图正确性的怀疑。通过不断地翻书查资料确定设计的原理图没问题后,才开始制作电路板。制作电路板的工作是交给我的队友。最后的电路板,只有几根断线而已,补接好后,功能都能实现,

14、一次成功,出乎我的意料,他向我展示了他强大的动手能力;也得益于我设计的原理图和PCB,都经过我的反复检查。对此作品的软件程序编写,经百度找到了些程序,但这些程序不符合我的设计原理图。要得到能够实现功能的火灾报警器程序,我能从零开始编程。经过参考单片机实验指导书,编写的这个结构清晰简单,实现的功能也很全面,但感觉程序太琐长,不善精简。桂林电子科技大学毕业设计(论文)报告用纸桂林电子科技大学毕业设计(论文)报告用纸 /20 /20谢辞两周的实训结束了,由衷感谢我的指导老师。周光祥老师对我遇到的问题总是耐心解答和悉心指导;提出了许多富有启发性的建议和具有创意的想法;在这次毕业设计中,得益于学校的各方

15、面资源,图书馆可以查找到许多相关的有用的书籍资料、图书馆网站上的数据库也给我提供了不少参考,这些都给我们创造一个良好的学习、设计环境。在跟随周光祥老师学习期间,我学到了许多从未接触过的知识,受益匪浅感谢桂林电子科技大学和诸位老师对我的培养和教育,同时也感谢学院为我提供良好的做毕业设计的环境。本文参考了大量的文献资料,在此,向各学术界的前辈们致敬!附录1:火灾报警器原理图:囂一-囂一mm划出阿t:一F1Q氓斗现竝-Q&QDccLD2a3DmpllT-运PL.T72vccPLJ.T2ES:R-.HAMPL.2Pt.LADlDL1KJLAD2DL.4N金皿巩P0.4-ALWDLWPL.TPD.aAI

16、MRSTPO.T.-AIiP9O.RXQHAp.nmAlE-PlOOP32-STflP3StTP2.T!A15P3+-TOPUMPJ.iTLPAl?pj.SdP22.A11KTAL2PllAliiXTJU1PJ.LAiGSDP2.&ASifn5TC3&Ci2附录2:火灾报警器PCB图:附录3:火灾报警器程序#include#defineucharunsignedchar#defineuintunsignedintucharcodesmg_du=0 x5f,0 x44,0 x9d,0 xd5,0 xc6,0 xd3,0 xdb,0 x45,0 xdf,0 xd7;/段码uchardis_smg=

17、0 x80,0 x80,0 x80,0 x80;ucharsmg_i=4;/数码管的显示个位数sbitsmg_wel=P2人3;sbitsmg_we2=P2A2;sbitsmg_we3=卩2人1;sbitsmg_we4=P2A0;sbitdq=P1A0;/温度传感器DS18B20输出sbitkey=P1A1;烟雾传感器MQ-2经LM358放大输出低电平信号sbitled_g=P1A5;sbitled_r=P1A6;sbitbeeper=P1A7;bitflag_wd_z_f;/正负温度inttemperature;/*1ms延时函数*/voiddelay_1ms(uintq)uinti,j;f

18、or(i=0;iq;i+)for(j=0;jsmg_i)i=0;smg_we_switch(i);/位选P0=dis_smgi;/段选voidinit_18b20()bitq;dq=1;/把总线拿高delay_uint(1);/15usdq=0;/给复位脉冲delay_uint(80);/750usdq=1;/把总线拿高等待delay_uint(10);/110usq=dq;/读取18b20初始化信号delay_uint(20);/200usdq=1;/把总线拿高释放总线/*写18b20内的数据*/voidwrite_18b20(uchardat)chari;for(i=0;i=1;/*读取1

19、8b20内的数据*/ucharread_18b20()chari,value;for(i=0;i=1;dq=1;if(dq=1)/把总线拿低读时间隙开始/读数据是低位开始/释放总线/开始读写数据value|=0 x80;delay_uint(5);/60us读一个时间隙最少要保持60us的时间returnvalue;/返回数据/*读取温度的值读出来的是小数*/uintread_temp()uintvalue;ucharlow;init_18b20();write_18b20(0 xcc);write_18b20(0 x44);delay_uint(50);init_18b20();EA=0;w

20、rite_18b20(0 xcc);write_18b20(0 xbe);low=read_18b20();value=read_18b20();/初始化18b20/跳过64位ROM/启动一次温度转换命令/500us/初始化18b20/跳过64位ROM/发出读取暂存器命令/读温度低字节/读温度高字节EA=1;value=750)led_g=l;led_r=O;beeper=O;/超过75C蜂鸣器报警if(flag_wd_z_f=1)/负温度smg_i=4;temperature+=575;/补差temperature=temperature;/取反dis_smg0=smg_dutemperature%l0;/取温度的小数显示dis_smgl=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论