来源 : 电子制作 作者 : 吴政江
如有图片缺失等问题, 请点此告知,本站将尽快修正。 感谢您的参与!(图
片看不清楚请点击图片放大)
笔者在业余时间设计制作了一台红外线防盗报警器。 具有以下特点: 用当今 最流行的 AT89C2051单片机控制,体积小,成本低;用红外线收发管进行检测, 安装隐蔽,不易被发现;探测信号采用脉冲信号,节能且抗干扰;当有人试图闯 入室内时, 能自动进行声光报警。 现将该报警器原理介绍如下, 供广大单片机爱 好者参考。 一、硬件电路
电路原理图如图 1 所示。可将该电路分为以下三个部分。
1、电源电路。 220V交流市电经变压器 T 降压,桥式整流器 D1整流,电解 电容 C7 滤波,三端稳压器 78L05 稳压,最后得到整机要求的 +5V稳定直流电源。
2、单片机系统。 U1为 AT89C2051单片机。 C1,R0, R1和复位按钮 RESET 组成手动电平复位和上电自动复位电路; C2,C3以及晶振 JT1 组成时钟电路; C4,C5为+5V电源滤波电容。 U2为 CMOS反6 相器 CC4069,起驱动作用。 VD1~VD6 为红外发射管, 其负极端接与 P1口,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)也较高;当 P3.7 为低电平时 UT+和 UT- 也较低。当 UT+较高时,电 容 C9 充、放电的电压幅度较大,因而振荡频率较低。反之,当 UT+较低时,电容 C9充、放电过程中电压变化幅度较小,充、放电过程完成得较快,故振荡频率 较高。即当 P3.7=1 时, 555输出脉冲的振荡频率较低;当 P3.7=0 时, 555输出 脉冲的振荡频率高。该输出脉冲经过隔直电容 C8 加到扬声器上,扬声器将交替 发出高、低不同的两种叫声。同时, P3.7 脚输出的高低电平间隔 1S 的脉冲信号 经电阻 R8加到红色发光二极管 VD13上, VD13将闪烁发光。达到声光同时报警 的效果。 二、软件设计
我们的目标是,当检测到有人闯入时就由 P3.7 口输出高低电平间隔 1S 的脉 冲信号去驱动声光报警电路, 产生声光报警。 这可通过使 P3.7 口每隔 1S 取反一 次实现。而 1S 时间可通过让定时器 T0(工作于定时方式 1)重复定时 100ms十 次实现。用工作寄存器 R1作循环计数器,初值为 10(0AH)。采用中断方式编 程,整个软件由主程序和中断服务程序两部分构成。 YES NO NO YES
开始 系统初始化
有人闯入? 启动定时 时间到吗? 转报警程序
图 2 主程序流程图
等待时间到 1、主程序。 主要功能是对系统进行初始化和对系统进行监视。 看是否有人闯入。 其程序流程图如图 2 所示。
转向主程序
定时器 T0 中断入口 ;转向中断服务程序
ORG 0000H AJMP MAIN ORG 000BH 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 SJMP $ 1S到吗?
P3.7 取反 中断返回 保护现场
启动 T0 定时 100ms
;等待定时 100ms完
重设定时初值
图 3 中断服务程序流程图 恢复现场 YES NO
2、中断服务程序。主要功能是判断定时 1S 是否完成,从而决定是否对 P3.7 口 取反。其程序流程图如图 3 所示。
的程序固化到 AT89C2051单片机中。
2、硬件调试
程序清单如下:
ORG 0060H
BJ:PUSH Acc 现场保护 PUSH PSW MOV TH0,#3CH ;重设定时初值 MOV TL0,#0B0H ;1S未到返回 DJNZ R1, FH
;重设计数器初值 MOV R1,#0AH CPL P3.7 ;P3.7 口取
FH: POP PSW 反
POP Acc
;中断返回 RETI
END
三、系统调试 1、软件调试。先
环境中进行软件调试,再利用编程器将调试好 在 Keilc51 (1)检查线路应焊接无误。 (2)电源电路调试。 断开负载,用万用表测量 78L05 的 3 脚应有 +5V电压。( 3)先不装入 AT89C2051单片机,用短路线把 U1 插座的 12脚接地,调整 VD1和VD7的安装位置和角度,测量 U1插座的 2脚电压。当VD1 和 VD7之间无遮挡时 2 脚电压为 0 伏,有遮挡时为
+5 伏。用相同方法反复调整 其他几对红外收发管的位置和角度。使 U1插座的 3、6、7、8、9 各脚的电压符 合要求。( 4)将固化好程序的 AT89C2051插入电路中的 U1插座上,接上电源即 可工作。
因篇幅问题不能全部显示,请点此查看更多更全内容