新聞中心

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)控程序中對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://m.butianyuan.cn/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ī)上,而后通過與器說明書比對,以證實(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)閉