📄 简单的被动式红外线报警器 --应用实例-- ouravr_com.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0046)http://www.ouravr.com/app_simple_ir_alert.html -->
<HTML><HEAD><TITLE>简单的被动式红外线报警器 --应用实例-- OurAVR.com</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/bbs.css" type=text/css
rel=stylesheet>
<SCRIPT language=JavaScript
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/logo_bar.js"></SCRIPT>
<SCRIPT language=JavaScript
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/application_location_bar.js"></SCRIPT>
<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD width=1 bgColor=#0099ff></TD><!-- 左边的蓝线-->
<TD width=10 bgColor=#ebebeb></TD><!-- 左边的留空位-->
<TD class=font_black_9pt vAlign=top align=middle bgColor=#ebebeb><!-- 正文内容-->
<P><IMG height=10 src="" width=0></P><!-- 正文上边留空-->
<P class=font_blue_14pt><STRONG>简单的被动式红外线报警器</STRONG></P>
<P class=font_8888_9pt align=center>作者:527dz(www.527dz.com) / 2004-09-01 /
www.OurAVR.com </P>
<P align=left>
本实验将制做一个简单的被动式红外线防盗报警器。该报警器由红外线发射、接收、蜂鸣器和LED指示灯组成。正常情况下,绿色的LED常烁,表示监控区域正常。一旦监控区域有人闯入,绿色LED熄灭,红色的LED快速闪烁,同时蜂鸣器立即报警。</P>
<P align=left><BR>实验器材<BR></P>
<P
align=left>需要准备的器材:Atmega8、红色LED一只、绿色LED一只、万能实验板一块、5V电源、电阻、TTL0038或者其他类似38KHZ的红外接收头、5V长鸣型蜂鸣器。<BR></P>
<P align=center><IMG src="" border=0></P>
<P align=left>线路图:</P>
<P class=font_black_9pt align=center><IMG
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/app_simple_ir_alert_sch_1.jpg"></P>
<P align=left>实验电路图及工作原理</P>
<BLOCKQUOTE>
<P
align=left>该电路工作原理非常简单,Atmega8的PD0端口输出经过调制的38KHZ的方波信号,然后经Q2驱动红外线发射管LED0发出红外线信号。TL0038是集红外线信号接收放大为一体的接收器。其中心接收频率为38KZH,输出为TTL电平,平时输出高电平,当收到码信号后,输出低电平。</P>
<P
align=left>BELL为长鸣蜂鸣器,两个引脚分别为正负极,当正负极两端加上5V电压后,蜂鸣器发出响声。注意,该蜂鸣器两脚不能接反,否则蜂鸣器会烧毁。</P>
<P
align=left>电路工作后,正常情况下TL0038接收不到红外信号,而输出高电平。当有物体出现在发射管前方时,TTL0038会接收到从物体上反射回来的红外光信号,然后输出低电平通知MCU打开蜂鸣器报警。<BR></P></BLOCKQUOTE>
<P align=left>程序思想</P>
<BLOCKQUOTE>
<P
align=left>本实验的程序主要要完成三大功能:38KHZ载波信号的产生、红外接收头TL0038输出电平的检测、LED和蜂鸣器的驱动。<BR>本程序使用8位定时计数器T/C0溢出中断使PD0产生38KHZ的方波信号,然后驱动红外线发射管。T/C0计数器是单一向上计数器,其计数值TCNT0一旦计数到0XFF后,T/C0马上产生溢出中断。因此,我们可以通过设置TCNT0的初始值来调整中断产生的频率。每产生一次中断就改变一次PD0的电平状态,从而在PD0口产生38KHZ的方波信号。</P>
<P
align=left>本实验MCU采用内部8MHZ的RC时钟信号,T/C0的时钟源采用系统时钟8分频,即每计一个数(TCNT0增加1)需要1us的时间。38KZH的时钟周期大约为26us左右,因此,半周期需要计数13次左右,即TCNT0初始值为256-13=243。另外,我们还需要在38KHZ的载波信号上调制上一个码信号,也就是说38KHZ的载波信号不是一直在产生,而是间断的发射。如下图所示:</P>
<P align=left><IMG
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/app_simple_ir_alert_pic_1.jpg"
border=0> 同时,程序通过不断地读取</P>
<P
align=left>PC5脚的电平值来判断TL0038是否接收到红外信号。一旦连续检测到N次PC5为低电平,则立即打开蜂鸣器和红色的LED。之所以要连续检测N次,主要是防止TL0038上产生杂波信号而误告警。<BR></P></BLOCKQUOTE>
<P align=left>C源代码下载:<A class=link_blue_no_line
href="http://www.ouravr.com/attachment/app_simple_ir_alert_c_code.c.txt">点击此处下载</A></P>
<P><IMG height=20 src="" width=0></P><!-- 正文下边留空--></TD><!-- 正文内容结束-->
<TD width=10 bgColor=#ebebeb></TD><!-- 右边的留空位-->
<TD width=1 bgColor=#0099ff></TD><!-- 右边的蓝线--></TR></TBODY></TABLE>
<SCRIPT language=JavaScript
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/application_location_bar.js"></SCRIPT>
<P>
<SCRIPT language=JavaScript
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/friendly_link.js"></SCRIPT>
<SCRIPT language=JavaScript
src="简单的被动式红外线报警器 --应用实例-- OurAVR_com.files/homepage_buttom_bar.js"></SCRIPT>
<BR><BR></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -