基于单片机的综合火灾报警系统(电路图及源程序)55_第1页
基于单片机的综合火灾报警系统(电路图及源程序)55_第2页
基于单片机的综合火灾报警系统(电路图及源程序)55_第3页
基于单片机的综合火灾报警系统(电路图及源程序)55_第4页
基于单片机的综合火灾报警系统(电路图及源程序)55_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

-1主程序流程图3.2温度获取子程序流程图关闭所有中断,调用关闭所有中断,调用RESET子程序初始化DS18B20调用WRITE子程序送入读温度暂存器命令调用WRITE子程序送入跳过ROM命令调用READ子程序读温度暂存器内容读出温度值低字节存入R7,读出谩度值高字节存入R6调用WRITE子程序送入温度转换命令温度转化完,调用RESET子程序再次初始化DS18B20调用WRITE子程序送入跳过ROM命令RET图3-2温度获取子程序流程图3.3温度BCD转化流程图开始开始温度零下温度值取补码置“—”标志置“+”标志计算小数位温度BCD值计算整数位温度BCD值温度数据移入显示寄存器十、个位和一位小数显示;符号不显示;百位也不显示结束YN图3-3温度BCD转化流程图4.调试结果4.1报警功能调试将9V电池接入电路中,单片机自动复位,数码管显示当前温度24.3摄氏度,为检测温度高于50摄氏度时是否报警,将DS18B20用密封的塑料放在装有开水的杯子中,可以看到数码管显示的温度急剧上升,当温度到达50摄氏度时,同时打火机在光电传感器正上方大约1米左右的地方点火,8个发光二极管有4个亮,4个暗,并且亮暗间隔开,同时可听到蜂鸣器发出尖锐的报警声,且发光二极管亮暗在向昨移动,每移动一位蜂鸣器就发出一声持续时间约0.8秒的报警声;发出8次报警声后,可看到数码管的温度显示会变化一次,取出DS18B20,将其放在空气中,可看到数码管显示的温度急剧下降,单温度底于50摄氏度时,声光报警自动停止。经多次检测,该功能稳定可靠[8]。4.2红外探测模块的功能调试上电后,单片机自动复位,数码管显示当前温度24.4摄氏度,打火机在光电传感器正上方大约1米左右的地方点火,将DS18B20用密封的塑料放在装有开水的杯子中,可以看到数码管显示的温度急剧上升,当温度到达50摄氏度时,发出光电报警。8个发光二极管有4个亮,4个暗,并且亮暗间隔开,同时可听到蜂鸣器发出尖锐的报警声,且发光二极管亮暗在向昨移动;当停止点火时声光报警也自动停止,数码管仍然显示当前的温度,由此判定当有较大的火焰时,单片机可测距离将大幅度增大。经多次检测,该功能稳定可靠[9]。4.3烟雾探测模块的功能调试上电后,单片机自动复位,数码管显示当前温度25.7摄氏度,用小纸条捆成圆形,用打火机点火,纸条火焰熄灭后产生大量的浓烟,靠近烟感,可看到烟雾漂进传感器的检测腔中,将DS18B20用密封的塑料放在装有开水的杯子中,可以看到数码管显示的温度急剧上升,当温度到达50摄氏度时,8个发光二极管有4个亮,4个暗,并且亮暗间隔开,同时可听到蜂鸣器发出尖锐的报警声,且发光二极管亮暗在向昨移动,每移动一位蜂鸣器就发出一声持续时间约0.8秒的报警声;将带烟雾的条移走后,可看到声光报警并未立即停止,这是由于在烟感的检测腔中仍还滞留有一部分烟雾的缘故,大约4-12秒过后,声光报警自动解除。经多次检测,该功能稳定可靠[10]。5.设计总结经过这次毕业设计,我接触到更多平时没有接触过或使用较少的科学仪器设备、元器件以及获得相关的仪器调试经验,同时我也发现自己在这方面很多不足之处。体会到理论知识对实践有很大的指导作用,她让我知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。学会了高效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。偶尔还会遇到错误的资料现象,这就要求我们应更加注重实践环节。毕业设计是对大学四年所学知识的一次运用和检阅,同时对自学能力提出很高的要求,所以平时的学习离开思考,就是严重的错误,我们学习不应该有偏科现象,各方面的知识都应该要接触,这样做才能为毕业设计打下基石。最后,衷心地感谢我的毕业设计指导老师张士钱老师。在一个多月的毕业设计过程中,张老师给了我很大的帮助和细心的指导。同时也感谢实验指导老师温发林、范宜标等老师的大力帮助。参考文献[1]火灾自动报警系统设计规范-GB50116-98中华人民共和国建设部施行日期:1999年6月1日[2]战卫东《谈谈火灾统计》《山东消防》[J]2003年9期-32-32页[3]胡显华《火灾探测器误报警的原因及改进方法》《电脑开发与应用》[J]2007年20卷11期60-62[4]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994.[5]刘小舟《煤矿火灾预防与防治技术现状》《煤矿现代化》[J]22005年5期-25-27页[6]李焕莉《建筑火灾烟气蔓延规律对火灾探测系统的影响》《武警学院学报》[J]2006年22卷5期-31-32页[7]LM339DATASHEET英文资料[EB][8]DS18B20DATASHEET英文资料[EB][9]何延治杨海荣《火灾危险性评估在建筑防火设计中的应用》《建筑设计管理》[J]2006年6期55-56页[10]余明高、袁东升、贾海林、李定启、张建民、贾跃荣《Newprocessingmethodforfireforecastparameters》《煤炭学报:英文版》[J]2004年10卷1期41-44页BasedonacomprehensiveSCMFireAlarmSystemPhysicsandelectromechanicalprojectacademyelectronicinformationprojectspecialfield

