?? 簡單的被動式紅外線報警器 --應用實例-- 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 + -