《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 一種通用學(xué)習(xí)型紅外遙控器設(shè)計(jì)與實(shí)現(xiàn)
一種通用學(xué)習(xí)型紅外遙控器設(shè)計(jì)與實(shí)現(xiàn)
摘要: 本文介紹一種利用單片機(jī)設(shè)計(jì)通用自學(xué)習(xí)型紅外遙控的方法,,可以實(shí)現(xiàn)對(duì)多種產(chǎn)品紅外線遙控,。本裝置采用了最小化模式設(shè)計(jì),,電路簡(jiǎn)單,,可靠性高,此技術(shù)應(yīng)用于我們開發(fā)的多媒體中央控制器產(chǎn)品中,,獲得了令人滿意的效果,。
Abstract:
Key words :

  1 引言

  紅外遙控是目前常用的一種通信和遙控方法,紅外遙控裝置具有體積小,、功耗低、功能強(qiáng),、成本低等特點(diǎn),,因而其廣泛應(yīng)用于各種家電產(chǎn)品、金融和商用設(shè)施,,以及工業(yè)設(shè)備中,。但是各種產(chǎn)品的遙控并不能互相兼容,本文介紹一種利用單片機(jī)設(shè)計(jì)通用自學(xué)習(xí)型紅外遙控的方法,,可以實(shí)現(xiàn)對(duì)多種產(chǎn)品紅外線遙控,。本裝置采用了最小化模式設(shè)計(jì),電路簡(jiǎn)單,,可靠性高,,此技術(shù)應(yīng)用于我們開發(fā)的多媒體中央控制器產(chǎn)品中,獲得了令人滿意的效果。該方案可以還可應(yīng)用于自學(xué)習(xí)萬能遙控器和智能家庭集中控制器等設(shè)備,。

  2 紅外遙控原理

  一般的紅外遙控系統(tǒng)由紅外遙控信號(hào)發(fā)射器,、紅外遙控信號(hào)接收器、微處理器和外圍電路構(gòu)成的,。當(dāng)遙控器的某個(gè)按鍵按下,,其內(nèi)部的信號(hào)發(fā)射器產(chǎn)生遙控編碼脈沖,由紅外發(fā)射管串行輸出,,遙控接收模塊型號(hào)1838 完成對(duì)遙控信號(hào)的接收,、放大、檢波,、整形,、解調(diào)出遙控編碼脈沖,遙控編碼脈沖是一組串行二進(jìn)制編碼,,對(duì)于一般的紅外遙控系統(tǒng),,此串行輸入到微控制器,由其內(nèi)部完成遙控指令解碼,,并執(zhí)行相應(yīng)的遙控功能,。

  3 一般紅外遙控信號(hào)編碼脈沖的波形

  紅外遙控器發(fā)射的遙控編碼脈沖,由前導(dǎo)碼,、系統(tǒng)碼,、功能碼、功能碼的反碼組成

       如圖1 所示

  前導(dǎo)碼是一個(gè)遙控碼的起始部分,,由一個(gè)高電平和一個(gè)低電平組成,。作為接受數(shù)據(jù)的準(zhǔn)備脈沖,這些編碼是經(jīng)38 kHz 的載波脈寬調(diào)制后發(fā)射出去,。

  通過分析大量不同類型的紅外遙控碼波形,,遙控碼的數(shù)據(jù)幀間歇寬度均為10ms以上,前導(dǎo)碼的高電平均為5ms以上,,通常為9ms左右,,編碼位在10us和5ms之間,在本設(shè)計(jì)中只考慮遙控器發(fā)射信號(hào)的高低電平寬度,,不考慮其編碼方式,,以簡(jiǎn)化設(shè)計(jì)。

  4 系統(tǒng)硬件電路的設(shè)計(jì)

單鍵通用學(xué)習(xí)型遙控器原理圖

  圖2 單鍵通用學(xué)習(xí)型遙控器原理圖

  考慮到有的遙控器的編碼比較長,,需要比較多的內(nèi)部RAM,,單片機(jī)采用了 AT89C52 P2.5 口接學(xué)習(xí)按鍵,P2.7口接發(fā)射按鍵,,P1.7 口用于作為遙控碼的輸出口,,輸出38 kHz 的遙控碼,,INT0口用于紅外線接收頭的輸出信號(hào)的輸入。

  5 系統(tǒng)主要程序的設(shè)計(jì)

  5.1 主程序如圖3


  上電復(fù)位后,,主程序掃描按鍵,,當(dāng)確認(rèn)有按鍵按下時(shí),若是學(xué)習(xí)鍵,,則進(jìn)入學(xué)習(xí)狀態(tài),;若是發(fā)射鍵,則將已學(xué)習(xí)的遙控編碼脈沖發(fā)射出去,。

  5.2 遙控編碼學(xué)習(xí)子程序

  該程序?qū)崿F(xiàn)遙控前導(dǎo)碼的識(shí)別,,遙控編碼高低電平寬度計(jì)時(shí)和結(jié)束位識(shí)別功能,程序流程如圖4 所示,。

  在設(shè)計(jì)中,,采用了計(jì)數(shù)器對(duì)信號(hào)高低電平計(jì)時(shí)的方法來采集數(shù)據(jù)并保存。前導(dǎo)碼由一個(gè)9ms左右的高電平和一個(gè)低電平組成的,,判斷是否是前導(dǎo)碼的方法是:判斷開始的高電平是否大于5ms,。如果大于5ms的話,就認(rèn)為是前導(dǎo)碼,,并保存前導(dǎo)碼的低電平,。然后依次保存采集到的編碼信號(hào),如果采集到編碼信號(hào)的高電平大于5ms的話,,就認(rèn)為是編碼已經(jīng)結(jié)束,,置0 作為標(biāo)志學(xué)習(xí)子程序結(jié)束。

  5.3 遙控編碼發(fā)射子程序

  由軟件實(shí)現(xiàn)遙控信號(hào)的載波合成,,用定時(shí)中斷1產(chǎn)生38kHz的載波信號(hào)用,,定時(shí)中斷0控制定時(shí)中斷1的開關(guān),定時(shí)器0定時(shí)長短由相應(yīng)的遙控信號(hào)電平寬度計(jì)數(shù)值確定,。如果需發(fā)射的遙控信號(hào)為高電平時(shí),,關(guān)定時(shí)中斷1;如果為低電平,,則開定時(shí)中斷1,,輸出38kHz載波信號(hào)到紅外發(fā)射控制腳P1.7,從而實(shí)現(xiàn)遙控信號(hào)的脈寬調(diào)制發(fā)射,。

  6 結(jié)語

  在本設(shè)計(jì)中,采用了不考慮紅外信號(hào)的編碼方式,,只采集其高低電平寬度的方法,,使得可采集各種編碼方式的信號(hào)發(fā)射時(shí),不是用硬件,,而是采用以軟件方式產(chǎn)生載波的方法,。節(jié)約了硬件設(shè)備,,并使電路簡(jiǎn)化。本設(shè)計(jì)非常簡(jiǎn)單地實(shí)現(xiàn)了紅外遙控信號(hào)的接收和轉(zhuǎn)發(fā),,本設(shè)計(jì)的裝置已用于多媒體中央控制器產(chǎn)品中對(duì)多媒體電子產(chǎn)品進(jìn)行紅外控制操作,,在實(shí)際應(yīng)用過程中獲得了滿意的效果,該裝置還可應(yīng)用智能家居產(chǎn)品中對(duì)空調(diào)電動(dòng)窗簾燈光音響等電器設(shè)備進(jìn)行控制,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。