<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于單片機(jī)的紅外遙控信號(hào)解碼新方法

          一種基于單片機(jī)的紅外遙控信號(hào)解碼新方法

          作者: 時(shí)間:2012-08-21 來源:網(wǎng)絡(luò) 收藏

          摘要:器在家電產(chǎn)品中已廣泛使用。在嵌入式系統(tǒng)應(yīng)用方面,也是多種多樣。本文簡(jiǎn)要介紹的硬件構(gòu)成與軟件編程思路,然后針對(duì)兩種常用的紅外編碼結(jié)構(gòu),闡述了使用51定時(shí)器門控方式的具體,并給出了代碼示例與軟件流程。
          關(guān)鍵詞:紅外解碼;門控方式;51

          引言
          隨著家用電器、試聽產(chǎn)品的普及,紅外器已經(jīng)被廣泛應(yīng)用在各種類型的家電產(chǎn)品中(如遙控開關(guān)、智能開關(guān)等)。紅外遙控是一種把紅外線作為載體的控制方式,由于其波長(zhǎng)遠(yuǎn)小于無線電的波長(zhǎng),因此在采用紅外遙控方式時(shí)不會(huì)干擾其他電器的正常使用,也不會(huì)影響臨近的無線電設(shè)備。另外,紅外遙控器件具有體積小、功耗低、性價(jià)比高的優(yōu)點(diǎn),是理想的人機(jī)輸入設(shè)備,非常適合電子工程師和電子愛好者DIY開發(fā)與制作。紅外遙控系統(tǒng)主要由發(fā)射和接收兩大部分組成,由于發(fā)射部分使用的是購(gòu)買來的遙控器成品,所以本文的重點(diǎn)是紅外接收、解碼部分。下面將從硬件結(jié)構(gòu)和軟件編程兩個(gè)方面出發(fā),介紹一種51系列匯編語言的紅外遙控解碼新。

          1 硬件構(gòu)成
          紅外接收頭的種類很多,本文使用的是市場(chǎng)上常見的VS1838B,外觀如圖1所示。它采用內(nèi)、外雙屏蔽直捅式封裝,輸出匹配TTL、CMOS電平,靈敏度高,抗干擾性能好,接收距離可達(dá)20 m。從正面看,其3個(gè)引腳分別是輸出端、電源地與電源正。硬件電路連接非常簡(jiǎn)單,如圖2所示。圖中0.1μF瓷片電容用來濾波,供電引腳與電源之間接入100Ω的電阻以進(jìn)一步降低電源干擾。在本文中輸出端接51單片機(jī)最小系統(tǒng)的外部中斷1口(即P3.3),這樣一個(gè)簡(jiǎn)單的硬件電路就搭好了。

          本文引用地址:http://www.ex-cimer.com/article/171007.htm

          a.JPG



          2 軟件編程方法
          2.1 基本方法介紹
          大多數(shù)人使用的方法是在兩次外部中斷下降沿中,通過軟件手動(dòng)開啟與關(guān)閉定時(shí)器得到時(shí)間寬度。本文的思路是通過51單片機(jī)固有的外部中斷與定時(shí)器自動(dòng)配合的“門控方式”來獲得紅外信號(hào)波形信息。具體做法如下:參考表1,設(shè)置51單片機(jī)定時(shí)器工作方式寄存器(TMOD)
          Bit7=1,即定時(shí)器T1為門控方式。此時(shí)只有當(dāng)T1運(yùn)行控制化TR1=1并且外部中斷1為高電平時(shí),定時(shí)器T1才啟動(dòng);TR1=0或者外部中斷1為低電平時(shí)T1就自動(dòng)停止計(jì)數(shù)。

          b.JPG


          每次當(dāng)信號(hào)是高電平時(shí)定時(shí)器1自動(dòng)開始計(jì)時(shí),下降沿信號(hào)來臨的時(shí)候,在外部中斷1中自動(dòng)獲取TH1與TL1的值,這樣就得到了信號(hào)的時(shí)間寬度,從而可以區(qū)分出引導(dǎo)碼、重復(fù)碼、位0、位1的信息,再經(jīng)過后續(xù)的軟件處理就可以得到紅外遙控按鍵的鍵碼了。紅外遙控器解碼的關(guān)鍵在于對(duì)發(fā)射器波形規(guī)范的理解,常見的遙控器編碼有32位和42位兩種模式,主要區(qū)別在于系統(tǒng)碼的位數(shù)不一樣。值得注意的是,同樣位數(shù)模式的遙控器的結(jié)束碼也可能會(huì)不同。另外在按鍵連按狀態(tài)下,不同遙控器發(fā)出的重復(fù)碼各異,這些都會(huì)影響到程序的編寫。下文將列舉出兩款不同位數(shù)的遙控器,分別闡述其門控方式下的軟件編程思路。
          2.2 32位編碼
          硬件使用的是購(gòu)置的超薄型遙控器,內(nèi)置芯片為uPD6121G,采用NEC32位格式。其數(shù)據(jù)格式如圖3所示,包括了起始碼、用戶碼、數(shù)據(jù)碼和數(shù)據(jù)反碼。其中,起始碼由9 ms高電平和4.5 ms低電平構(gòu)成,后接16位用戶碼、8位數(shù)據(jù)碼以及8位數(shù)據(jù)反碼。數(shù)據(jù)反碼是數(shù)據(jù)碼取反后的編碼,編程時(shí)可以用于數(shù)據(jù)糾錯(cuò)。位定義如圖4所示,位1用高電平0.56 ms加低電平1.68 ms表示。位0用高電平0.56 ms加低電平0.56 ms表爾。要注意的是當(dāng)一直按住按鍵時(shí),芯片發(fā)出一次鍵碼后就不停地發(fā)重復(fù)碼了,寫程序時(shí)對(duì)重復(fù)碼要有特別的區(qū)分,其重復(fù)碼的波形如圖5所示。

          c.JPG


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();