資料介紹
今天本文有兩個(gè)內(nèi)容:一、紅外遙控協(xié)議的的講解;二、解碼程序解析(參考正點(diǎn)原子的代碼)紅外的介紹、優(yōu)點(diǎn)、缺點(diǎn)就不給大家說(shuō)了,網(wǎng)上書(shū)上都有。。下面進(jìn)入正題→_→一、紅外遙控協(xié)議的的講解紅外遙控的編碼目前廣泛使用的是:NEC Protocol的PWM(脈沖寬度調(diào)制)和Philips RC-5 Protocol的PPM(脈沖位置調(diào)制)本文將以NEC協(xié)議實(shí)現(xiàn)紅外遙控。NEC協(xié)議的特征:1、8位地址和8位指令長(zhǎng)度;2、地址和命令兩次傳輸;(確??煽啃裕?、PWM脈沖寬度調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1”;4、載波頻率為38KHz5、位時(shí)間為1.125ms和2.25msNEC碼位的定義:一個(gè)脈沖對(duì)應(yīng)560us的連續(xù)載波,一個(gè)邏輯1傳輸需要2.25ms(560us脈沖+1680us低電平),一個(gè)邏輯0的傳輸需要1.125ms(560us脈沖+560us低電平)。而遙控接收頭在收到脈沖時(shí)為低電平,在沒(méi)有收到脈沖時(shí)為高電平,因此,我們?cè)诮邮疹^端收到的信號(hào)為:邏輯1應(yīng)該是560us低+1680us高,邏輯0應(yīng)該是560us低+560us高。如下圖:NEC遙控指令的數(shù)據(jù)格式為:同步碼頭(引導(dǎo)碼)+地址碼+地址反碼+控制碼+控制反碼。同步碼是由一個(gè)9ms的低電平和一個(gè)4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均為8位數(shù)據(jù)格式。按照高位在前低位在后的順序發(fā)送。采用反碼是為了增加傳輸?shù)目煽啃裕捎糜谛r?yàn))。下圖是我們按下按鍵2時(shí),從紅外接收頭端測(cè)到的波形:在圖中可以看到,在100ms之后,我們還收到了幾個(gè)脈沖,這是NEC碼規(guī)定的連發(fā)碼(由9ms低電平+2.5ms高電平+0.56ms低電平和97.94ms高電平組成),如果在一幀數(shù)據(jù)發(fā)送完后,按鍵仍沒(méi)有松開(kāi),則發(fā)送重復(fù)碼(連發(fā)碼),可以通過(guò)統(tǒng)計(jì)連發(fā)碼的次數(shù)來(lái)標(biāo)記按鍵按下的長(zhǎng)短/次數(shù)。二、解碼程序解析(參考正點(diǎn)原子的代碼)在正點(diǎn)原子的代碼中是利用定時(shí)器的輸入捕獲功能來(lái)實(shí)現(xiàn)遙控解碼的,下面解析一下關(guān)鍵代碼:在該實(shí)驗(yàn)remote.h文件中,定義了3個(gè)函數(shù):Remote_Init();、TIM4_IRQHandler();、Remote_Scan();。1、Remote_Init();這里要注意中斷優(yōu)先級(jí),定時(shí)器4的兩個(gè)中斷,溢出(更新)中斷,捕獲事件中斷的優(yōu)先級(jí)是一樣的。意思就是,他兩誰(shuí)也不能打斷誰(shuí),例如A在執(zhí)行時(shí),B就不會(huì)產(chǎn)生中斷。這里很重要,很重要,很重要!2、TIM4_IRQHandler();注意上圖中畫(huà)紅框的狀態(tài)標(biāo)識(shí),下面解析一下此中斷服務(wù)函數(shù)(該終端服務(wù)函數(shù)中有兩個(gè)中斷,溢出中斷和捕獲中斷):1、先看捕獲中斷,Rmtsta剛開(kāi)始時(shí)為0,當(dāng)發(fā)生一次上升沿捕獲時(shí)(RDATA對(duì)應(yīng)的引腳得到一個(gè)高電平),先把捕獲事件配置為下降沿捕獲,然后Rmtsta=0x10,標(biāo)記了上升沿已經(jīng)被捕獲;2、當(dāng)有下降沿到來(lái)時(shí),將CCR1寄存器的值賦給Dval變量,并再將捕獲事件配置為上升沿捕獲;補(bǔ)充:像這樣上升沿捕獲和下降沿捕獲交替使用,是為了捕獲到高電平持續(xù)時(shí)間。3、注意:只有當(dāng)接收頭收到了引導(dǎo)碼后,才進(jìn)行解碼。故先判斷Dval的值是不是在4200us~4700us之間,如果在,就將Rmtsta|=1<<7,將Rmtsta的最高位置1,標(biāo)記成功接收到了引導(dǎo)碼;4、當(dāng)Rmtsta的最高位被置為1后,即滿(mǎn)足了if(Rmtsta&0x80),就可以判斷Dval的值在下面3鐘范圍內(nèi)了:300~800(560us)、1400~1800(1680us)、2200~2600(2500us)。從而得到0或者1或者RmtCnt++。實(shí)現(xiàn)了解碼。4、以上3條,其中的高電平持續(xù)時(shí)間都在10ms之內(nèi),意思就是還沒(méi)到10ms就產(chǎn)生了捕獲中斷(上升沿和下降沿),因?yàn)閮?yōu)先級(jí)相同的原因,這時(shí)是無(wú)法產(chǎn)生溢出中斷的。只有當(dāng)你到10ms了,還沒(méi)有產(chǎn)生上升沿捕獲或下降沿捕獲,就會(huì)產(chǎn)生溢出中斷;5、那什么情況下10ms都沒(méi)有產(chǎn)生捕獲呢,那就是上文中的連發(fā)碼,那個(gè)97.94ms的高電平,遠(yuǎn)大于了10ms,故會(huì)產(chǎn)生溢出中斷。在溢出中斷里會(huì)標(biāo)記已經(jīng)完成一次完整的鍵值信息采集(RmtSta|=1<<6),正點(diǎn)原子在溢出中斷中給設(shè)的連發(fā)碼時(shí)間為130ms,超過(guò)130ms視為是松開(kāi)按鍵了(因?yàn)樗砷_(kāi)按鍵就不會(huì)有脈沖,也就是高電平,看上文)。此外,處理紅外鍵盤(pán)的程序就很簡(jiǎn)單了,先判斷是不是得到所有一個(gè)鍵的所有信息了(根據(jù)上一條,判斷if(RmtSta&(1<<6))是否成立),然后通過(guò)移位讀取之前在捕獲中斷中存進(jìn)去的數(shù)據(jù),再進(jìn)行原碼和反碼的對(duì)比。這里不多說(shuō)了。。注意:遙控器發(fā)過(guò)來(lái)的碼都是編好的,比如想破解遙控器編碼,可以拿示波器去測(cè)接收端的碼?!鷂→整個(gè)程序思路不難,就是對(duì)遙控器發(fā)過(guò)來(lái)的碼進(jìn)行解碼,這里主要是兩個(gè)中斷的理解。。由于博主水平有限,如有不當(dāng)之處,懇請(qǐng)各位大咖指正,共同進(jìn)步!(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32解析美的空調(diào)紅外遙控器
- STM32CubeMX系列|紅外遙控
- STM32 FSMC驅(qū)動(dòng)TFTLCD 難點(diǎn)解析資料下載
- 紅外遙控發(fā)射接收電路原理圖免費(fèi)下載 88次下載
- 紅外遙控電子鐘的PCB原理圖免費(fèi)下載 22次下載
- 紅外遙控數(shù)字鐘的PCB原理圖免費(fèi)下載 11次下載
- 紅外遙控模擬的仿真資料和程序及工程文件免費(fèi)下載 27次下載
- PC紅外線(xiàn)遙控器上位機(jī)及電路圖資料合集免費(fèi)下載 16次下載
- 51單片機(jī)的紅外遙控的資料和程序免費(fèi)下載
- 使用單片機(jī)進(jìn)行紅外遙控的C語(yǔ)言程序資料免費(fèi)下載 19次下載
- 紅外遙控鍵值表資料免費(fèi)下載 42次下載
- 基于STM32的紅外遙控實(shí)驗(yàn)的資料,程序免費(fèi)下載 50次下載
- 學(xué)習(xí)型紅外線(xiàn)遙控設(shè)計(jì)與制作解析 92次下載
- ALIENTEK_MINISTM32_實(shí)驗(yàn)21_紅外遙控實(shí)驗(yàn) 13次下載
- STM32_紅外遙控實(shí)驗(yàn) 33次下載
- 紅外遙控測(cè)試儀電路圖分享 1541次閱讀
- STM32之紅外遙控信號(hào)自學(xué)習(xí)實(shí)現(xiàn) 2869次閱讀
- 紅外遙控的原理詳解 8022次閱讀
- 結(jié)合STM32、Arduino理解紅外遙控編解碼通信原理 1535次閱讀
- STM32之紅外遙控信號(hào)自學(xué)習(xí)實(shí)現(xiàn) 2211次閱讀
- 紅外遙控與藍(lán)牙遙控的區(qū)別,紅外遙控與藍(lán)牙遙控哪個(gè)好 3.4w次閱讀
- 使用單片機(jī)設(shè)計(jì)紅外遙控器的資料說(shuō)明 3402次閱讀
- fireflyAIO-3288J紅外遙控器介紹 1617次閱讀
- fireflyAIO-3288C主板紅外遙控器簡(jiǎn)介 1568次閱讀
- dfrobotIR kit紅外遙控簡(jiǎn)介 1586次閱讀
- 關(guān)于紅外線(xiàn)遙控的原理分析 4916次閱讀
- 紅外遙控編解碼全面講解 8.3w次閱讀
- 基于STM32的可遙控智能跟隨小車(chē)的設(shè)計(jì)與實(shí)現(xiàn) 4.9w次閱讀
- ofdm技術(shù)的優(yōu)缺點(diǎn)解析,ofdm技術(shù)原理介紹 9w次閱讀
- 紅外遙控技術(shù)在汽車(chē)中的應(yīng)用 3065次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多