单片机火灾报警器课程设计Word文档格式.docx
《单片机火灾报警器课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机火灾报警器课程设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
如是,播放录制好的语音报警内容,如“某某区某某单元某某楼层某某房间发生火警”。
否则挂机,拨打下一个号码。
二、设计方案
硬件电路主要包括单片机电路,2路传感器报警信号电路,模数转换电路,语音报警电路,震铃检测电路、模拟摘机和DTMF解调电路,以及主备电控制电路部分。
图1报警电路方框图
如图1所示,报警器硬件由温度烟雾信号采集模块、声光报警模块以及单片机与收发码模块组成。
图中1,2,3组成数据采集模块,4,5组成现场声光报警模块,5,6组成远程报警模块。
其中,1为传感器(包括烟感和温感),将现场温度、烟雾等非电信号转化为电信号;
2为信号调理电路,将传感器输出的电信号进行调理(放大、滤波等),使之满足A/D转换的要求;
3为A/D转换电路,完成将温度传感器和烟雾传感器输出的模拟信号到数字信号的转换。
声光报警模块由单片机和报警电路组成,由单片机控制实现不同的声光报警(异常报警、故障报警、火灾报警)功能。
单片机与远程报警模块由单片机、MT8880收发码电路组成,实现远程报警。
三、硬件设计
1.MT8880接收电路的设计
图2MT8880接收电路连线图
当MT8880作为DTMF接收器的时候,DTMF信号经由IN+和IN-输入,经过运算放大滤除信号中的拨号音频率,然后发送到双音频滤波器,分离出低频组和高频组信号,通过数字计数的方式检出DTMF信号的频率,并且通过译码器译成4位二进制码。
4位二进制编码被锁存在接收数据寄存器中,此时状态寄存器中的延时控制识别位复位,状态寄存器中的接收数据寄存器满标识位置位,对外而言,当寄存器中的延时控制识别位复位时,IRQL/CP由高电平变为低电平。
如果用IRQL/CP作为单片机的中断信号,IRQL由高电平变为低电平,向CPU发出中断请求,当CPU响应中断,读出寄存器中的数据后,IRQL返回高电平。
MT8880的D0~D3与单片机的P1.0~P1.3相连,P1.4~P1.7分别与CK,RSO,CSL,R/WL相连。
2.发送电路设计
图3MT8880发送电路连线图
当MT8880作为发送器时数据总线上D0~D3四位二进制码被锁存在发送数据寄存器中[8],发送的DTMF信号频率由3.58MHz的晶振分频产生。
分频器首先从基准频率分离出8个不同频率的正弦波,行列计数器根据发送数据寄存器中的数据,以八取二方式分离出一个高频信号和一个低频信号,经开关电容做D/A转换,在加法器中合成DTMF信号,并从TONE端输出,电路图如图7所示。
应用MT8880使DTMF信号的收发功能于一体,完成DTMF信号的编码与解码,达到数据传输的目的。
3.灯光报警电路
由AT89C51P0口的P0.0~P0.3分别控制4个发光二极管,予以光报警,如图8所示。
P114~P117控制的灯依次为绿色(正常信号灯)、黄色(故障信号灯)、红色(异常信号灯)和红色(火灾信号灯)。
当这些输出端输出低电平时,对应的信号灯便会发光报警。
图4光报警电路
4.系统总体电路图
四、软件设计
1.数据采集子程序
数据采集部分的程序设计包括:
驱动ADC0809的IN0和IN1进行A/D转换,分别由子程序ADC1(温度转换)和ADC2(烟雾浓度转换)完成;
单片机接收转换好的数据,存入指定内存单元,由INT1中断服务程序完成。
每次驱动A/D转换后等待外部中断,中断到来说明A/D转换已经完成,通过中断服务程序读取转换得到的数据。
A/D采样程序如下:
本程序分住程序和中断服务程序两部分。
主程序用来对中断初始化,给ADC0809发起动脉冲和送模拟量路数地址等。
中断服务程序用来从ADC接受A/D转换后的数字量和判断一遍采集完否。
参考程序如下:
主程序:
ORG0A00H
MOVR1,#30H//输入数据区始址送R1
MOVR4,#2//模拟量总路数送R4
MOVR2,#00H//IN0地址送R2
SETBEA//开CPU中断
SETBEX1//允许INT1L中断
SETBIT1//即INT1L为边沿触发
MOVR0,#0F0H//送端口地址F0H到R0
MOVA,R2//IN0地址送A
MOVX@R0,A//送IN0地址到A/D
SJMP$//等待中断或其它
中断服务程序:
ORG0013H
AJMPCINT1//转中断服务程序
ORG0100H
CINT1:
MOVR0,#0F0H//端口地址送R0
MOVXA,@R0//输入数字量A
MOV@R1,A//存入输入数据区
INCR1//输入数据区指针加1
INCR2//修改模拟量路数地址
MOVA,R2//下个模拟量路数地址送A
MOVX@R0,A//送下路模拟量路数地址,并启A/D
DJNZR4,LOOP//若未采集完2路,则LOOP
CLREX1//若已采集完2路,则关INT1L中断
LOOP:
RETI//中断返回
END
2.火灾判断程序
为了降低误报率,系统采用了多次采集、多次判断的方法。
每次数据采集后根据得到的数据对现场情况进行判断:
00H表示正常;
01H表示异常;
02H表示火灾。
然后综合多次判断结果做出最终的火情判断。
具体判断方法如下:
(1)对温度和烟雾进行了两次数据采集与判断
温度≥100℃,温度异常,置标志位为1,否则为0;
烟雾(CO,CO2)浓度≥0106%,烟雾浓度异常,置标志位为1,否则为0。
(2)根据温度和烟雾的异常标志位判断现场情况
2个标志位均为0,表示情况正常,给53H或56H单元送00H;
2个中仅有1个为1,表示情况异常,送01H;
2个均为1,表示有火灾发生,送02H。
(3)综合两次情况做最后判断,并予以报警
若53H和56H中数据不相同,说明是误报,调故障报警子程序;
否则按该单元中的数据调相应的报警子程序。
00H为情况正常,返回;
01H为情况异常,调异常报警子程序;
02H为现场有火灾,调火灾报警子程序,并向消防中心报告火情。
3.电话报警流程设计
电话报警模块主要通过中断服务程序来实现。
该程序的基本流程是:
报警器摘机,自动拨叫号码簿上相应的报警号码,如110、119,或一组用户的自己设置的固定电话号码、手机号码。
拨叫时,报警器摘机后先对电话线上的信号进行检测,检测到拨号音就拨号,检测不到拨号音说明电话线已有问题,无法拨号,就自动挂机。
拨号后等待三秒再检测有无回铃音或忙音,如果都没有,就表明已经接通,可以进行语音报警。
如遇回铃音就等待三秒再检测,若等待三次后线路仍然不通,就拨叫下一个号码;
若遇忙音就先挂机再等待10s,重新拨号,如此三次后仍然拨不通,就拨叫下一个号码,直到将电话簿上的所有号码拨完为止。
自动电话语音报警程序在发生报警时调用,其程序流程图如图10所示。
图5报警流程图
报警拨号后对方回铃音和忙音的区别:
按规定回铃音为1s高电平4s低电平方波信号,忙音为高电平和低电平均为0135s方波信号,回铃音和忙音呼叫时间60s,60s后自动挂机。
当有报警信号送单片机时,通过软件模拟摘机,预留电话拨号输出后,在接到第一声回铃音或忙音时,定时器开始定时,计数器开始计输入的回铃音或忙音的个数。
然后判别在60s内,若计数值大于15个脉冲(这时无论60s定时到否)则表示对方为忙音,,应挂机,拨打下一个报警电话。
若在60s内计数小于14个脉冲,则表示为回铃音。
若在少于12个脉冲中间回铃音中断表示对方有人接听,可以播放报警信号对应的报警语音[12]。
若60s内一直有回铃音,且定时到,表示对方无人接听,则挂机拨打下一个报警电话,直到电话报警完成。
4.MT8880的数据发送程序设计
图6MT8880的数据发送图
程序清单如下:
ORG0000H
AJMPMAIN
MAIN:
MOV30H,#08H
MOV31H,#04H
MOV32H,#07H
MOV33H,#09H
MOV34H,#04H
MOV35H,#06H
MOV36H,#02H
CLRP1.6//CS写CRB,CRB对MT8880进行初始化
CLRP1.4//CK
CLRP1.7//R/W\
SETBP1.5//RSO
MOVP1,#0DH//写CRA
SETP1.4//触发CK信号
NOP
NOP
CLRP1.4//清CK信号
MOVP1,#00H//写CRB
SETBP1.4//触发CK信号
SETBP1.6//关闭片选
END:
CLRP1.6//CS选择MT8880的发送数据寄存器
CLRP1.4//CK
CLRP1.5//RSO
CLRP1.7//R/WL
MOVR0,30H
MOVR1,#7H//将发送的数据个数给R1寄存器
MOVA,@R0//将数据首地址给寄存器
MOVP1,A//将数据送入P1口
ACALLDELAY//调用延时子程序
INCR0//数据地址加一
DJNZR1,LOOP//数据个数减一
5.MT8880数据接收程序设计
图7MT8880的数据接收流程图
AJMPMAIN
ORG0100H
MOV30H,#00H//
赋初值给30-36的地址范围
MOV31H,#00H
MOV32H,#00H
MOV33H,#00H
MOV34H,#-00H
MOV35H,#00H
MOV36H,#00H
MOVTMOD,#20//初始化定时器/计数器作为波特率发生器
MOVTL1,#0FDH//装入低位的记数初值
MOVTH1,#0FDH//装入重装值9600的波特率
CLRET1//禁止T1中断
SETBTR1//T1启动
MOVSCON,#40H//串口初始化为方式1
MOVPCON,#00H//使SMOD=0
CLRP1.6//CS写CRA,CRB对MT8880进行初始化
CLRP1.7//R/W\
SETBP1.5//RSO
MOVP1,#2DH//写CRA
SETBP1.4//触发CK信号
NOP
CLRP1.4//清CK信号
MOVP1,#20H//写CRB
SETBP1.4//单发CK信号
NOP
MOVR0,30H//接收数据的首地址
MOVR1,#7H//接收数据的个数
五、结论
本系统是将单片机和多传感器信息融合,完成语音报警的实用、可靠的单片机语音自动报警系统,它具有功能强、灵活性高、可靠性好、抗干扰能力强、实时性高等优点。
不过,还存在一些缺陷,比如:
系统需要的模块较多,编写程序时有点复杂。
希望在以后的研究中进一步优化整个系统。
尽量简化线路数量和布线方式,减少设备种类,系统功能尽可能由软件实现,提高系统可靠性和维护性,同时建立良好的人机界面,方便人们使用。
总之,此系统整体结构还是比较简单、容易实现自动报警功能,符合安全系统的规则和要求。
设计总结:
由于时间紧迫和个人能力有限,本次设计的火灾报警系统还存在许多需要完善和作进一步研究的问题,如:
(1)火灾报警系统判断的算法有待进一步的研究改进,应用更先进的神经网络和模糊识别等智能算法,降低系统的误报率,提高灵敏度。
(2)火灾报警系统没有加入一些针对火灾现场特殊情况的特殊处理方案,不能全面反映火灾情况。
(3)用户不能根据自己的需要设定火灾报警阈值。
论文的顺利完成,离不开同学和朋友的关心和帮助。
在整个的论文写作中,各位同学和朋友积极帮助我查资料,提供有利于论文写作的建议和意见,在他们的帮助下,我最终完了整个论文。
在此一并感谢!
指导教师评语:
课程设计成绩:
指导教师签名:
年月日