尹全杰 楊代民
[摘要]:紅外線遙控是目前使用非常廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。本文將重點(diǎn)介紹紅外遙控系統(tǒng)原理以及單片機(jī)解碼程序設(shè)計(jì)。
[關(guān)鍵詞]:紅外遙控 解碼 單片機(jī)
1紅外遙控系統(tǒng)組成
通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作,如圖1所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括紅外接收器、光電轉(zhuǎn)換放大器、解調(diào)等。
2紅外遙控發(fā)射和接收原理
按下遙控器的某一個(gè)鍵,遙控器會(huì)發(fā)出一連串經(jīng)過調(diào)制后的信號(hào),這個(gè)信號(hào)經(jīng)過紅外一體化模塊接收后,輸出解調(diào)后的數(shù)字脈沖,每個(gè)按鍵對(duì)應(yīng)不同的脈沖,故識(shí)別出不同的脈沖就能識(shí)別出不同的按鍵。按鍵信息采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖2所示。
上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的,然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖3所示。
3單片機(jī)解碼程序設(shè)計(jì)
紅外一體化接收頭輸出信號(hào)連接到單片機(jī)外中斷輸入引腳,設(shè)置為下降沿中斷方式。引導(dǎo)碼解碼過程只解碼帶數(shù)據(jù)的引導(dǎo)碼,不對(duì)連發(fā)碼引導(dǎo)碼進(jìn)行解碼。這就要求使用過程中,長(zhǎng)按操作不起作用。
關(guān)鍵解碼流程設(shè)計(jì)如圖4所示。
中斷解碼完成后,完成標(biāo)志置位。主程序中查詢到完成標(biāo)志,就對(duì)解碼數(shù)據(jù)進(jìn)行反碼校驗(yàn)并進(jìn)行對(duì)應(yīng)的處理。
4效果與應(yīng)用
以上設(shè)計(jì)的單片機(jī)解碼程序,成功應(yīng)用于萬年歷、計(jì)算器、電機(jī)控制、旋轉(zhuǎn)LED廣告燈燈各種單片機(jī)項(xiàng)目教學(xué)過程中,完全取代矩陣鍵盤進(jìn)行操作,電路簡(jiǎn)單,程序可靠。稍有不足的是要占用一個(gè)外中斷,并且在中斷解碼操作時(shí),會(huì)占用CPU時(shí)間。
對(duì)于時(shí)序有嚴(yán)格要求的項(xiàng)目應(yīng)用,可以考慮“外中斷+定時(shí)器”的方式,在每個(gè)下降沿時(shí)進(jìn)入中斷,對(duì)數(shù)據(jù)進(jìn)行處理。兩次進(jìn)中斷的時(shí)間間隔采用定時(shí)器來記錄,省略此前中斷解碼流程中設(shè)計(jì)的各種延時(shí)和等待操作,減少時(shí)間占用,提高CPU利用率。
參考文獻(xiàn):
[1]黃鶯.單片機(jī)原理與應(yīng)用.中國(guó)傳媒大學(xué)出版社,2015.
[2]周堅(jiān).單片機(jī)項(xiàng)目教程-C語言版.北京航空航天大學(xué)出版社,2013.