• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機的被動式紅外線報警器實驗

    基于AVR單片機的被動式紅外線報警器實驗

    作者: 時間:2012-11-09 來源:網絡 收藏

    發射、接收、蜂鳴器和LED指示燈組成。正常情況下,綠色的LED常爍,表示監控區域正常。一旦監控區域有人闖入,綠色LED熄滅,紅色的LED快速閃爍,同時蜂鳴器立即報警。

    本文引用地址:http://www.czjhyjcfj.com/article/170699.htm

    器材

    需要準備的器材:Atmega8、紅色LED一只、綠色LED一只、萬能板一塊、5V電源、電阻、TTL0038或者其他類似38KHZ的紅外接收頭、5V長鳴型蜂鳴器。

    11.jpg

    線路圖:

    22.jpg

    電路圖及工作原理

    該電路工作原理非常簡單,Atmega8的PD0端口輸出經過調制的38KHZ的方波信號,然后經Q2驅動發射管LED0發出信號。TL0038是集紅外線信號接收放大為一體的接收器。其中心接收頻率為38KZH,輸出為TTL電平,平時輸出高電平,當收到碼信號后,輸出低電平。

    BELL為長鳴蜂鳴器,兩個引腳分別為正負極,當正負極兩端加上5V電壓后,蜂鳴器發出響聲。注意,該蜂鳴器兩腳不能接反,否則蜂鳴器會燒毀。

    電路工作后,正常情況下TL0038接收不到紅外信號,而輸出高電平。當有物體出現在發射管前方時,TTL0038會接收到從物體上反射回來的紅外光信號,然后輸出低電平通知MCU打開蜂鳴器報警。

    程序設計思路

    本實驗的程序主要要完成三大功能:38KHZ載波信號的產生、紅外接收頭TL0038輸出電平的檢測、LED和蜂鳴器的驅動。

    本程序使用8位定時計數器T/C0溢出中斷使PD0產生38KHZ的方波信號,然后驅動紅外線發射管。T/C0計數器是單一向上計數器,其計數值TCNT0一旦計數到0XFF后,T/C0馬上產生溢出中斷。因此,我們可以通過設置TCNT0的初始值來調整中斷產生的頻率。每產生一次中斷就改變一次PD0的電平狀態,從而在PD0口產生38KHZ的方波信號。

    本實驗MCU采用內部8MHZ的RC時鐘信號,T/C0的時鐘源采用系統時鐘8分頻,即每計一個數(TCNT0增加1)需要1us的時間。38KZH的時鐘周期大約為26us左右,因此,半周期需要計數13次左右,即TCNT0初始值為256-13=243。另外,我們還需要在38KHZ的載波信號上調制上一個碼信號,也就是說38KHZ的載波信號不是一直在產生,而是間斷的發射。如下圖所示:

    33.jpg

    同時,程序通過不斷地讀取PC5腳的電平值來判斷TL0038是否接收到紅外信號。一旦連續檢測到N次PC5為低電平,則立即打開蜂鳴器和紅色的LED。之所以要連續檢測N次,主要是防止TL0038上產生雜波信號而誤告警。

    蜂鳴器相關文章:蜂鳴器原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 祥云县| 云浮市| 清徐县| 蕉岭县| 禹城市| 环江| 丁青县| 大城县| 自贡市| 申扎县| 屏东市| 鸡东县| 斗六市| 和硕县| 甘泉县| 宣汉县| 安阳县| 开封市| 江阴市| 会昌县| 怀仁县| 邵东县| 依安县| 交口县| 宣恩县| 简阳市| 双城市| 吴桥县| 专栏| 海口市| 德清县| 华阴市| 常德市| 玛纳斯县| 十堰市| 长海县| 邻水| 天门市| 古交市| 秭归县| 全南县|