用89C2051控制的简易拨号报警器
该报警器主要由电源电路、控制电路、话机电路三部分组成。电源电路输出5V、6V两组电源。5V电源供单片机工作,6V电源供继电器工作,这样可以防止继电器通断时干扰单片机的工作。
图1是控制部分的电路图。由89C2051作主控芯片。J1、J2二组常开、二组常闭模拟电话摘机,J3模拟电话重拨;LD0~LD3为电路工作状态指示灯;C7、R6组成上电复位电路;光耦4N25起隔离作用,防止因门控开关线太长而将干扰引入单片机的P3.3口。电路的工作过程是:主人出门前接通报警器电源,单片机复位,软件初始化,P1.6输出低电平,其余端口输出高电平,LD0点亮,其余指示灯和继电器不工作。延时30秒后,P1.6输出高电平,LD0熄灭;此后,软件不断查询是否有盗情发生,即P3.3是否为低电平。一旦有人撬门入室,门控开关闭合,光耦导通,P3.3变为低电平,P1.5输出低电平,LD1点亮;延时5秒后,P1.5输出高电平,P1.4、P3.7、P1.2输出低电平,J1、J2得电工作,LD2点亮,指示摘机工作状态;延时1秒后,P1.3、P1.7输出低电平,J3得电工作,模拟按重拨键,LD3点亮,指示重拨工作状态。延时0.5秒后,P1.3、P1.7输出高电平,J3释放,按键结束,LD3熄灭;延时20秒后,P1.4、P3.7、P1.2输出高电平,J1、J2释放,模拟挂机,状态指示灯LD2熄灭,同时LD0闪烁,表示有小偷来过。说明:开机初始化后延时30秒,在这段时间内,即使门打开,报警器也不会拨打电话,以给主人预留出门时间;检测到有人入室后,延时5秒使主人回来时有足够的时间关闭隐藏的报警器电源开关。
图2是话机部分的电路图。K1、K2是话机的叉簧开关(图示为挂机状态)。只要把J1、J2的常开触点J1-1、J2-1与叉簧开关的常开触点并联,J1、J2的常闭触点J1-2、J2-2与叉簧开关的常闭触点串联;J3的常开触点J3-1与重拨键并联即可。J1、J2、J3与电话机用10脚的电脑排线及10脚插座连接。需要说明的是:有的电话机重拨记忆的时间有限,这时需要更改电话机拨号集成电路的电源,或者改用存储拨号。
报警器制作好后,主人出门前在电话机上键入自己的手机号或自动呼机号,一个能自动拨打手机、呼机的报警器便制作成功了。
源程序清单:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: CLR P1.6 ;LD0亮
MOV R3,#3CH ;延时30秒
LOOP1:ACALL DELAY
DJNZ R3,LOOP1
SETB P1.6 ;LD0熄灭
LOOP2:JNB P3.3,LOOP3;门控开关接通?
AJMP LOOP2 ;未接通返回
LOOP3:NOP ;延时10微秒抗干扰
NOP
NOP
NOP
NOP
JNB P3.3,LOOP4;门控开关接通?
AJMP LOOP2 ;未接通返回
LOOP4:CLR P1.5 ;接通,LD1亮
MOV R6,#0AH ;延时5秒
LOOP5:ACALL DELAY
DJNZ R6,LOOP5
SETB P1.5 ;LD1灭
CLR P1.4 ;LD2亮
CLR P3.7 ;J1接通,模拟摘机
CLR P1.2 ;J2接通,模拟摘机
ACALL DELAY ;延时0.5秒
ACALL DELAY ;延时0.5秒
CLR P1.3 ;LD3亮
CLR P1.7 ;J3接通,模拟拨号
ACALL DELAY ;延时0.5秒
SETB P1.3 ;LD3熄灭
SETB P1.7 ;J3释放,拨号完成
MOV R3,#28H ;延时20秒
LOOP6:ACALL DELAY
DJNZ R3,LOOP6
SETB P1.4 ;摘机指示灯熄灭
SETB P3.7 ;J1断开,挂机
SETB P1.2 ;J2断开,挂机
LOOP7:CPL P1.6 ;LD0闪烁
ACALL DELAY
AJMP LOOP7
DELAY:MOV R5,#0FAH;延时0.5秒子程序
LOOP8:MOV R4,#0F9H
LOOP9:NOP
NOP
DJNZ R4,LOOP9
DJNZ R5,LOOP8
RET
END
89C2051控制拨号报警 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)