【《基于单片机的智能火灾烟雾报警系统设计》10000字】_第1页
【《基于单片机的智能火灾烟雾报警系统设计》10000字】_第2页
【《基于单片机的智能火灾烟雾报警系统设计》10000字】_第3页
【《基于单片机的智能火灾烟雾报警系统设计》10000字】_第4页
【《基于单片机的智能火灾烟雾报警系统设计》10000字】_第5页
已阅读5页,还剩29页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

[17]在使用DS1820温度传感器时,也要主要适当的操作和注意事项。想要读取测温结果,需要用到汇编语言对传感器操作,以达到能和微处理器间能够串行数据传送。虽然DS1820传感器能够无线挂设备,但是它也存在局限,超过八个就要涉及总线。而且传感器的长度不能太长,会导致数据测量会有误差。如果需要长的设计,就要将电容和阻抗算在问题的处理里面。DS1820测温要等到DS1820的返回信号,否则程序就会进入死循环。图3.16温度采集电路DS18B20有六个控制命令。44H温度转换启动DS18B20进行温度转换;读取工作键盘BEH以读取9字节工作键盘。Scratchpad在ScratchpadEH的HTH和TL中输入4写入数据;复制暂存器8H以将TH和TL字节从暂存器写入E2RAM,调整E2RAMB8H的大小从E2RAM输入TH和TL字节将TH和TL字节写入零;电源模式启动B4H、DS18B20并向主处理器发送电源模式信号。DS18B20可以通过两种方式供电。一是使用电源模式。此时DS18B20的第一脚接地,第二脚作为信号线,第三脚接电源。另一种是寄生电源法。此设计使用电源模式,P2.3端口连接到单线总线,能够确保在运行周期内有足够的能源来驱动程序的运行。相比于第一种电源方式供电,这种要更为符合方便。同时,也要接上一个上拉电阻来保证转换操作的实现。DS18B20在写存储器操作和温度A/D转换操作时,需要对总线进行强力拉动,确保时间在一定数值内。寄生电源法是将VDD端子和GND端子都接地的方法。发送和接收端口必须是三态的,因为单线系统中只有一根线。主机需要控制DS18B20,完成三个步骤才能完成温度转换。初始化,ROM用户手册和内存操作命令,这三个过程缺一不可,这样才能按设计要求实现温度的转换要求。第四章系统软件设计4.1系统主程序设计主程序初始化流程图如图4.1,这部分就是要将初始阈值设置好,来响应中断程序,温度传感器和烟雾传感器将收集空气中能够接触到的温度和烟雾浓度,关上报警器,设置一个温度和烟雾浓度的警报值在返回终端和传感器的数据做对比,借由蜂鸣器做出的反应来判断结果。首先开机时蜂鸣器叫响应,设置初始化IO口为高电平,进而计入循环来读取温度值,并且开始初始化保存的数据,随后读取温度值初始化定时器随后根据独立按键程序按下要执行的程序,与读取的温度值相比较,看是否输出还是继续循环。程序相关代码见附录A所示。程序开始执行初始化子例程,初始化实现的功能是端口I/O部署状态的入口和退出、注册表的初始化、功能中断等。首先,设置时间的初始值,并使用IAP作为值间隔写入EEPROM。设置报警阈值,接受信号是进行比较,超过阈值输出,报警器报警。没有则回到检测信号状态。图4.1主程序初始化流程图4.2烟雾采集设计烟雾采集流程图如图4.2,因为是使用MQ-2烟雾传感器,所以不能直接让电路直接接通,要让半导体电阻预热一下,在进行基本的故障检测。再通过按键模块来进行最开始的温度和烟雾浓度的阈值设定。由于采集到的是烟雾的模拟信号,所以要借由A/D转换电路来进行转化和放大。因为得到的信号都是非线性,所以要用到线性处理。处理后得到的信号与设定的阈值相比较,当超过阈值时,会进入报警程序,进而来触发三极管的和蜂鸣器的运行。烟雾采集程序见附录B。图4.2烟雾采集流程图线性化处理之后得到的值与设定的预定值相比较,超过设定值则会进行报警,若是低于报警值则会返回到采集模板中。4.3报警程序设计将传送过来的电信号进行比较,超过设定值时,便会进去故障的设定,此时蜂鸣器会发出声音来警报,当温度超过设定值时,三极管输入的是低电平,会处于导通的状态,这样三极管便会运行亮出黄灯,并且蜂鸣器等到连接,会发出声响。而烟雾浓度超过时,则会亮起红灯,并且也会发出声响。同温度传感器,烟雾传感器同样也是低电平有效。若是低于阈值则会返回检测状态。当已经发现火灾灾情却暂时没有达到警戒值时,也可以选择手动报警,避免偶然性。报警程序见附录C所示。图4.3报警程序流程图4.4控制按键程序设计按键分为四个按键,起到不同的作用。当开始按键时,系统会先判定是否有键按下,进入下一阶段,随后判断是哪个键是所需要改的按键,在进行按键程序对数值的修改。第一个调整想要设定的参数,第二三键就是用来调整参数的大小,最后则是为了能够自动报警。按键程序见附录D所示。图4.4按键程序流程图第五章软件调试5.1KEIL介绍与使用KeilC51是一家美国公司研发生产出的软件,是51系列的软件开发系统,兼容微控制器的C语言。和汇编不同的是,C语言比较容易学习,使用方便,在功能上和可维护性上有着一定的优势。Keil为其提供了C编译器和功能非常好的仿真调试器,可以用来调试和测试程序,并且这些功能会通过一个集成开发环境组合到一起来构成。Keil的功能也十分全面并且都很强大,可以利用它完成所有的编辑,编译,连接和调试。所有的流程单靠它便可以全部实现。本设计用到的单片机程序需要靠keil来完成,但是,编好的代码程序需要在次利用keil来编译成hex文件,并且需要在仿真软件中下载单片机中使用。首先,先打开KEIL文件,找到project中的建立新文件,找到设计要用到AT89C51单片机。选择AT89C51如图5.1所示,图5.1选择AT89C51随后,将写好的代码导入。但是不能用于仿真,要将其生成hex文件。导入代码如图5.2所示,图5.2导入代码单击设置,将它切换到output选项卡,将createHEXFILE勾选.制作hex文件如图5.3。,图5.3制作hex文件确定后,回到页面依次点击编译,构建,再次构建随后查看界面底部的文本框,查看是否已经完成hex文件的生成。查看进度如图5.4,若是编写过程中有代码错误或着使用中文字符等等错误时,编译hex文件时,会发出错误警告,可以根据所示找到文本位置来进行修改。图5.4查看hex文件完成hex文件后,便需要proteus来进行单片机的仿真。5.2Protues介绍和使用Protues软件是英国公司出版的一款EDA工具软件,可以用于对EDA的仿真,同时它也可以用于对单片机的仿真。它和别的软件一样,可以制作原理图电路仿真等,不同的是,它有着革命性的特点,仿真电路的互动和外围电路的处理。Protues的功能十分强大,拥有丰富的器件,智能化的连接方式,完美的仿真功能,并且可以支持外设模型的输入。使用软件的仿真可以在没有实物的情况下最大程度的将物品形象化。首先打开Proteus软件,Proteus的界面如图5.6所示,在界面上我们会看到如下图的初始界面,其中右边就是绘图是地方,所以的电路都是在上门进行绘制左边则是模式选择工具栏,componentmode的图标里有着各式各样的元器件供选择,选择上方所需要的各种原件在原理图编辑窗口进行操作。图5.5Proteus界面如图5.6导入hex文件,点击菜单栏中的file,在file菜单中找到opendesign点开,打开绘制好的火灾烟雾报警图。通常文件后缀为.DSN,系统默认为Proteus软件。将文件打开后,找到在其中的51单片机。在原理图编辑页面双击单片机,弹出弹窗选选择programfile,点开后面的文件夹图标,将刚刚用keil软件弄好的hex文件导入其中。其他设置一般选择默认。这样以后就可以进行仿真。图5.6导入hex文件仿真开始与停止,点击开始播放按钮,仿真就开始,然后根据设计内容得到需要的东西,可以重复实验,减少仿真的误差。如果想要更改原理图绘制,那么就要先关闭仿真,点击暂停后才能继续更改。图5.7仿真界面整个火灾烟雾报警器的仿真总览,仿真界面如图5.7所示。当环境中烟雾浓度高于所设定的阈值时,烟雾报警器中的三极管导通,会发出红灯并且伴随蜂鸣器响声,显示模板显示当前设置阈值,烟雾过高时报警状态如图5.8所示,图5.8烟雾过高时报警状态当环境中温度高于所设定的阈值时,温度报警器内三极管导通会发出黄灯并且伴随蜂鸣器响声。显示模板显示当前设置,温度过高时报警状态如图5.9所示,图5.9温度过高时报警状态当环境中温度和浓度均高于所设定的阈值时,两个器会一起闪亮并且伴随蜂鸣器响声。显示模板显示当前设置烟雾温度同时过高时报警状态如图5.10所示,图5.10烟雾温度同时过高时报警状态当遇到突发情景时,也可以选择直接手动报警,显示模板此时不会随报警时的阈值发生变化,它只会显示当时检测到的阈值,自动报警如图5.11所示,图5.11自动报警此时,无论烟雾还是温度是否超过设定的阈值,报警器都会跳过之间的检测等过程直接报警。结论此次设计基本以及完成。日常生活中,面对随时会发生的火灾事故,我们能做的不仅是要能够快速的救灾,也要确保能够减少火灾的发生,将这种事尽可能在源头上解决。火灾烟雾报警器用高性能的51单片机最为基础,让他拥有高速度的运算处理能力,完全适用报警器,在火灾面前,快才能最大程度上减少损失。考虑到多种因素的干扰,排除各种传感器,最终选择QM-2型半导体烟雾传感器和DS18B20温度传感器。QM-2对发生火灾时产生的烟雾非常敏感,考虑到报警器需要长期的使用,以及此传感器要在火灾情况下的重要性,每方面QM-2都非常符合条件。导体灵敏度适中,避免出现不响应,错相应等问题。回复特性好,可以长期使用,节约资源的利用。不易被环境所影响,这样就可以在多种工作环境下依然能够起到该有的作用。同样的,DS18B20温度传感器也是采用同样的道理,它体积小可以使用到狭小的空间,在一些不被人注意到的地方,也可能会导致火灾的发生。这些特殊的因素都要考虑到实际的模拟当中。显示电路也采用到了比较显眼的报警颜色,引起最大程度上的注意,保证人生财产安全。虽然我国并没有强制安装火灾烟雾报警器,但是,有一款简单高效的报警器还是必要的。希望国家也能够研发出更完美的报警设备,减少消防上的损失,避免火灾灾情的再次出现。参考文献石威.杰西·罗曼.拒绝误报—新一代智能烟雾报警器[J].中国消防.2019.03赵婷.美国烟雾报警器的统计报告[J].消防科学与技术.2010.3陆亚民.单片机原理及应用[M],北京:中国轻工业出版社,2000.08张毅刚.单片机技术及应用[M].高等教育出版社.2009.7王雅芳.单片机原理与接口技术设计与实训[M].北京:机械工业出版社,2016.10康华光.电子技术基础模拟部分(第五版)[M].北京:高等教育出版社.2006.1顾波.单片机技术基础及应用自动化工程师职业培训丛书[M].北京:中国电力出版社,2011.01王宇.单片机技术[M].北京:中国轻工业出版社,2015.08吴险峰,但唐仁,刘德新,曾路.51单片机项目教程C语言版[M].北京:人民邮电出社,2016.08赵新民.智能仪器设计基础[M].哈尔滨:哈尔滨工业大学出版社.1999谢自美.电子线路设计、实验、测试[M].华中科技大学出版社.2009.7王建校51系列单片机及C51程序设计北京:科学出版社,2002.04吕宇,陈昌敏,李杰,刘海军单片机与传感器应用实例成都:西南交通大学出版社.2018.09赵负图.数据采集与控制系统[M].北京科学技术出版社.1987孙巨勇.基于单片机的烟雾报警器的设计探究[J].

电子测试.

2013.1史洁,赵裕明,李晓东,张宏龙.

基于51单片机的烟雾报警器的设计[J].黑龙江科技信息.2013.3黄淑玲.液化气,煤气,烟雾报警器[J].生意通.2009.4、附录Avoidmain(){ beep=0; delay_1ms(200); P0=P1=P2=P3=0xff; temperature=read_temp(); init_eeprom(); delay_1ms(650); temperature=read_temp(); time_init();//初始化定时器 while(1) { key(); if(key_can<10) { key_with(); } if(flag_300ms==1) { flag_300ms=0; clock_h_l(); temperature=read_temp(); dengji=ad0832read(1,0); dengji=dengji*10/250; if(menu_1==0) { if(temperature>=99) temperature=99; dissmg[3]=smg_du[dengji]; dis_smg[2]=0x80; dis_smg[1]=smg_du[temperature/10%10]; dis_smg[0]=smg_du[temperature%10]; } }附录Buintread_temp(){ uintvalue; ucharlow; init_18b20(); EA=0; write_18b20(0xcc); write_18b20(0x44); EA=1; delay_uint(50); init_18b20(); EA=0; write_18b20(0xcc); write_18b20(0

温馨提示

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

评论

0/150

提交评论