紅外遙控器軟件解碼_第1頁
紅外遙控器軟件解碼_第2頁
紅外遙控器軟件解碼_第3頁
紅外遙控器軟件解碼_第4頁
紅外遙控器軟件解碼_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

紅外遙控器軟件解碼

在單片機控制產(chǎn)品的開發(fā)應(yīng)用中,為了向控制系統(tǒng)軟件控制命令,鍵盤往往是不可缺少的。傳統(tǒng)方法是利用并行輸入/輸出接口芯片擴展一個鍵盤接口,或者直接利用單片機的并行端口進行擴展。在某些應(yīng)用環(huán)境下,這種方式2個弊端:①鍵盤和控制系統(tǒng)連在一起,不靈活,環(huán)境適應(yīng)性差;②浪費單片機的端口,且硬件成本較高。

使用紅外遙控器作為控制系統(tǒng)的輸入設(shè)備,具有成本低、靈活方便的特點。本文目的就在于介紹軟件解碼研究的一般方法和紅外遙控器進行二次開發(fā)的應(yīng)用技術(shù)。該方法已在多個應(yīng)用系統(tǒng)設(shè)計中成功地實現(xiàn),效果良好。

紅外遙控器是一種非常容易買到,且價格便宜的產(chǎn)品,種類很多,但它們都是配合某種特定電子產(chǎn)品的,由專用CPU解碼,作為一般的單片機控制系統(tǒng)能直接使用。使用現(xiàn)成遙控器作為控制系統(tǒng)的輸入,需要解決如下幾個問題:如何接收紅外遙控信號;如何識別紅外遙控信號;解碼軟件的設(shè)計。其它的問題都是非本質(zhì)的,例如遙控器面板功能鍵標注的問題,可自行設(shè)計、重印即可。

1紅外遙控信號的接收

接收電路可以使用集成紅外接收器成品。接收器包括紅外接收管和信號處理IC。接收器對外只有3個引腳:Vcc、GND和1個脈沖信號輸出PO。與單片機接口非常方便,如圖1所示。

①Vcc接系統(tǒng)的電源正極;

②GND接系統(tǒng)的地線;

③脈沖信號輸出接CPU的中斷輸入引腳。采取這種連接方法,軟件解既可工作于查詢方式,也可工作于中斷方式。

2脈沖流分析

要了解一個未知的遙控器,首先要分析其脈沖流,從而了解其脈沖波形特征,進而了解其編碼規(guī)律。脈沖流的分析應(yīng)從分析脈沖的高、低電平寬度入手。筆者用軟件的方法實現(xiàn)了對脈沖流的分析。以圖1所示的接口為例,如果沒有紅外遙控信號到來,接收器的輸出端口PO保持高電平;當接收到紅外遙控信號時,接收器件信號轉(zhuǎn)換成脈沖序列加到CPU的中斷輸入引腳。用軟件測試引腳的邏輯電平,同時啟動TC計時器,測量該引腳分別為邏輯“0”和邏輯“1”情況下的時間值,存儲起來,然后打印、分析。

這段程序首先將TC0設(shè)置成16位定時器方式,初始化RAM地址指針R0和循環(huán)計數(shù)指針R1,每當引腳的邏輯電平發(fā)生跳變時,停止計時,將計時值保存到連續(xù)的RAM中。這段程序可以連續(xù)測量40個脈沖的時間值。筆者以TC9012芯片的遙控器為對象,采集了所有按鍵的編程脈沖波形,并且對同一按鍵進行了重復(fù)實驗。限于篇幅,采樣數(shù)據(jù)不能給出,僅給出脈沖流的規(guī)律:

①引導(dǎo)脈沖是一個時間值為0937H~0957H的低電平和時間值為084FH~086FH的高電平;

②數(shù)據(jù)脈沖的低電平時間值約為~0177H;

③高電平時間值有2種情況:00BBH~00FFH、02EFH~0333H。

由大量數(shù)據(jù)總結(jié)分析,按鍵編碼有如下規(guī)律:

①除引導(dǎo)脈沖外的脈沖是數(shù)據(jù)編碼脈沖,數(shù)據(jù)“位”信息由高電平脈寬決定:窄脈寬表示“0”、寬脈寬表示“1”;

②每個按鍵的脈沖流譯碼后,包含4個字節(jié)的信息:

*所有按鍵的前2個字節(jié)編碼都一樣,都是2個字節(jié)的“0EH”;

*第3字節(jié)是鍵碼;

*第4字節(jié)是鍵碼的反碼。

經(jīng)過對相同按鍵脈沖進行多次采樣發(fā)現(xiàn),相同按鍵脈沖序列的對應(yīng)位置脈寬時間值是在一個小范圍內(nèi)波動的,因此,對模式的識別不能采取精確比較法。對此,本人采取模糊的辦法進行了抽象處理。根據(jù)上述實驗規(guī)律,將軟件譯碼時對脈沖的分析判斷依據(jù)及算法設(shè)計思想總結(jié)如下:

①引導(dǎo)脈沖的低電平和高電平寬度的判斷依據(jù)是時間值的“高字節(jié)大于08H”,低字節(jié)忽略;

②數(shù)據(jù)脈沖流的低電平脈寬相同,忽略不判斷;

③高電平脈寬是判斷數(shù)據(jù)流每位是“0”還是“1”的依據(jù)。本人抽取的判斷是脈寬的高字節(jié)若小于2表示“0”,否則表示“1”,脈寬的低字節(jié)忽略。

實踐證明,上述判據(jù)是有效

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論