DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 858|回复: 0
打印 上一主题 下一主题

[无线] 单片机控制的红外线防盗报警器

[复制链接]
跳转到指定楼层
楼主
发表于 2011-6-2 20:52:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机控制红外线防盗报警器
一、硬件电路
电路原理图如图1所示。可将该电路分为以下三个部分。



用当今最流行的AT89C2051单片机控制,体积小,成本低;用红外线收发管进行检测,安装隐蔽,不易被发现;探测信号采用脉冲信号,节能且抗干扰;当有人试图闯入室内时,能自动进行声光报警。现将该报警器原理介绍如下,供广大单片机爱好者参考。
1、单片机系统。U1为AT89C2051单片机。C1,R0,R1和复位按钮RESET组成手动电平复位和上电自动复位电路;C2,C3以及晶振JT1组成时钟电路;C4,C5为+5V电源滤波电容。U2为CMOS6反相器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。

2、电源电路。220V交流市电经变压器T降压,桥式整流器D1整流,电解电容C7滤波,三端稳压器78L05稳压,最后得到整机要求的+5V稳定直流电源。
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所示。



程序清单如下:
  ORG0000H
  AJMPMAIN ;转向主程序  
  ORG000BH ;定时器T0中断入口
  LJMPBJ   ;转向中断服务程序
  ORG0030H
MAIN:MOVSP,#50H;设置堆栈栈底
  MOVR1,#0AH;设置循环计数器初值
  MOVP3,#00H;设置P3口为正常状态
  MOVP1,#00H;使VD1"VD6发红外光
MOVTMOD,#01H;设T0为定时方式1
  MOVTH0,#3CH ;设置定时100ms初值
  MOVTL0,#0B0H
  SETBEA  ;CPU开中断
  SETBET0   ;定时器0允许中断
JS:MOVA,P3  ;监视是否有人闯入
  CJNEA,#00H,LP
  AJMPJS
LP:SETBtr0   ;启动T0定时100ms
  SJMP$   ;等待定时100ms完成

1S到吗?




P3.7取反




中断返回




保护现场


图3中断服务程序流程图




重设定时初值


恢复现场


YES


NO


2、中断服务程序。主要功能是判断定时1S是否完成,从而决定是否对P3.7口取反。其程序流程图如图3所示。
  


程序清单如下:
  ORG0060H
BJ:PUSHAcc   ;现场保护
  PUSHPSW
  MOVTH0,#3CH;重设定时初值
  MOVTL0,#0B0H
  DJNZR1,FH  ;1S未到返回
  MOVR1,#0AH ;重设计数器初值
  CPLP3.7   ;P3.7口取反
FH:POPPSW  ;恢复现场
  POPAcc
  RETI    ;中断返回
  END
三、系统调试
1、硬件调试(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插座上,接上电源即可工作。
2、软件调试。先在Keilc51环境中进行软件调试,再利用编程器将调试好的程序固化到AT89C2051单片机中。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-18 02:58 , 耗时 0.081182 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表