来源:中国一卡通网 作者:不详 发布时间:2011-11-25 09:02:33 字体:[大 中 小]
摘 要:随着人们生活水平的不断提高,家庭安全正在逐渐引起重视。在家庭住宅处安装防盗及险情报警系统,使主人能及时掌握住宅发生的警情,正是人们所期盼的。智能电话报警系统就是适应这种需求而研制的。智能电话报警系统是以单片机AT89C51-p.htm" target="_blank" title="AT89C51货源和PDF资料">AT89C51 为核心,结合DTMF(双音多频)数据传输技术,语音芯片ISD1420,AT24C01 存储芯片,热释电红外线传感器等技术来实现火灾、盗窃等的监测,利用公共通讯网为传输媒介进行自动拨号报警和实现播放事先录好的语音信号。它具有可靠性高、成本低、易普及等优点。
3.6 按键接口电路的设计
键盘在单片机应用系统中是一个关键部件,它能实现向单片机输入数据、传送命令等功能,是人机对话不可缺少的输入方式之一。键盘利用机械触点的合、断作用实现信息输入。一个键实际上就是一个开关,系统用两根1/0 线的组合判断一个按键的开关状态。本报警器一共设了12 个键,其中包括10 个数字键及#和*2 个键。在此我们采用3X4 键盘,需要7 根1/0 线。因为89c51 自身的输入/输出端口有限,所以系统扩展了输入/输出口8255A。在该电路中,3X4 键盘与8255A 的PC 口相连,8255A 的C 口低四位PCO-PC3 作为行扫描输出,C 口高四位PC4-PC6 作为列输入,均为低电平有效。
4.软件设计
自动报警器软件部分采用模块化设计,分为主控模块、报警处理模块、中断处理模块、拨号模块、语音模块、键盘输入模块等。编程采用MCS-51 汇编语言。
4.1 主程序设计
单片机接上电源后,首先延时100ms,让单片机的各个管脚有充分的时间复位。在初始化中,将外部中断0 打开,将各个标志位复位。然后,一直扫描键盘是否按下,如有按下则运行相应的键处理子程序,处理完后再扫描键盘。同时,等待险情引起的中断产生。一旦险情发生,将转入中断服务子程序。
4.2 中断处理子程序设计
单片机的INTO 脚和防盗红外传感器相连。中断处理子程序首先确认是否外界对红外探测器的干扰。是外界干扰,则返回;不是外界干扰,则运行报警处理子程序。
4.3 报警处理子程序设计
报警处理子程序控制整个系统完成摘机,信号音判断,拨号,发出语音求救信号,最后挂机。首先,调用摘机子程序模拟摘机,延时使系统稳定,再调用检测和判断子程序判别是否有拨号音。若没有,则调用挂机子程序,延时后重新调用摘机子程序;若检测到拨号音,则接下来调用拨号子程序。在拨号子程序里,拨打户主电话。拨号完毕后,重新调用检测和判断子程序,判别此时是忙音还是回铃音。若是忙音,则调用挂机子程序,延时后重新调用摘机子程序;若是回铃音,则重新调用检测和判断子程序,判别此时对方是否摘机。如果48s时间到,仍是回铃音,则调用挂机子程序,延时后,再重新调用摘机子程序;若不是回铃音,则调用语音程序,将事先录制好的报警语音回放出来,最后调用挂机子程序。接着拨打存储的下一个电话号码,直到把存储的电话拨打完。此过程重复3 次后,则返回调用程序。
4 .4 信号检测与判断模块程序设计
为了检测信号音,应将MT8880 设置为呼叫处理模式,即CP 模式。该模式下MT8880可检测各种信号音,如拨号音、忙音、回铃音。只要位于中心频率450Hz,带宽250Hz 左右的信号音就可以经滤波器选择、高增益比较器限幅、从施密特触发器得到代表信号音的方波信号,并从IRQ/CP 端输出,微处理器可通过IRQ/CP 端分析呼叫过程。根据程控交换机的标准,拨号音为450Hz 的连续正弦波,正负误差25Hz;忙音为450Hz 的正弦波,0.35s 通,0.35s 断;回铃音为450Hz 的正弦波,1s 通,4s 断。因此,依据MT8880 的CP 检测模式,可对IRQ/CP 脚输出的方波计数5s,根据结果判断是哪种信号音。
4.5 语音模块程序设计
ISD1512 为美国ISD 公司出品的优质单片语音录放电路,借助直接模拟存储技术(美国ISD 公司的专利)实现录音内容存入永久存储单元,提供零功率信息存储,并能完成其原本语
5音的再现。单片机P2.3 控制放音,P2.3 由高电平变为低电平,触动ISD1512 的放音脚,放音
开始,延时5 秒后,单片机P2.3 脚由低电平变为高电平,放音结束,然后进入下一次放音状态,直至三次放音结束,清除警情标志位后,程序返回.
4.6 拨号模块程序设计
首先初试化MT8880,置MT8880 为BURST 模式;然后一位一位地拨号,直到拨完。
4.7 键盘模块程序设计
键盘在单片机应用系统中是一个关键部件,它能实现向单片机输入数据、传送命令等功能,是人机对话不可缺少的输入方式之一。本报警器一共设了12 个键,其中包括10 个数字键和两个功能键。其中,*键是布防和撤防命令(即取反EX0),#键是更改AT24C01 中存储的电话号码。键盘模块程序主要完成按键的确认与处理。
推荐文章
论坛热帖