基于单片机的自动拨号报警器的设计概要Word文件下载.docx
《基于单片机的自动拨号报警器的设计概要Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动拨号报警器的设计概要Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
![基于单片机的自动拨号报警器的设计概要Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-2/1/f9291e7d-0bc5-41a6-a6e5-3e99ea264bd3/f9291e7d-0bc5-41a6-a6e5-3e99ea264bd31.gif)
3.3显示、键盘模块.......................................6
3.4DTMF收发模块.........................................7
3.5电话号码存储模块....................................11
3.6报警信号输入........................................12
第4章电话自动拨号报警器的软件设计........................14
4.1系统软件设计.......................................14
4.2主程序的设计........................................15
第5章结束语..............................................21
致谢.....................................................22
参考文献...................................................22
基于单片机的自动拨号报警器的设计学号:
060608205作者:
陈小燕指导教师:
王春彦职称:
讲师
第1章前言
改革开放以来,在城市大发展的过程中,大量外地人口涌入城市,给社会治安带来很大压力。
工厂、机关和居家失盗、失火、抢劫事件时有发生;
个别地方尤为严重,损失惊人。
由此引起社会各界人士的普遍关注,有些部门和居民小区开始派人白天夜间巡逻,并纷纷购置防护铁门、铁栏杆等被动防范措施,将主人装在铁笼子中以求安全。
一旦发生警情(如火警或煤气泄露),才发现铁笼子将消防人员挡在事故现场之外,难以及时加以救助,实为弊端。
为此,政府部门提倡采用高科技手段实现技术防范措施,在社会治安的现实需求和政府部门的推动下,市场上国产和进口的防火报警器应运而生。
本次设计经过分析、对比了国内外的多种防火报警器的内部结构和功能,结合国内使用条件,设计了适合国情的电话自动拨号报警器。
本文首先介绍了电话机的概述和通话原理以及智能化电话报警器原理,在第三章中详细介绍了智能自动电话报警器的硬件单元电路设计,在第四章中简单介绍了智能化电话报警器的软件设计以及在第四章中介绍了对系统软硬件的调试等。
第2章电话自动拨号报警器的总体设计
2.1电话自动拨号报警器的硬件设计方案
o1o
本次设计为基于单片机的电话自动拨号报警安全监控系统,由AT89C51构成核心控制系统,并与报警电路,双音多频收发电路等共同组成,能完成自动拨号报警等功能。
系统可分为五个模块:
单片机控制模块,报警信号输入模块,电话号码存储模块,摘挂机控制模块及DTMF收发模块。
系统硬件框图见图2.1,本系统是利用电话网来传输数字和语音信息的,系统工作时,报警检测电路中二氧化碳传感器输出电压会随着空气中二氧化碳气体的浓度变化而变化,当发生火灾时,二氧化碳气体浓度会变高,传感器输出电压也随之变高,导致其输出电压高于预先设定的比较器反向输入端的基准值而产生报警信息,检测电路就把警情信息转换为电平信号传送到单片机,单片机检测到警情信号后,立即控制摘机电路摘机并控制双音多频发送电路拨打预先存在E2PROM存储器CAT24C021中的电话号码,实现自动循环拨号报警功能。
图2.1基于单片机的电话自动拨号报警器的系统硬件框图
o2o
2.2电话自动拨号的主电路图
电话自动拨号的主电路图如图2.2所示
o3o
图2.2主电路图
第3章各功能模块设计
3.1单片机的选择与其周边电路分析
(1)单片机的选择
虽然用逻辑电路也可以接收信号并判断报警,并完成自动拨号等功能,但电路复杂,组合起来比较困难,稳定性差,利用单片微型机可以简化设计,便于操作。
智能化仪器仪表中单片机的选择原则为:
1、字长与速度
2、单片机的功能与内部资源
3、开发工具和技术支持状况
4、性能价格比
考虑到以上的几点要求,故选择了AT89C51型单片机。
其具有8位的CPU,4KBROM程序存储器,128BRAM数据存储器,32根输入输出口线,2个
o4o
16位的定时器,5个中断源,2个中断优先级,64KB的程序存储器空间,这款单片机可以完成所设计的系统的要求。
单片机引脚图见图
3.1
图3.1AT89C51单片机引脚图
3.2模拟摘挂机电路模块
设计主要思路:
根据国家有关标准规定:
不论任何电话机,摘机状态的直流电阻应≤300Ω,有“R”键的电子电话机的摘机状态直流电阻应≤350Ω。
在挂机状态下,其漏电流≤5μA。
当用户摘机时,电话机通过叉簧接上约300Ω的负载,使整个电话线回路流过约30mA的电流。
交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。
电路图如图3.2所示,该方案是在方案一的基础上加了一个光耦隔离电路。
该电路的工作原理是:
当微处理器的P1.5口为高电平时,光耦不导通,发光二极管D8不亮,三极管Q3截止,继电器不闭合。
当微
o5o
处理器的P1.5口为低电平时,由于R11、R12和光耦内部的LED形成了回路,光耦内部的发光二极管被点亮,发光二极管发出的光照射到光敏三极管上,光线起到基极电流的作用,激发产生集电极电流,光敏三极管导通,发光二极管D8被点亮,从而三管Q3基极有个较大的电压,使三极管导通并达到饱和,继电器闭合。
图3.2模拟摘挂机电路图
3.3显示、键盘模块
此模块是用来显示报警电话号码的。
键盘显示电路选用HD7279,HD7279是一片具有串行接口的可同时驱动8位共阴式数码管,(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示键盘接口的全部功能。
HD7279内部含有译码器可直接接受BCD码或16进制码并同时具有2种译码方式,此外还具有多种控制指令如消隐,闪烁,左移,右移,段寻址等。
HD7279具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。
HD7279和
o6o
微处理器之间采用串行接口,其接口电路和外围电路简单,占用I/O口线少,达到了简化硬件电路的目的。
3.4DTMF收发模块
本次设计考虑到简化设计、降低成本、减少体积等因素,所以没有采用独立的DTMF接收器和发生器,而选择了MITEL公司生产的DTMF收发器MT8880芯片作为收发电话双音多频信号的解码核心。
MT8880就是一个带有呼叫处理滤波器(callprogressfilter)的单片DTMF收发器。
它的主要特点是:
集成度高;
数据传送稳定,抗干扰强;
具有多种工作模式,可编程控制,容易与微机接口等。
其引脚图如图3.3所示
图3.38880芯片管脚图
主要管脚功能简介
VSS,VCC为电源接入端,一般采用+5V供电;
D0、D1、D2、D3为数据总
线端,当=1时,D0、D1、D2、D3呈高阻态;
OSC1、OSC0为3.5795MHz的晶振接入端,若外加时钟从OSC1经电容耦合输入时,OSC0端开路;
IN+,IN-为芯片内部运放同相,反相输入端;
GS为增益选择端,此脚与IN-之间接一个反馈电阻可调节运放的增益;
VREF为基准电压输出端;
TONEOUT为双音多频或行/列单频输出端;
R/为读/写控制端,与TTL
o7o
兼容,高电平时,控制片内的数据读入微处理器
;
为片选信号端,
当为TTL低电平时,该芯片被选通;
RSI为芯片内部寄存器控制端;
CP为系统时钟输入端;
/CALL为中断请求或电话信号音检测输出端;
Est为初始控制输出端,当检测出一种有效的单音对时,则Est为高电平;
St/GT为控制输入/时间监测输入端.
MT8880发送DTMF信号时,被发送的信号从数据总线D1~D3经数据总线缓冲器送到发送数据寄存器,控制可编程行,列计数器,经D/A变换器合成DTMF信号。
在音频突发开门控制和控制逻辑作用下,从8脚(TONE)发送出去。
MT8880芯片内部的控制寄存器、数据寄存器和状态寄存器中的数据写入和读出由RSI及R/信号控制,具体内容如表3.1所示。
控制寄存器CRA,CRB及状态寄存器SR各比特位b0~b3的名称如表
3.2所示
表3.1内部寄存器数据的写入及读出控制
表3.2内部寄存器个比特位的名称
CRA中:
TOUT:
允许TONE输出,高电平有效
o8o
MC:
模式控制,B1=0,DTMF模式;
B1=1,单频模式
IRQ:
中断允许,B2=1,中断有效;
B2=0,中断无效。
RS:
寄存器选择,B3=1,下一个写周期选择写CRB,一次性选择完成。
CBR中:
BURST:
突发选择。
B0=0,选择MT8880工作于突发模式。
在这种模式下,将TDR中的数据以其对应的DTMF信号发送出去,持续时间为51ms。
B0=1,选择发送连续的DTMF信号。
TEST:
B1为高电平时,选择测试模式。
S/D:
产生单/双音。
B2为低电平时,产生DTMF信号;
B2为高电平时,产生行/列单音信号。
C/R:
行/列单音产生,当B2=1,B3=1时,选择列对应的单音频;
当B2=1,B3=0时,选择行对应的单音频。
SR:
B0:
中断允许位。
当B0=1时,中断发生,B1,B2被设定。
B0=0,中断禁止,读出数据后清零。
B1:
突发模式下,TDR是否空的标志。
当B1=1时,突发模式下的暂停时间完,TDR空;
准备发送新的数据,当B1=0时,表示SR读完数据后或非突发模式下清零。
B2:
RDR满的标志。
B2=1,表示RDR中已有有效数据;
B2=0,表示SR读完数据后清零。
B3:
延时控制。
B3=1,表示不能对DTMF信号进行有效检测;
B3=0,
o9o
有效的DTMF信号检测功能已清零(复位)。
本设计选择工作模式为DTMF模式,选用突发方式发送,那么控制寄存器CRA中的4比特位应该是1001(B),B3=1,表示下一周期是写CRB控制寄存器;
B2=0,表示中断不允许;
B1=0,表示选择DTMF模式;
B0=1,表示允许8脚有DTMF信号输出。
控制寄存器CRB的4比特位应该是0000(B),其B0=0,表示选择电路工作于突发模式;
B1=0,表示工作于非试验模式;
B2=0,表示选择只产生DTMF信号,而不产生行/列单音信号;
B3=0或B3=1均可,由于MT8880产生的DTMF波功率很小和从电话线来的DTMF波的幅值也很小,所以在MT8880的发射端加了一级运放LM386进行功率和幅值的放大,再经耦合线圈送到电话线上。
电路原理图如下图3.4及3.5所示。
图3.4MT8880接口电路
o10
o
图3.5DTMF信号放大电路图
MT8880从TONE端输出双音频信号,它的输出电阻最小为10KΩ,电容C11可清除高频干扰,在没接放大器的情况下,此端输出的双音频信号的峰峰值为2.4V左右。
这一信号不能直接加到耦合线圈两端,因为耦合线圈阻值较小,分压后加在耦合线圈两端的电压值很小,并且功率也很小,传送到电话线上的信号特别微弱,程控交换机根本无法识别,造成发送DTMF信号失败,考虑到放大器输入电阻很大,利用放大器可以使MT8880发出的双音频信号正常输出。
经调试,最后选取放大器为LM386,改变电位器R18可改变放大倍数,为了使放大倍数调为0.5倍,可通过调节R18=5KΩ来达到,这样在放大器的输出端可获得峰峰值为1V左右的双音频信号,其中C9,C10选用10µ
F,C8选用220µ
F。
3.5电话号码存储模块
本设计采用E2PROM存储芯片CAT24C021,CAT24C021是集E2PROM存储器,复位微控制器和看门狗定时器三种流行功能与一体的I2C串行CMOSE2PROM器件。
电路图如图3.6所示。
o11
图3.6电话号码存储电路图
CAT24C021的看门狗定时器为微控制器提供一个独立的保护。
当系统出现故障时,1.6秒后看门狗定时溢出,CAT24C021将会产生一个复位信号。
通过SDA脚对看门狗进行操作。
如果CPU1.6秒没有触发SDA,看门狗计数器溢出,给CPU一个复位信号。
SDA管脚上电平任何跳变都会清零看门狗定时器。
一旦产生复位信号,看门狗定时器不再计时并保持清零状态。
预置报警电话号码时,借助7279键盘把号码送入单片机,单片机可判断出是键盘上的哪个键被按下,将此数据由单片机读入,供CAT24C021写入。
需要读取报警的电话号码时,由单片机读出CAT24C021的存储号码,送MT8880,输出对应的DTMF信号,送到电话线上。
3.6报警信号输入
根据设计要求该部分采用了二氧化碳传感器GE-E和比较器LM393为核心的烟雾报警器,该二氧化碳传感器稳定性好、对二氧化碳灵敏度高,检测范围为100-10000PPM。
传感器结构及典型连接电路分别如图3.7和3.8:
o12
图3.7传感器结构
图3.8传感器典型连接电路图
Vh电源对传感器加热丝进行加热,当气体浓度变化时,1端与4端的电阻会产生变化,经分压原理可知输出电压VL的大小与电阻R成正比,与气体浓度成正比。
二氧化碳传感器GS-E的技术指标如下表3.3所示:
表3.3二氧化碳传感器GS-E的技术指标
输出电压决定因素有三个:
o13
1.系统所加的电源电压。
2.图中电阻R的大小。
3.空气中二氧化碳气体的浓度。
本次设计中采用的电路图如图3.9所示,电源电压选用+5V,在正常情况下,空气中的二氧化碳的浓度是不变的,可以通过调节分压电位器R29的大小来改变传感器正常情况的输出电压,在本设计中,将正常情况下的输出电压调成了1.0V。
图3.9二氧化碳传感器电路
第4章电话自动拨号报警器的软件设计
4.1系统软件设计
本系统的软件设计主要分为以下部分:
主程序,电话号码输入部分,电话号码存储到E2PROM24C021部分,及从24C021读出电话号码部分,拨号部分,在设计中主要注意的问题是各部分之间的衔接以及是否冲突等,由于本次设计P口不够用所以7279的KEY端改接在外部中断INT0,
o14
采用中断方式读键值。
【单片机I/O口线及中断口分配】
●P1.0:
7279的CS端●P1.1:
7279的CLK端●P1.2:
7279的DATA端●P1.3:
MT8880的RS0端●P1.4:
报警信号输入端●P1.5:
摘机控制端
●P1.6:
CAT24C021的SCL端●P1.7:
CAT24C021的SDA端●INT0:
7279的KEY端
4.2主程序的设计
主程序框图如图4.1所示:
o15
图4.1主程序框图
在执行完初始化程序后,首先判断有无报警信号,若没有报警信号(报警信号检测端P1.4为高),则判断用户是否按下修改键准备修改报
o16
警电话号码,若用户没有按下修改键则继续判断有无报警信号,若用户按下了修改键则需要用户继续输入报警时拨打的电话号码,以停止键判断是否输完,若没输完继续输,输完后存入E2PROM存储器CAT24C021中,若有报警信号(报警信号检测端P1.4为低),首先判断设置的标志位是否为1,若不为1,则单片机立刻控制P口,令P1.5为低,执行摘机后从CAT24C021中读取报警电话号码,并显示要拨打的电话号码,最后把电话号码发送到MT8880拨打报警电话号码。
程序初始化和主程序如下:
ORG2000H
CSBITP1.0;
7279片选端
CLKBITP1.1;
7279时钟输入端
DATBITP1.2;
7279数据口
RSOBITP1.3;
MT8880内部寄存器控制端
TCBITP1.4;
烟雾报警检测端
ZJBITP1.5;
摘机端
SCLBITP1.6;
24C021串行时钟端
SDABITP1.7;
24C021数据/地址输入/输出端
HAOMADATA40H;
输入电话号码后电话号码内存单元存放首址HAOMA1DATA30H;
从24C021读出电话号码后内存单元存放首址EEPARSDATA3BH;
24C021片内电话号码存贮单元首址
NDATA50H;
电话号码位数的存储单元
LJMPMAIN
ORG2003H
o17
LJMPINT0_KEY
ORG200BH
LJMPT0_DINGSHI
********************
主程序
ORG2100H
MAIN:
MOVSP,#67H
MOVP1,#00110000B;
P1口初始化
LCALLDEL25ms
MOVA,#0A4H;
复位7279
LCALLFS;
调用7279发送一字节子程序SETBCS;
撤消7279的选中
MOVR2,#0CH;
开始时显示P
LCALLDTR;
调用7279显示子程序MOVTMOD,#01H;
设置为16位定时器0MOVTH0,#3CH;
定时初值为100msMOVTL0,#0B0H
MOV52H,#00H;
赋计数初值
SETBIT0;
外部中断为边沿触发MOVIE,#83H;
中断允许
MOVIP,#02H;
设定时中断为高级中断
o18
SETBTR0;
开定时器
MOV4CH,#01H;
将电话号码119存储在EEPROM中MOV4DH,#01H
MOV4EH,#09H
MOVEEPARS,#10H
MOVR0,#4CH
MOV22,03H
LCALLWRITE
LCALLDEL1s
MOVN,#00H
MOVR0,#HAOMA
MOVR7,#97H
SETB20H;
建立标志
CLR21H
SETBTC
LCALLDEL1s;
开始监控
BB:
JNBTC,ZJ1;
检测有无报警信号