Student:200402124Name:LiuZhenguiinstructor:Zhang Shiqian[Abstract]ThissystemusesAT89C51ascontroller,temperaturesensorselectionDS18B20,smokesensors,infrared-sensitivecomponentsST178Pasfiredetectionsensor,andithasasoundandlightalarm.Thisdesigncanbeusedinoffices,classrooms,housing,etc.Itisasimpleandpracticalfiredetectionalarm.SCMTouroftemperature,infraredradiation,smokeandshowthatthetemperature,Whenmorethantwoinanysystemanomaliesthathavetakenplace,SCMwillsendsoundandlightalarmsignal,onlytobeexcludedfromabnormal,thesystemautomaticallystopsAlarm.[Keyword]:SCMDS18B20ST178Pdisasterwarning附录程序清单:ORG0000HSJMPMAINORG0030HMAIN:MOVSP,#29HMAIN1:FIRE00:LCALLGET_TEMP;读温度LCALLFENLILCALLBCDCJNER5,#4,FIRE1;判断温度是否超过50摄氏度LCALLCHANGE_CLEARLCALLSHUCHUFIRE11:;MOVC,P1.3;判断是否有红外辐射JCFIRE2FIRE22:MOVC,P1.4;判断是否烟雾异常JCFIRE3FIRE33:Ljmpmain1;FIRE1:JCFIRE11;LCALLCHANGE_CLEAR;LCALLSHUCHUMOVC,P1.3;当温度大于50摄氏度时,进一步判断是否有红外辐射,如果有就发出报警JCBAOJINGMOVC,P1.4;如果无红外辐射,判断烟雾是否异常JCBAOJINGSJMPFIRE11FIRE2:;当有红外辐射时,进一部判断是否温度超过50摄氏度或是否烟雾异常LCALLGET_TEMPLCALLFENLILCALLBCDCJNER5,#4,F2LCALLCHANGE_CLEAR;LCALLSHUCHUf22:MOVC,P1.4JCBAOJINGLJMPFIRE22F2:JCf22LCALLCHANGE_CLEARLCALLSHUCHULJMPBAOJINGFIRE3:LCALLGET_TEMP;当烟雾异常时进一部判断是否温度超过50摄氏度或是否有红外辐射LCALLFENLILCALLBCDCJNER5,#4,F3;LCALLCHANGE_CLEAR;LCALLSHUCHUf33:MOVC,P1.3;JCBAOJING;LJMPFIRE33F3:JCf33LCALLCHANGE_CLEAR;LCALLSHUCHULJMPBAOJINGBAOJING:MOVR1,#08H;声光报警MOVA,#55HMOVP0,ALCALLLOADLCALLLOADLCALLDLY1F1:MOVA,P0RRCAMOVP0,ALCALLLOADLCALLLOADLCALLDLY1MOVC,P1.3JCFIRE2MOVC,P1.4JCFIRE3DJNZR0,F1LJMPMAIN1;*****************************************************************;功能:从DS18B20中提取温度,并把高字节放在R6中,低字节放在R7中;其中R7中的高四位放整数部分的低四位,R6中的低四位放整数部分;的高四位,R7的低四位为小数部分。;输出:R6、R7;*****************************************************************GET_TEMP:CLREA;使用ds1820一定要禁止任何中断产生LCALLRESET;调用初使化子程序MOVA,#0CCHLCALLWRITE;送入跳过ROM命令MOVA,#44H;LCALLWRITE;送入温度转换命令LCALLRESET;温度转换完全,再次初使化ds18b20MOVA,#0CCHLCALLWRITE;送入跳过ROM命令MOVA,#0BEHLCALLWRITE;送入读温度暂存器命令LCALLREADMOVR7,A;读出温度值低字节存入R7LCALLREADMOVR6,A;读出谩度值高字节存入R6SETBEARET;RESET:;初始化ds18b20子程序L0:CLRP1.2;复位:MOVR2,#149;4usL1:DJNZR2,L1;596usSETBP1.2;释放ds1820总线:MOVR2,#15;4usL4:DJNZR2,L4;60usCLRC;2us,清存在信号MOVC,P1.2;取存在信号:JCL0;存在吗?不存在则重新来--001MOVR2,#125;有存在就拉高setbp1.2L5:DJNZR2,L5;500usRET;WRITE:MOVr1,#08H;设置写位个数WLOP:RRCA;把写的位放到CACALLWRBIT;调写1位子程序DJNZr1,WLOP;8位全写完?RETWRBIT:MOVB,#15;设置时间常数CLRP1.2;写开始NOP;2usMOVP1.2,C;C内容到总线,4usWDLT:DJNZB,WDLT;60usSETBP1.2;释放总线RET;READ:MOVr1,#8H;设置读位数RLOP:ACALLRDBIT;调读1位子程序RRCA;把读到位在C中并依次送给ADJNZr1,RLOP;8位读完?RETRDBIT:CLRP1.2;读开始图2255的t0时刻NOP;2usSETBP1.2;释放总线NOP;2usMOVC,P1.2;P1.2内容CMOVB,#13;设置时间常数RDDLT:DJNZB,RDDLT;等待52usSETBP1.2RET;************************************************************;作用:把小数部分同整数部分分开,R6放整数R7放小数,F0放符号位;输入:R6R7;输出:R6R7F0;*************************************************************FENLI:MOVA,R6MOVC,ACC.7MOVF0,C;符号位JCFENLI1SJMPFENLI2FENLI1:MOVA,R6CPLAMOVR6,AMOVA,R7CPLACLRCINCAMOVR7,AMOVA,R6ADDCA,#00HMOVR6,AFENLI2:MOV08H,R7ANL08H,#0FH;小数部分MOVR0,#12FENLI3:MOVA,R6RRCAMOVR6,AMOVA,R7RRCAMOVR7,AMOVA,09HRRCAMOV09H,A;整数部分DJNZR0,FENLI3MOVR6,09H;整数部份MOVR7,08H;小数部分RET;***************************************;作用:将R6R7中的二进制数化作BCD码的形式;输入:R6R7;输出:R4R5R6R7;***************************************BCD:MOVA,R6;开始处理整数部分:MOVB,#100DIVABMOVR4,A;存整数高位MOVA,BMOVB,#10DIVABMOVR5,A;存整数中位MOVR6,B;存整数低位MOVA,R7;开始处理小数部分:MOVB,#5MULABMOVB,#10DIVABMOV08H,A;进位MOVA,R7MOVB,#2MULABADDA,08HMOVB,#10DIVABMOV08H,A;进位MOVA,R7MOVB,#6MULABaddA,08HMOVB,#10DIVABMOVR7,A;暂存小数最高位MOVA,BCLRCSUBBA,#5JCBCD1INCR7BCD1:RET;******************************************************;作用:用于把R4R5R6R7转化为满足输出的类型;输入:R4R5R6R7;输出:R4R5R6R7;*******************************************************CHANGE_CLEAR:MOVDPTR,#TABLE;指向表首MOVA,R4;转换为表格中的数据MOVCA,@A+DPTRMOVR4,AMOVA,R5MOVCA,@A+DPTRMOVR5,AMOVA,R6MOVCA,@A+DPTRMOVR6,AMOVA,R7MOVCA,@A+DPTRMOVR7,AINCR6;小数点CJNER4,#0FCH,OUT2;高位清零MOVR4,#00HCJNER5,#0FCH,OUT2MOVR5,#00HOUT2:JBF0,OUT3;判断是否为负数加符号SJMPOUT;如果为正数则不加符合。OUT3:CJNER4,#00H,OUT;最高位是否为零CJNER5,#00H,KKK1;中位是否为零MOVR5

温馨提示

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

最新文档

评论

0/150

提交评论