紅外遙控技術(shù)
紅外遙控系統的組成
紅外遙控系統主要由遙控發(fā)射器、一體化接收頭、單片機、接口電路組成,如圖一所示。遙控器用來(lái)產(chǎn)生遙控編碼脈沖,驅動(dòng)紅外發(fā)射管輸出紅外遙控信號,遙控接收頭完成對遙控信號的放大、檢波、整形、解調出遙控編碼脈沖。遙控編碼脈沖是一組串行二進(jìn)制碼,對于一般的紅外遙控系統,此串行碼輸入到微控制器,由其內部CPU完成對遙控指令解碼,并執行相應的遙控功能。使用遙控器作為控制系統的輸入,需要解決如下幾個(gè)關(guān)鍵問(wèn)題:如何接收紅外遙控信號;如何識別紅外遙控信號以及解碼軟件的設計、控制程序的設計。
紅外遙控信號的接收
接收電路使用集成一體化紅外接收頭SM0038(1 )。
圖一紅外遙控系統組成方框圖
SM0038對外只有3個(gè)引腳:VS、GND和1個(gè)脈沖信號輸出引腳OUT,外形引腳如圖二所示。與單片機接口非常方便,如圖三所示。VCC接電源+5V并經(jīng)電容進(jìn)行濾波,以避免電源干擾; GND接系統的地線(xiàn)(0V);脈沖信號輸出接CPU的中斷輸入引腳(例如8051的13腳INT1)。采取這種連接方法,軟件解碼既可工作于查詢(xún)方式,也可工作于中斷方式。
圖二紅外接收頭SM0038 圖三SM0038與單片機接口電路
紅外遙控編碼規律
目前應用中的各種紅外遙控系統的原理都大同小異,區別只是在于各系統的信號編碼格式不同。遙控專(zhuān)用集成電路的編碼格式是公開(kāi)的,可以查閱到。下面就以TC9012組成的遙控器說(shuō)明它的編碼體制規律。當按下遙控器上任一按鍵時(shí),TC9012即產(chǎn)生一串脈沖編碼如圖四所示。TC9012形成的遙控編碼脈沖對40kHz載波進(jìn)行脈沖幅度調制后便形成遙控信號,經(jīng)驅動(dòng)電路由紅外發(fā)射管發(fā)射出去。編碼體制規律如下:
(1)一次按鍵動(dòng)作的遙控編碼信息包含一引導脈沖和32 位串行二進(jìn)制碼。前16 位碼為用戶(hù)碼,不隨按鍵的不同而變化。它是為了表示特定用戶(hù)而設置的一個(gè)辨識標志,以區別不同機種和不同用戶(hù)發(fā)射的遙控信號,防止誤操作。后16位碼隨著(zhù)按鍵的不同而改變,是按鍵的識別碼。前8位為鍵碼的正碼,后8位為鍵碼的反碼。
(2)遙控信號不是用高電平或低電平來(lái)表示“1”或“0”的,而是通過(guò)脈寬來(lái)表示的,對于二進(jìn)制信號“0”,一個(gè)脈沖占1.2ms;對于二進(jìn)制信號“1”,一個(gè)脈沖占2.4ms,而每一脈沖內低電平均為0.6ms。
圖四一幀碼的數據結構圖
按鍵識別程序的設計
要使用一個(gè)遙控器進(jìn)行遙控系統的設計,必需首先了解不同的按鍵編碼脈沖是怎樣和遙控器上不同的按鍵一一對應的。筆者用軟件的方法實(shí)現對脈沖流的分析,使用如圖三所示的接口電路接收信號。如果沒(méi)有紅外遙控信號到來(lái),接收器的輸出端口OUT 保持高電平;當接收到紅外遙控信號時(shí),接收頭將信號解調下來(lái)并轉換成脈沖序列加到CPU的中斷輸入引腳。用軟件測試引腳的邏輯電平,同時(shí)啟動(dòng)T計時(shí)器,測量該引腳分別為邏輯“0”和邏輯“1”情況下的時(shí)間值,存儲起來(lái),然后分析。其規律如下(仿真機CPU晶振為6MHz):
①引導脈沖是一個(gè)時(shí)間值為1137H~1157H的低電平和時(shí)間值為084FH~086FH的高電平;
②數據脈沖的低電平時(shí)間值約為0127H~0177H;
③高電平時(shí)間值有2種情況:00BBH~00FFH(窄:表示“0”)利0301H~0333H(寬:表示“1”);
④同時(shí)通過(guò)分析能從中了解各鍵的鍵碼值,供編寫(xiě)應用程序時(shí)使用。
紅外解碼技術(shù)的應用
紅外遙控系統的組成及紅外接收電路如圖一、圖三所示,在這主要介紹系統軟件的設計。系統軟件主要由主程序、各控制處理程序、遙控接收解碼中斷程序、顯示控制等模塊組成。
評論