工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->自制自动拨号报警电路

自制自动拨号报警电路

作者:dolphin时间:2016-09-21

  电路原理

电路原理见下图,非常简单下图中,共有4个按键,即rst、ok、up、set。这几个键的功能为:

  rst-系统复位键;ok-输入数据确认键;up-显示的数字增加键;set——工作模式设定键,共可设定“关机”、“工作”、“输入时间tl”、“输入时间t2”及“输入电话号码”五个模式。磁性开关即为装于门或窗口的防盗感应开关,门关闭时常开,门打开时闭合接通。LED数码管用于工作状态指示或作输入数据时指示。L1、L2接电话线,ZND为击穿电压为120V的压敏二极管,防止电路受雷电干扰。平时系统处于低功耗待机状态(此时耗电仅2mA左右),由电话线上取电工作并对3.6V/60mA镍铬电池充电,在输入数据进行设定或进行拨号报警时,耗电会达到10mA,这时主要由镍铬电池供电。该机除用于防盗报警外,若对软件进行一些修改,也可通过电话线进行远程数据传递。

  软件设计要点设立三个数组DATA[20],×[3],Y[3]。DATA[20]用于存放电话号码(最长20位),×[3]用于存放时间tl(000—999秒),Y[3]用于存放时间t2(000~999秒)。

  设立三个软件计数器data』ag、tl_flag、t2_flag。data_flag用于统计输入的电话号码位长,tl_flag用于统计输入的时间tl位长,t2_flag用于统计输入的时间t2位长。

  INTO外中断服务子函数用于对set键的键值进行递增(0~4),以使程序转向正确的工作区域。INT1外中断服务子函数中对门控防盗开关进行判断(共10次),探明盗情并防止误判。

  定时器TO设置为100ms定时中断,产生符合要求的精确拨号脉冲。

  脉冲拨号的原理是:1个脉冲代表1,2个脉冲代表2,……9个脉冲代表9,10个脉冲代表0。拨号时从P3.O输出拨号脉冲,每个脉冲的宽度和间隔均为01秒,拨出1位后停顿05秒(保持P3.O为高电平)再拨下一位,直至把电话号码拨完才使P3.0为低电平。

  报警原理是:从P3.1输出60秒1KHz的音频脉冲,由2Hz的超低频进行调制(接通0,5秒、断开0.5秒),这样就会从接听方电话中听到“嘟一嘟一…”的报警声。

  上图、中图、下图为主函数、INTO外中断服务子函数、INT1外中断服务子函数状态流程。详细的源程序可以向杂志社联系。大地简化了电路,但可实现以前要几片甚至十几片硬件数字电路才能完成的任务。由于AT89C2051110引脚有限,故数码管只设一位,因此输入数字时只能分阶段一位一位输入,稍显繁琐。假设我们需输入t1=061,t2=025,电话号码=12345678,在此详述如下。

  一、接上电话线(也即接上电源)后,数码管显示“E”,意为数据错误,因为此时我们尚未输入任何数据。

  二、1.点按一下set键,键值加1,即此时set=l,这时数码管最下的一横点亮,显示“-”,意为可输入时间tl,点按ok键确认(小数点被同时点亮)。

  然后数码管显示数字“0”。

  2.按下up键后,数字开始从0~9循环递增,调至0后松开up键,点按ok键确认(小数点被同时点亮)。此时百位数字“0”存入内存。

  3.按下up键后,数字开始循环递增,调至6后松开up键,点按ok键确认(小数点被同时点亮)。此时十位数字“6”存入内存。

  4.按下up键后,数字开始循环递增,调至1后松开up键,点按ok键确认(小数点被同时点亮)。此时个位数字“1”存入内存。

  这样就完成了将061(代表t1=61秒)存入内存的过程。同时数码管又恢复显示“-”。

  三、1.点按一下set键,键值加1,即此时set=2,这时数码管下面的二横点亮,显示“二”,意为可输入时间t2,点按ok键确认(小数点被同时点亮)。然后数码管显示数字“0”。

  2.按下up键后,数字开始从O~9循环递增,调至O后松开up键,点按ok键确认(小数点被同时点亮)。此时百位数字“0”存入内存。

  3.按下up键后,数字开始循环递增,调至2后松开up键,点按ok键确认(小数点被同时点亮)。此时十位数字“2”存入内存。

  4、按下up键后,数字开始循环递增,调至5后松开up键,点按ok键确认(小数点被同时点亮)。此时个位数字“5”存入内存。

  这样就完成了将025{代表t2=25秒)存入内存的过程。同时数码管又恢复显示“二”。

  四、1.点按一下set键,键值加1,即此时set=3,这时数码管的三横点亮,显示“三”,意为可输入电话号码,点按ok键确认(小数点被同时点亮)。

  然后数码管显示数字“0”。

  2.按下up键后,数字开始从0~9循环递增,调至1后松开up键,点按ok键确认(小数点被同时点亮)。此时数字“1”存入内存。

  3.重复2的动作,选择自己需要的数字(2、3、4、5、6、7、8),分别将它们全部存入内存。

  应注意的是,输入最后一位数(8)后,应长按ok键约2秒,直至数码管又恢复显示“三”。

  五、点按一下set键,键值加1,即此时set=4,这时数码管的右下角一竖点亮,意为关机(关闭警戒,但系统处于低功耗的待机状态)。这时再闭合门控开关也不会触发报警了。

  六、点按一下set键,键值加1,但此时set又回到了0,这时数码管的左上角一竖点亮,意为工作(打开警戒,但系统仍处于低功耗的待机状态)。这时如闭合门控开关就产生外部中断1,将CPU唤醒进行判别、分析及拨号报警。

  说明:如你不进行tl、t2设定的话,那么程序设定的tl、t2默认时间值均为60秒。

  数据输入完毕后,以后不必每次输入了,只需直接点按set键选择工作模式(数码管的左上角一竖点亮打开警戒或数码管的右下角一竖点亮关闭警戒)即可。除非数码管显示了“E”字,说明数据出错,那么我们才需重新输入一次。

  将门控开关与本机连接,即可投入使用了。试一下,输入你的手机号码,再触发一次门控开关,看手机响铃否,接听后耳中会响起60秒的“嘟、嘟…”报警声。



评论

技术专区