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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)解碼紅外遙控器原理

          51單片機(jī)解碼紅外遙控器原理

          作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          電視遙控器使用的是專用集成發(fā)射芯片來實(shí)現(xiàn)遙控碼的發(fā)射,如東芝TC9012,飛利浦SAA3010T等,通常彩電遙控信號(hào)的發(fā)射,就是將某個(gè)按鍵所對(duì)應(yīng)的控制指令和系統(tǒng)碼(由0和1組成的序列),調(diào)制在38KHz的載波上,然后經(jīng)放大、驅(qū)動(dòng)紅外發(fā)射管將信號(hào)發(fā)射出去。不同公司的遙控芯片,采用的遙控碼格式也不一樣。較普遍的有兩種,一種是NEC標(biāo)準(zhǔn),一種是PHILIPS 標(biāo)準(zhǔn)。

          NEC標(biāo)準(zhǔn):遙控載波的頻率為38KHz(占空比為1:3);當(dāng)某個(gè)按鍵按下時(shí),系統(tǒng)首先發(fā)射一個(gè)完整的全碼,如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。 一個(gè)完整的全碼=引導(dǎo)碼+用戶碼+用戶碼+數(shù)據(jù)碼+數(shù)據(jù)反碼。 其中,引導(dǎo)碼高電平4.5ms,低電平4.5ms;系統(tǒng)碼8位,數(shù)據(jù)碼8位,共32位;其中前 16 位為用戶識(shí)別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后 16 位為 8 位的操作碼和 8位的操作反碼,用于核對(duì)數(shù)據(jù)是否接收準(zhǔn)確。收端根據(jù)數(shù)據(jù)碼做出應(yīng)該執(zhí)行什么動(dòng)作的判斷。連發(fā)代碼是在持續(xù)按鍵時(shí)發(fā)送的碼。它告知接收端,某鍵是在被連續(xù)地按著。

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

          NEC標(biāo)準(zhǔn)下的發(fā)射碼表示

          發(fā)射數(shù)據(jù)時(shí)0用“0.56ms高電平+0.565ms低電平=1.125ms”表示,數(shù)據(jù)1用“高電平0.56ms+低電平1.69ms=2.25ms”表示

          即發(fā)射碼“0”表示發(fā)射38khz的紅外線0.56ms,停止發(fā)射0.565ms,發(fā)射碼“1”表示發(fā)射38khz的紅外線0.56ms,停止發(fā)射1.69ms

          需要注意的是:當(dāng)一體化接收頭收到38kHz 紅外信號(hào)時(shí),輸出端輸出低電平,否則為高電平。所以一體化接收頭輸了的波形是與發(fā)射波形是反向的,如圖




          PHILIPS標(biāo)準(zhǔn):載波頻率為38KHz;沒有簡(jiǎn)碼,點(diǎn)按鍵時(shí),控制碼在1和0之間切換,若持續(xù)按鍵,則控制碼不變。一個(gè)全碼=起始碼‘11’+控制碼+用戶碼+用戶碼,如圖所示。
          數(shù)據(jù)0用“低電平1.778ms+高電平1.778ms”表示;數(shù)據(jù)1用“高電平1.778ms+低電平1.778ms”表示。 連續(xù)碼重復(fù)延時(shí)114ms。

          NEC、TOSHIBA、SAMSONG公司的編碼格式有其共通之處:遙控全碼都由“引導(dǎo)碼+系統(tǒng)碼+系統(tǒng)碼(或系統(tǒng)碼取反)+數(shù)據(jù)碼+數(shù)據(jù)碼取反”組成;數(shù)據(jù)“0”和“1”的定義相同;不同的只是引導(dǎo)碼高低電平的持續(xù)時(shí)間不同,系統(tǒng)碼位數(shù)有長(zhǎng)有短,第一個(gè)簡(jiǎn)碼和全碼最后一位之間的延時(shí)不同,簡(jiǎn)碼的引導(dǎo)脈沖不同等;所以可以把相同的部分做成通用子程序,包括產(chǎn)生數(shù)據(jù)“0”和“1”的子程序“ONE”和“ZERO”,9ms、4.5ms、2.25ms、22ms、45ms等時(shí)間控制子程序。
          鍵值處理,可采用外中斷的方式,有鍵按下時(shí),就向CPU發(fā)出中斷請(qǐng)求,當(dāng)然這里面還包括了去抖動(dòng)、多鍵同時(shí)按時(shí)只處理一鍵的處理部分。
          機(jī)芯的不同狀態(tài)由單片機(jī)P3口的P3.5、P3.4、P3.1、P3.0四位的輸入數(shù)值來區(qū)分判斷,比如“0000”表示工作于東芝TC90××系列狀態(tài),“0001”則表示要求工作于NEC公司的PD61××系列狀態(tài)。
          判斷了是哪一只鍵按下以及處于機(jī)芯的哪種狀態(tài)以后,程序就嚴(yán)格按照相應(yīng)的遙控編碼方式來進(jìn)行遙控碼的發(fā)射,也就是說將一定時(shí)段、一定數(shù)值的電平脈沖調(diào)制在38KHz載波上,逐一發(fā)射出去。
          流程圖如圖所示



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