新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于單片機(jī)的紅外遙控信號(hào)解碼新方法

        一種基于單片機(jī)的紅外遙控信號(hào)解碼新方法

        作者: 時(shí)間:2012-08-21 來源:網(wǎng)絡(luò) 收藏

        h.JPG
        2.2.3 主監(jiān)控程序中對(duì)IRKeyReady標(biāo)志的處理
        在主監(jiān)控程序中,不斷查詢IRKeyReady標(biāo)志。如果標(biāo)志置位,則在主程序巾進(jìn)入鍵值處理,判斷鍵值的類型,以便實(shí)現(xiàn)器按鍵的功能。代碼如下:
        l.jpg
        2.3 42位編碼
        硬件使用57L5彩電器,其內(nèi)部發(fā)射專用集成電路為TC7461,采用42位的編碼結(jié)構(gòu),包含13位用戶碼、13位用戶反碼、8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼。42位編碼結(jié)構(gòu)如圖6所示。引導(dǎo)碼由9 ms的載波和4.5 ms的載波關(guān)斷波形所構(gòu)成,作為用戶碼、數(shù)據(jù)碼以及它們的反碼的先導(dǎo)。信息位0與1的定義與上述NEC32位格式相同。但是長按鍵時(shí),其重復(fù)碼的前13.5 ms與引導(dǎo)碼是一樣的,在編程中要特別處理,其重復(fù)碼波形如圖7所示。

        本文引用地址:http://www.104case.com/article/171007.htm

        i.JPG

        i.JPG


        初始化階段與32位的基本類似,但由于重復(fù)碼的波形和起始碼相同,為了區(qū)分清楚,這里引用了狀態(tài)機(jī)的,添加了狀態(tài)寄存器IR57 L5Satus和計(jì)數(shù)寄存器IRSysCodeCnt,初始化時(shí)都先清零。以數(shù)值0、1、2來表示3種不同的狀態(tài)。每種狀態(tài)具體的功能如下:
        ◆為0時(shí)進(jìn)入引導(dǎo)碼或重復(fù)碼,然后賦值IR57L5Satus為1。
        ◆為1時(shí)進(jìn)入26個(gè)系統(tǒng)位階段,為了簡單起見,在這里跳過它們,并未存儲(chǔ)。賦值IR57L5Satus為2。同時(shí)在這個(gè)狀態(tài),初始化2個(gè)數(shù)據(jù)存儲(chǔ)寄存器IRCode和IRCode+1。
        ◆為2時(shí)收數(shù)據(jù)碼,16位收到后,賦值IR57L5Satus為0。
        限于篇幅,這里不列出具體代碼,其中斷子程序軟件流程如圖8所示。

        k.JPG



        3 調(diào)試
        在測試程序的過程中需要示波器與串口調(diào)試助手軟件。示波器用于檢測發(fā)射波形是否符合規(guī)范。而通過編寫串口程序,并借助于串口調(diào)試助手軟件,可以將數(shù)據(jù)接收單元的信息發(fā)送到PC機(jī)上,而后通過與器說明書比對(duì),以證實(shí)數(shù)據(jù)碼的準(zhǔn)確性。這種紅外在本人制作的硬件時(shí)鐘和多溫區(qū)控制系統(tǒng)等項(xiàng)目中都有應(yīng)用,數(shù)據(jù)接收準(zhǔn)確、使用效果良好。


        上一頁 1 2 3 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 尚志市| 平阳县| 金昌市| 化德县| 云南省| 方山县| 喀喇| 祁连县| 永新县| 射阳县| 揭东县| 香港 | 彭山县| 蕉岭县| 乌什县| 鄂尔多斯市| 卫辉市| 正宁县| 舒兰市| 兰西县| 偃师市| 丹江口市| 全州县| 蒙山县| 南昌县| 铜山县| 涿州市| 教育| 泸定县| 平顶山市| 扶余县| 壤塘县| 仙居县| 陵水| 揭阳市| 景洪市| 武宁县| 自贡市| 黎城县| 即墨市| 个旧市|