Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5202
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-06 15:08
文章分类
文章存档

2013年(5)

我的朋友
最近访客

分类: 其他平台

2013-08-06 15:09:14

这种用单片机制作的能识别运动方向的能按规定的方向通行时即发出报警信号。  

电路工作原理    

我们可以用两对和作为对射探头来解决单向报警的问题,红外线发射二极管称发射端,红外线接收二极管称接收端,将两对探头按如下图所示的位置安装。

以旅游景点的出口为例,如果A方向是出去的方向,则当游客以A方向通过过道时,他首先挡住红外线光束2,然后才挡住红外线 光束1,经报警电路判断后报警器不报警,如果游客试图  

从出口处进入旅游景点,即以B方向通过过道,则他首先挡住红外线光束1,然后才挡住红外线光束 2,经报警电路判断后报警器发出报警信号。

单片机红外线报警器的电路见下图电,路由单片机电路、红外线发射电路、红外线接收电路和报警电路等部分组成。    

R2C1组成单片机的开机复位电路,接通电源的瞬间,由于R2C1的充电过程,单片机AT89C2051的复位端1脚获得一个高电平复位脉冲,使得单片机进入程序所设定的初始状态。S1为手动复位按钮。石英晶体X1、电容C2C3和单片机AT89C2051片内的反相放大器组成时钟信号振荡器。    

三极管VT1、电阻RllR13、红外线发射二极管VD3VD4等组成红外线发射电路,由单片机AT89C2051的引脚P1O输出的5kHz的 脉冲信号推动VT1,使VD3VD4发出两路红外线脉冲信号。VD1VD2分别为两路红外线接收电路对应的红外线接收二极管,VD3VD1VD4 ,;VD2分别组成两对探头,下面以其中的第一路为例说明其工作过程:VD1收到由VD3发出的红外线后,把红外线信号转换成脉冲电信号,由反相器F1、电阻R4、电容C4等组成的放大器放大,再通过由反相器F2F3、电阻R5R6组成的施密特触发器整形后输出给AT89C2051的引脚P3.4进行处理,如果红外光束被挡住后,则引脚P3.4没有脉冲信号输入。

另一路的情况完全相同。    

三极管VT2、电阻R12、讯响器SPK1组成报警电路,在AT89C2051电路作出报警的判断后,其引脚Pl.l输出频率为2kHz的脉冲信号经VT2推动SPK1发出响0.5秒、停0.5秒、持续时间1分钟的报警信号。如果要提早停止报警,只要按一下复位开关即可。在结束报警后电路恢复到正常工作状态。
汇编程序介绍    

程序采用汇编语言编写,程序流程图见下图。    

程序由脉冲信号发送与检测、逻辑判断、 报警等模块组成。程序初始化时将定时器TOT1设置为工作方式1,作计数器用。P1.0为脉冲信号输出端.P3.4P3.5为计数器的输入端。在 2ms的时间内Pl.0发出10个脉冲信号,如果两路红外线均没有被挡住的话,则P3.4P3.5两端均输入10个脉冲,TOT1两个计数器的计数值 均为10,如果有那一路被挡住了,则对应的计数器的计数值为0或者小于10。    
接下来程序对TOT1的计数值进行判断,从而得出 两路红外线被挡住的情况,由于要检测两路红外线被挡住的次序,因此程序要不断返回到初始状态进行循环检测。如果经过若干轮的检测后发现先挡住红外线光束 1.然后才挡住红外线光束2.则程序转向报警部分。对于其它情况,程序则回到初始状态进行下一轮的检测。单片机寄存器R1的值作两路红外线被挡住的次序的标志值,当红外线光束2被先挡住时R1被置1,当红外线光束2没有被先挡住时R1被置O。在程序的报警部分,TO被设置成0.25ms的定时器,控制P1.1端输出2kHz的脉冲信号,脉冲信号输出0.5秒、停止0.5秒,循环60次后程序又返回到初始状态,报警时间为1分钟。

安装和调试
印刷电路板见下图.大小为76×37。    

IC1CMOS非门集成电路CD4069IC2ATM公司的AT89C2051单片机集成电路;X112MHz的石英晶体。    

SPK1用阻抗为16Ω的无源电磁式蜂鸣器,如HC-12085,由于P1.1端输出音频脉冲振荡信号,因此不要选择那种内部带音频振荡电路的有源电磁式蜂鸣器。VD1VD2用红外线接收二极管PH302VD3VD4用红外线发射二极管PH303。    

在安装探头时红外线接收二极管VD1VD2到电路板的连线使用双芯屏蔽线,屏蔽层在电路板的一端单端接地,以避免传输线上的电磁干扰。为了使红外线接 收二极管主要只能接收到和它对应的红外线发射二极管发出的红外线,以保证电路作出正确的判断,红外线接收二极管要装在黑色的塑料管里,离管口的距离为 2crn.放置时朝向对应的红外线发射二极管,应注意红外线接收二极管的接收面要和红外线方向垂直。红外线发射二极管和红外线接收二极管之间的距离即通道 的宽度以不超过2m为宜,当距离超过这一范围时要适当提高红外线的接收灵敏度。两对探头按水平方向排列,它们之间的距离为15cm,离地面的距离为Im, 这时人经过时是上半身挡住光线,因为人的前后身的距离一般大于15cm,这样就能保证在挡住第二束红外线后第一束红外线仍被挡住,即有两束红外线有被同时 挡住的时刻。    

这一方面是程序设计的要求,另一方面也是为了防止飞乌等小动物引起的误报警。    

安装前用编程器将由汇编程序编译成的HEX文件用编程器写入AT89C2051芯片。安装完成后的调试工作主要是探头的调整,下面以其中的第一路为例进行说明:在红外线没有被挡住的情况下用示波器观察非门F3的输出脉冲,正常时为周期200us的方波脉冲信号,如果在红外线发射二极管距离较近时能看到脉冲信号,而拉开到实际使用距离时看不到稳定的脉冲信号,可适当减小R5的阻值,通过减小回差电压来提高接收灵敏度。需要说明的是在满足接收灵敏度的前提下,应尽量提高施密特触发器的回差电压来增加电路的抗干扰能力。

阅读(787) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:感应洁具将成为未来洁具的主要形式

给主人留下些什么吧!~~