<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 一種通用學(xué)習型紅外遙控器設計與實(shí)現

一種通用學(xué)習型紅外遙控器設計與實(shí)現

作者: 時(shí)間:2011-06-03 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/162003.htm

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

  2 紅外遙控原理

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

  3 一般紅外遙控信號編碼脈沖的波形

  紅外發(fā)射的遙控編碼脈沖,由前導碼、系統碼、功能碼、功能碼的反碼組成

如圖1 所示

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

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

  4 系統硬件電路的設計

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

  圖2 單鍵遙控器原理圖

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

  5 系統主要程序的設計

  5.1 主程序如圖3


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

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

  該程序遙控前導碼的識別,遙控編碼高低電平寬度計時(shí)和結束位識別功能,程序流程如圖4 所示。

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

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

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

  6 結語(yǔ)

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>