
本报警器采用AT89C2051单片机控制,体积小、成本低;用红外线收发管进行检测,安装隐蔽、不易被发现;探测信号采用脉冲信号,节能且抗干扰;当有人试图闯入室内时,能自动进行声光报警。
一、硬件电路
电路原理图如图1所示,可分为三个部分。
1. 电源电路:220V交流市电经变压器T降压、桥式整流器D1整流、电解电容C7滤波、三端稳压器78L05稳压,得到整机要求的+5V稳定直流电源。
2. 单片机系统:U1为AT89C2051单片机。C1、R0、R1和复位按钮RESET组成手动电平复位和上电自动复位电路;C2、C3及晶振JT1组成时钟电路;C4、C5为+5V电源滤波电容。U2为CMOS六反相器CC4069,起驱动作用。VD1~VD6为红外发射管,其负极接P1口(输出状态):当P1口为"0"时,VD1~VD6发出红外光。VD7~VD12为红外接收管:接收到红外光时导通,+5V电源经VD7~VD12加到反相器CC4069的输入端,经反相为低电平,P3.0~P3.5为低电平。发射管和接收管分别安装在门和窗口的适当位置:当有人闯入遮挡红外线时,接收管截止,反相器输入端为低电平,U1的P3.0~P3.5变为高电平。当在一定时间内检测到位于不同位置的光束被遮挡时,则由P3.7口输出报警信号(高低电平间隔1s的脉冲信号),驱动声光报警电路进行报警,直至按复位按钮RESET或电源开关S1。由于红外收发管之间无遮挡时为正常、有遮挡时为异常,故当P1口输出00H时,P3口的正常状态数据为00H。
3. 声光报警电路:555定时器U4、扬声器BY、红色发光二极管VD13等组成声光报警电路。555接成低频多谐振荡器,其控制电压输入端5脚与AT89C2051的P3.7脚相连,受P3.7输出的高低电平间隔1s的脉冲信号控制:当P3.7为高电平时,控制电压Uco较高,阈值电压UT+(=Uco)和UT-(=1/2Uco)也较高,电容C9充、放电的电压幅度较大,振荡频率较低;当P3.7为低电平时UT+和UT-较低,C9充放电电压变化幅度较小、过程较快,振荡频率较高。即P3.7=1时555输出脉冲的振荡频率较低,P3.7=0时频率较高;该输出脉冲经隔直电容C8加到扬声器上,扬声器交替发出高、低不同的两种叫声。同时,P3.7输出的脉冲信号经电阻R8加到红色发光二极管VD13上,VD13闪烁发光,达到声光同时报警的效果。

二、软件设计
设计目标是:当检测到有人闯入时,由P3.7口输出高低电平间隔1s的脉冲信号驱动声光报警电路。这可通过使P3.7口每隔1s取反一次实现;1s时间可通过让定时器T0(工作于定时方式1)重复定时100ms十次实现,用工作寄存器R1作循环计数器,初值为10(0AH)。采用中断方式编程,整个软件由主程序和中断服务程序两部分构成。
主程序流程:开始→系统初始化→判断是否有人闯入→有人闯入则启动定时→等待时间到→转报警程序。中断服务程序流程:保护现场→重设定时初值→判断1s是否到→到则P3.7取反→恢复现场→中断返回。
主程序清单如下:
ORG 0000H
AJMP MAIN ;转向主程序
ORG 000BH ;定时器T0中断入口
LJMP BJ ;转向中断服务程序
ORG 0030H
MAIN: MOV SP,#50H ;设置堆栈栈底
MOV R1,#0AH ;设置循环计数器初值
MOV P3,#00H ;设置P3口为正常状态
MOV P1,#00H ;使VD1~VD6发红外光
MOV TMOD,#01H ;设T0为定时方式1
MOV TH0,#3CH ;设置定时100ms初值
MOV TL0,#0B0H
SETB EA ;CPU开中断
SETB ET0 ;定时器0允许中断
JS: MOV A,P3 ;监视是否有人闯入
CJNE A,#00H,LP
AJMP JS
LP: SETB TR0 ;启动T0定时100ms
SJMP $ ;等待定时100ms完成
中断服务程序清单如下:
ORG 0060H
BJ: PUSH Acc ;现场保护
PUSH PSW
MOV TH0,#3CH ;重设定时初值
MOV TL0,#0B0H
DJNZ R1,FH ;1s未到返回
MOV R1,#0AH ;重设循环计数器初值
CPL P3.7 ;P3.7口取反
FH: POP PSW ;恢复现场
POP Acc
RETI ;中断返回
END
三、系统调试
1. 软件调试:先在Keil C51环境中进行软件调试,再利用编程器将调试好的程序固化到AT89C2051单片机中。
2. 硬件调试:(1)检查线路应焊接无误;(2)电源电路调试——断开负载,用万用表测量78L05的3脚应有+5V电压;(3)先不装入AT89C2051单片机,用短路线把U1插座的12脚接地,调整VD1和VD7的安装位置和角度,测量U1插座的2脚电压——VD1和VD7之间无遮挡时2脚电压为0V,有遮挡时为+5V;用相同方法反复调整其他几对红外收发管的位置和角度,使U1插座的3、6、7、8、9各脚电压符合要求;(4)将固化好程序的AT89C2051插入电路中的U1插座上,接上电源即可工作。
