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

          新聞中心

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

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

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

          h.JPG
          2.2.3 主監(jiān)控程序中對IRKeyReady標(biāo)志的處理
          在主監(jiān)控程序中,不斷查詢IRKeyReady標(biāo)志。如果標(biāo)志置位,則在主程序巾進(jìn)入鍵值處理,判斷鍵值的類型,以便實(shí)現(xiàn)器按鍵的功能。代碼如下:
          l.jpg
          2.3 42位編碼
          硬件使用57L5彩電器,其內(nèi)部發(fā)射專用集成電路為TC7461,采用42位的編碼結(jié)構(gòu),包含13位用戶碼、13位用戶反碼、8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼。42位編碼結(jié)構(gòu)如圖6所示。引導(dǎo)碼由9 ms的載波和4.5 ms的載波關(guān)斷波形所構(gòu)成,作為用戶碼、數(shù)據(jù)碼以及它們的反碼的先導(dǎo)。信息位0與1的定義與上述NEC32位格式相同。但是長按鍵時,其重復(fù)碼的前13.5 ms與引導(dǎo)碼是一樣的,在編程中要特別處理,其重復(fù)碼波形如圖7所示。

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

          i.JPG

          i.JPG


          初始化階段與32位的基本類似,但由于重復(fù)碼的波形和起始碼相同,為了區(qū)分清楚,這里引用了狀態(tài)機(jī)的,添加了狀態(tài)寄存器IR57 L5Satus和計數(shù)寄存器IRSysCodeCnt,初始化時都先清零。以數(shù)值0、1、2來表示3種不同的狀態(tài)。每種狀態(tài)具體的功能如下:
          ◆為0時進(jìn)入引導(dǎo)碼或重復(fù)碼,然后賦值IR57L5Satus為1。
          ◆為1時進(jìn)入26個系統(tǒng)位階段,為了簡單起見,在這里跳過它們,并未存儲。賦值IR57L5Satus為2。同時在這個狀態(tài),初始化2個數(shù)據(jù)存儲寄存器IRCode和IRCode+1。
          ◆為2時收數(shù)據(jù)碼,16位收到后,賦值IR57L5Satus為0。
          限于篇幅,這里不列出具體代碼,其中斷子程序軟件流程如圖8所示。

          k.JPG



          3 調(diào)試
          在測試程序的過程中需要示波器與串口調(diào)試助手軟件。示波器用于檢測發(fā)射波形是否符合規(guī)范。而通過編寫串口程序,并借助于串口調(diào)試助手軟件,可以將數(shù)據(jù)接收單元的信息發(fā)送到PC機(jī)上,而后通過與器說明書比對,以證實(shí)數(shù)據(jù)碼的準(zhǔn)確性。這種紅外在本人制作的硬件時鐘和多溫區(qū)控制系統(tǒng)等項(xiàng)目中都有應(yīng)用,數(shù)據(jù)接收準(zhǔn)確、使用效果良好。


          上一頁 1 2 3 下一頁

          評論


          相關(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); })();