關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 一種智能紅外遙控開關的原理及設計

        一種智能紅外遙控開關的原理及設計

        作者: 時間:2010-10-18 來源:網絡 收藏

          

          紅外解碼電路中的微控制器選用ATmega8L的AVR單片機。它的工作電壓為2.7~5.5 V,4 MHz(3 V,25℃)時功耗,工作模式為3.6mA,空閑模式為1.0 mA,掉電模式僅為0.5μA,采用先進的RISC結構,除了擁有8 KB的系統內可編程FLASH存儲器,還有512 B的E2PROM,可用于記憶各類遙控器發射出的各種紅外編碼信號。

          紅外接收電路使用集成紅外接收器成品,同時實現紅外接收、放大、整形的功能,一般不需要任何外接元件就能完成從紅外接收到輸出TTL電平兼容信號的所有工作。接收器對外只有3個引腳:電源Vcc,公共地GND和1個脈沖信號輸出OUT。由圖3可以看出,其與單片機接口非常方便。

          當按下“記憶”按鍵S1時,紅外接收頭SPH開始記錄遙控器發出的信號,同時將接收到的信號保存在單片機ATmega8L的E2PROM中。以后當遙控器發出同樣的紅外脈沖信號時,通過紅外接收頭接收并與E2PROM中的數據進行對比,如果一致,就發出控制信號控制開關的通斷。

        3 程序設計

          紅外遙控接收頭解調出的編碼是串行二進制碼,包含著遙控器按鍵信息。但它還不便于CPU讀取識別,因此需要先對這些串行二進制碼進行解碼。本設計采用的是軟件解碼方式對接收到的紅外信號進行解碼。

          3.1 紅外遙控器發射編碼簡介

          目前應用中的各種紅外遙控系統的都大同小異,區別只是在于各系統的信號編碼格式不同。遙控器所產生的脈沖編碼的格式一般為:


          其中,引導脈沖為寬度是10 ms左右的一個高脈沖和一個低脈沖的組合,用來標識指令碼的開始。識別碼、鍵碼、鍵碼的反碼均為數據編碼脈沖,用二進制數表示?!癘”和“1”均由毫秒量級的高低脈沖的組合代表識別碼(即用戶碼)是對每個遙控系統的標識。當指令鍵按下時,指令信號產生電路便產生脈沖編碼。鍵碼后面一般還要有鍵碼的校驗碼,用來檢驗鍵碼接收的正確性,防止誤動作,增強系統的可靠性。

          3.2存儲編碼程序設計

          當按下“記憶”按鍵S1時,單片機進入存儲記憶紅外遙控編碼的狀態。ATmega8L單片機首先關閉中斷,等待遙控器發出的紅外遙控編碼輸入。當紅外遙控編碼輸入后,單片機將其保存至E2PROM中。這樣,即使斷電之后,單片機存儲在E2PROM中的信息也不會丟失,可以保證斷電后的正常使用。存儲紅外信號的編碼程序流程圖如圖4所示。

          3.3 軟件解碼程序設計

          軟件解碼則由ATmega8L單片機的外部中斷、定時器以及軟件構成一個紅外遙控接收系統。定時器用于延時測量兩個脈沖串之間的間隔。外部中斷用于當接收到紅外脈沖信號時觸發定時器進行數據接收。當紅外接收管接收到紅外脈沖時,程序首先出發外部中斷,由外部中斷啟動定時器,每個一段時間間隔就采樣一次,并將采樣到的紅外脈沖編碼保存到RAM變量中,然后與存儲編碼程序中所保存的編碼進行比較,當兩者相同時則認為是按下了開關按鍵,進行相應的開關操作,否則程序不執行開關操作。軟件解碼程序的流程圖如圖5所示。

        4 結語

          目前的家用電器,如電視機、VCD、DVD和功放機等一般都配備了遙控器及化控制技術,給人們的使用帶來了極大的方便。隨之而來的小家電如電燈的控制也在向自動化、化操作方面發展,這樣才能滿足人們的生活需求。充分利用了現在家用電器繁多的遙控器,實現了遙控器的功能復用,而且在軟件解碼紅外遙控系統中,解碼的核心是CPU,電路極為簡單無須外圍器件,體積小,抗干擾能力強。經過實驗多次測試,該開關可以替換原墻壁開關,不用再增加連線,為安裝和使用提供了方便。把原機械式墻壁換成該遙控開關不僅實用,也很安全經濟。



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泗阳县| 黑河市| 潜江市| 会昌县| 张家口市| 五大连池市| 上犹县| 饶河县| 河北区| 安达市| 溧阳市| 巴彦县| 常山县| 谷城县| 宜章县| 连南| 德江县| 永善县| 当阳市| 冕宁县| 安丘市| 肇源县| 湾仔区| 罗山县| 都兰县| 聂荣县| 达尔| 海口市| 康平县| 环江| 南京市| 互助| 淄博市| 抚远县| 海丰县| 大安市| 鹤壁市| 马关县| 凤冈县| 和硕县| 南投市|