基于AT89C51单片机为核心的遥控报警系统设计Word格式.docx
《基于AT89C51单片机为核心的遥控报警系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机为核心的遥控报警系统设计Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
有语言提示,避免盲目操作;
可以取消已输入的操作命令;
当单片机接收到家中天然气泄露、温度超限和失窃信号后会自动拨打预留电话并报告家中发生的情况。
2 硬件电路设计
总体电路设计思路是:
电话遥控报警器与家用电话采用并联方式,当有振铃信号时单片机开始记数,前10次铃声内若有人接电话,则遥控报警器被屏蔽,不影响正常接听电话,若10次铃声后无人接听,约定遥控报警器自动模拟挂机,并发出提示音要求用户输入密码,允许3次输入错误,并有2次提示输入错误重新输入,若第3次输入错误则自动挂机。
密码输入确认无误后,发出提示音,提示用户输入要求执行任务的电器代码,代码为3位数字加“#”字确认,前2位数字为电器代号,范围为1~16(假定控制电器为16个),第3位数为调压调速的级数,范围为1~4(档数根据需要确定),若电器无调压调速,则第3位数无效。
若同一任务所输入的次数为偶数,表示取消任务。
若2次按键的时间间隔小于100ms,则第2次按键输入无效,以防止抖动。
若前次按键后10s无按键输入,默认为无任务输入,自动挂机。
挂机后单片机把输入任务送对应输出口执行任务,并保持状态直到有新任务输入。
硬件电路主要包括振铃检测电路、模拟摘机和DTMF解调电路、调速电路、任务执行电路、3路传感器报警信号电路,以及语音电路部分。
硬件电路框图如图1所示。
3系统硬件电路设计
3.1振铃检测电路
3.1.1电路工作原理
振铃检测电路由光耦LE以及门电路G4等元件组成。
电话线路没有铃流时,电话交换机提供的线路电压为48V-60V的直流信号。
当用户呼叫时,电话交换机发来振铃信号,89C2051单片机驱动摘挂机控制开关电路,DTMF信号译码电路,铃流检测电路和语音提示电路等电路设备。
此时光耦LE的发光二极管导通,使光敏晶体管导通,于是+5V电源通过1K电阻和二极管向100uF电容充电。
当电容上电压充到开门电平时,与门G4输出高电平并由AT89C2051的P3.5检测,每振铃一次,门G1输出一次高电平即一个正脉冲。
振铃信号为25±
3V的正弦波,电压有效值为90±
15V,振铃以5s为周期,即1s送4s断。
正脉冲信号可以直接输出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程。
根据振铃信号的特征,设计振铃检测电路如图2所示
3.2模拟摘挂机电路模块
设计主要思路:
根据国家有关标准规定:
不论任何电话机,摘机状态的直流电阻应≤300Ω,有“R”键的电子电话机的摘机状态直流电阻应≤350Ω。
在挂机状态下,其漏电流≤5μA。
当用户摘机时,电话机通过叉簧接上约300Ω的负载,使整个电话线回路流过约30mA的电流。
交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。
电路图如图3.2所示,该方案是在方案一的基础上加了一个光耦隔离电路。
该电路的工作原理是:
当微处理器的P1.5口为高电平时,光耦不导通,发光二极管D8不亮,三极管Q3截止,继电器不闭合。
当微处理器的P1.5口为低电平时,由于R11、R12和光耦内部的LED形成了回路,光耦内部的发光二极管被点亮,发光二极管发出的光照射到光敏三极管上,光线起到基极电流的作用,激发产生集电极电流,光敏三极管导通,发光二极管D8被点亮,从而三管Q3基极有个较大的电压,使三极管导通并达到饱和,继电器闭合。
图3.2模拟摘挂机电路图
3.3双音频DTMF解码电路
3.3.1电路工作原理
DTMF解码,接收电路使用DTMF解码集成电路MT8870。
当电路接口中的JKa和JKb闭合时,由发送端送来的DTMF信号进入MT8870的"
IN-"
端,经过DTMF解码,得到4位二进制码从Q3-Q0输出,同时由STD端给出一个正脉冲,该正脉冲的出现表明Q3--Q0已经准备就绪,就可以被读取了。
DTMF双音多频信号是目前在按键电话(固定电话,移动电话),程控交换机及无线通信设备中广泛应用的一种信号。
它是一组由高频信号与低频信号叠加而成的组合信号。
MT8870信号接收器可把DTMF信号变为单片机可以识别的二进制数字信号,来识别每一个按键。
MT8870与AT89C2051单片机的接口电路如图4所示。
输入的DTMF信号经MT8870解调后,在STD端产生一个控制输出信号,该信号与单片机AT89C2051的外部接口P3.2相连。
然后P3.2等待DTMF解码器STD端正脉冲的到来,一旦识别到STD端的正脉冲,P3.0-P3.4即读入DTMF解码器的输出的二进制码信息,这个信息就是遥控命令,AT89C2051能对其进行判别---究竟是密码还是控制某路开,关的命令,或是挂机命令。
此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性。
经过翻阅大量的文献资料,我发现使用电话专用的双音频编解码芯片进行输入双音频信号的解码,是比较常用的一种方法。
使用集成电路不但外围电路简单,而且可靠性强。
经过专用集成电路的解码,信号转换成为不同的码制信号,可以直接被单片机读取。
一般常用的电话双音频编解码集成电路有8870、8880、8888等,经过反复论证比较,我决定使用双音频解码集成片MT8870来完成此功能模块。
有关MT8870的详细介绍请见下文。
3.3.2电路图设计
双音频DTMF解码电路设计如图4所示。
2.3 语音提示及拨号电路
语音提示电路采用美国ISD公司语音芯片ISD25120,该芯片可录放120s,由于采用“直接模拟量存储”(DAST)专利技术,信号无需经D/A,A/D转换等处理过程,失真小,音质好。
片内含振荡器、话筒前置放大器、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及E2PROM陈列,外围电路简单,体积小,3V单电源供电,耗电省,维持电流仅1μA。
用该芯片只播放预录好的语句,所以电路只用了放音功能,录/放模式P/R接高电平,节电方式为工作接地。
时钟采用外时钟,ISD25120外时钟频率f=512kHz。
ISD25120共有10条地址线,要这样可以实现200ms的信息分辨率,但由于我们只需要寻找每段录音起始地址,所以可以降低分辨率使用,这里把A3~A0接地。
A9和A8决定A7~A0的意义,当A9和A8有一个为“0”时,A7~A0表示为当前录放操作的起始地址,当A9和A8有一不为“0”时,A7~A0表示为不同的操作模式,在此A9和A8接地,表示A7~A0为地址数。
当需要放音时,89C51使ISD25120片选端CE=“0”,同时给出A7~A0地址数,在CE的下降沿锁存,A9~A0具体设置如下:
这样由A7~A4四条地址线可以最大寻址数为16个,每段时间长短可以由设计者根据需要决定。
录音段起始时间和此段起始地址数关系如下:
时间=某段起始地址数(十进制)×
分辨率
不同芯片分辨率不同,具体可查阅有关手册。
ISD25120分辨率为200ms,本装置1~7段为6s,输入有关的提示语。
第8段为预留电话号码,9~11段为15s,用于拨号报警,12~16段共27s备用。
语音提示及拨号电路图如图3所示。
当89C51收到由天然气、温度和失窃报警器送来信号后,89C51采用将预录在ISD25120语音芯片中的双音频电话号码及报警语音播出的方式进行报警。
由于DTMF双音多频数字信号和ISD语音芯片在电话和无线网络传输的语音信号频率范围相同,所以此方案可行。
但要注意以下问题:
贝尔电话DTMF信号标称误差是±
1.5%,当电话晶体为3.57945MHz时,产生的音调误差范围为+0.74%~-0.54%。
而大部分ISD器件内部振荡器在全电压和全温度范围内误差为2.25%,即:
ISD器件误差大于DTMF标准误差,如图4所示。
所以不能用ISD内部振荡器,而必须用外部晶体振荡输入信号。
从图4可以看出,最坏录放音情况时,提供给ISD器件的外部时钟要求误差小于0.75%,他可以是TTL或CMOS电平。
对于ISD25120采样速率为4kHz,提供的时钟频率为512kHz,单片机为626MHz晶体,工作频率为1MHz,外加二分频电路提供给ISD25120的频率为5kHz,与要求的512kHz很接近,使用中不会造成任何问题。
这里要求频率变化误差要小,而并不要求非常准确的频率值。
1.3电器控制电路
原理说明:
本单元电路主要是由反向电路、D触发器和继电器等控制电路组成。
电路图如图3-10所示。
首先,单片机AT89C51从P0口的八位都用作输出控制信号。
这八位数据连接八个反向器进行整流隔离,然后连接D触发器进行数据锁存。
每个D触发器的输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。
二极管指示灯串联在开关三极管基极作为电器开关指示。
这样就可以完成单片机对多路电器的控制。
设计采用控制带有继电器的电源插座来实现对家电的最终控制,诸如电饭煲、热水器、空调之类的电器只需插上插头,主控单片机即可通过控制插座中各继电器来控制电器电源的通断。
该方式简单且易于实现。
图3.7所示的为一路电器控制电路图,在本装置中一共有八路电器可以控制,其它电器控制相同。
2.5 调速调压电路
调速调压电路执行器件选用双向可控硅,单片机根据任务送不同脉冲个数,则BT33驰张振荡器冲放电时间不同,使双向可控硅导通角大小不同而输出电压不同。
3 软件设计
根据以上分析,软件主流程图如图5所示。
除主程序外,子程序包括6位密码核对子程序、(3位数+#)任务输入核对子程序、提示音子程序、报警子程序、任务排除偶次输入子程序、对方回铃声和忙音区分子程序以及10ms,10s,60s延时子程序,编写程序时注意二次按键时间小于10ms时第2次按键无效,以防止抖动。
当上次按键后连续10s无按键输入信号,则默认可以自动挂机。
报警拨号后对方回铃音和忙音的区别:
按规定回铃音为1s高电平4s低电平方波信号,忙音为高电平和低电平均为0.35s方波信号,回铃音和忙音呼叫时间60s,60s后自动挂机。
当有报警信号送单片机时,通过软件模拟摘机,预留电话拨号输出后,在接到第一声回铃音或忙音时,定时器开始定时,计数器开始计输入的回铃音或忙音的个数。
然后判别在60s内,若计数值>15个脉冲(这时无论60s定时到否)则表示对方为忙音,应挂机,延时60s后重拨号呼叫。
若在60s内计数<14个脉冲,则表示为回铃音。
若在少于12个脉冲中间回铃音中断表示对方有人接听,可以播放报警信号对应的报警语音。
若60s内一直有回铃音,且定时到,表示对方无人接听,则挂机延时后重拨,直到电话报警完成。
4 结 语
该装置是现代家庭中一项十分有用的技术,对装有无线控制装置的家庭,只需将执行任务部分改为无线遥控发射即可。
随着可视电话的发展,安装一个微型摄像头,出差在外也可以对家中的情况一目了然。
参考文献
[1]ISD公司.ISDdatabook:
Voicerecordandplay