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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR學(xué)習(xí)筆記--紅外遙控接收器使用

          AVR學(xué)習(xí)筆記--紅外遙控接收器使用

          作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          目前大多使用的是一體化紅外接收頭,它將紅外接收二極管、放大、解調(diào)、整形等電路做在一起,只有三個(gè)引腳.分別是+5V電源、地、信號(hào)輸出。所以只需要關(guān)心接收頭的輸出編碼格式。

          [1]指令格式:前導(dǎo)碼 + 地址碼 + 地址碼反碼 + 數(shù)據(jù) + 數(shù)據(jù)碼反碼

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

          [2]指令編碼:脈寬調(diào)制編碼

          [3]識(shí)別算法:每?jī)纱涡盘?hào)的下降沿表示1位數(shù)據(jù),根據(jù)兩次下降沿之間的間隔時(shí)間,就可以判斷出是前導(dǎo)碼,還是數(shù)據(jù)1或數(shù)據(jù)0。

          A、前導(dǎo)碼: 9ms

          B、數(shù)據(jù)“1”:2.25ms

          C、數(shù)據(jù)“0”:1.12ms


          注意:[1]雖然0和1的占用時(shí)間長(zhǎng)度不同,但因?yàn)橥瑫r(shí)其反碼的存在,所以整條指令的總長(zhǎng)度是固定的。

          [2]前導(dǎo)碼是固定格式,也是紅外指令的識(shí)別碼

          [4]硬件電路:


          [5]編程流程:

          • 一體化紅外接收頭的輸出腳接到外部硬件中斷I/O上,并設(shè)置成下降沿觸發(fā)。
          • CPU上電,初始化定時(shí)器,初值為0。
          • 每次觸發(fā)中斷,停止定時(shí)器,讀取定時(shí)器值,判斷定時(shí)器值,9ms表示前導(dǎo)碼,2.25ms表示1,1.12ms表示0。送入數(shù)據(jù)緩沖,并對(duì)數(shù)據(jù)隊(duì)列計(jì)數(shù),初始化定時(shí)器,重新計(jì)時(shí)。
          • 判斷數(shù)據(jù)隊(duì)列長(zhǎng)度,除前導(dǎo)碼外,接收到32位數(shù)據(jù),表示指令接受完成。
          • 指令校驗(yàn),就是將數(shù)據(jù)和數(shù)據(jù)反碼,地址和地址反碼做加法處理,如果得到的結(jié)果是0xFF,表示校驗(yàn)通過,否則,校驗(yàn)失敗,丟棄數(shù)據(jù)。
          • 指令解讀,根據(jù)規(guī)則解讀。

          [6]實(shí)例代碼:

          等待補(bǔ)充



          評(píng)論


          技術(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); })();