


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)實(shí)現(xiàn)紅外接收解碼摘要:接收到紅外遙控器的脈沖波形,并通過解析其波形得到紅外遙控器的相應(yīng)解碼,實(shí)習(xí)對相應(yīng)設(shè)備的控制。本文詳細(xì)接受紅外遙控技術(shù)原理并如何通過C51單片機(jī)實(shí)現(xiàn)紅外遙控。關(guān)鍵字:單片機(jī),紅外遙控,解碼1. 引言遙控器相信大家不會陌生,日常生活中會使用到各種各樣的遙控器,比如電視機(jī)、DVD機(jī)、空調(diào)、機(jī)頂盒甚至音響、熱水器等都用到遙控器,其實(shí)紅外技術(shù)已經(jīng)走進(jìn)與人們的生活 并且與人們的生活息息相關(guān)了。紅外遙控器作為設(shè)備的輸入控制具有操作簡便、價格便宜等諸多好處。您可以根據(jù)您公司產(chǎn)品需要和遙控器提供商協(xié)商定制遙控器,包括遙控器鍵盤布局、每個按鍵的鍵碼等。遙控器鍵盤上每個按鍵的鍵碼是一個小
2、于 256的一個數(shù)值,按鍵后通過遙控器紅外管產(chǎn) 生脈沖發(fā)送出去,紅外接收器接收到脈沖后, 對脈沖流進(jìn)行分析, 提取鍵碼值,并按照鍵碼 值實(shí)現(xiàn)其遙控目的。2. 紅外接收原理紅外遙控信號接收:紅外接收電路可以使用集成接收器,接收器包括紅外接收管及信號處理ic,接收器對外只有三個引腳,一個接電源的Vcc腳、一個接地的GND腳、一個脈沖信號輸出腳,當(dāng)然脈沖信號輸出腳直接接單片機(jī)的某個可以使用的10腳就可以了。3. 脈沖波形分析:每次按鍵,紅外接收器這邊會收到一串脈沖寬度不等的脈沖波形流,其脈沖流由35個脈沖波形構(gòu)成:前導(dǎo)碼:第1個脈沖波形用戶碼1:第2到第9個脈沖波形用戶碼2 :第10到第17個脈沖波
3、形鍵碼:第18到第25個脈沖波形鍵碼反碼:第26到第33個脈沖波形連續(xù)按鍵脈沖:第 34和第35個脈沖為結(jié)束脈沖(也即連續(xù)按鍵脈沖) ,在每次按鍵結(jié) 束后會有兩個結(jié)束脈沖, 如果一直按鍵不放的話, 會一直發(fā)送連續(xù)按鍵脈沖, 并可以認(rèn)為在 收到10個連續(xù)按鍵脈沖后是下一個按鍵。注意:不同的遙控器產(chǎn)生的用戶碼值可能不一樣,筆者碰到兩種不同的用戶碼:0x00,OxFF 及 0x04, 0x7F。脈沖流中有四種不同的脈沖波形寬度:其中前導(dǎo)碼脈寬為:40(4ms) < 脈沖寬度< 50(5ms) 連續(xù)按鍵脈寬為:21(2.1ms) <脈沖寬度< 25(2.5ms)bit &quo
4、t;0" 脈寬為: 3(0.3ms) < 脈沖寬度 < 7(0.7ms) bit "1" 脈寬為:14(1.4ms) <脈沖寬度 < 19(1.9ms)在收到一串脈沖流后,就要對其進(jìn)行分析,先要檢測第一個脈沖波形是不是前導(dǎo)碼,如果不是,則繼續(xù)檢測前導(dǎo)碼,如果是則檢測如下32個脈沖波形:用戶碼1為1字節(jié),由8個脈沖波形組成(其中一個脈沖波形表示字節(jié)中1 bit);用戶碼2為1字節(jié);鍵值為1字節(jié);鍵值反碼為1字節(jié),鍵值反碼為鍵值取反值。先判斷所收到用戶碼是否正確,如果不正確則丟棄此次所收鍵碼,如果正確則利用鍵值反碼取反與鍵值比較,判斷收碼是否正
5、確,如果不正確則丟棄所收鍵碼。如下圖所示:前導(dǎo)碼:用戶碼:鍵碼:丄_ L L L丨結(jié)束碼:_L從上圖可以看出其用戶碼為:ObOO1OOOOO-Ob1111111O,由于其低位在前,故轉(zhuǎn)換后得到用戶碼為:ObOOOOO1OO-ObO1111111,即 0x04, 0x7F ;其鍵碼及鍵碼反碼為:0b00010010-0b11101101,同樣也是低位在前,轉(zhuǎn)換后得到鍵碼及鍵碼反碼為:0b01001000-0b10110111,即 0x48,0xB7。4.實(shí)現(xiàn):4.1初始化初始化時當(dāng)然要先初始化單片機(jī)紅外接收管腳為高阻輸入狀態(tài),其次要初始化定時器,因?yàn)闄z測分析脈沖波形時需要用到定時器,根據(jù)上面對脈
6、沖流波形分析可以知道最窄的脈寬為bit “0”為0.3ms左右,所以定時器最好定時為每0.1ms中斷一次比較好,但是定時器的值怎么設(shè)置呢,這樣根據(jù)單片機(jī)的振蕩器決定。4.2脈沖波形分析首先當(dāng)然是檢測前導(dǎo)碼,單片機(jī)紅外接收管腳在初始化時已經(jīng)設(shè)置為高阻輸入狀態(tài)(即高電平狀態(tài)),當(dāng)有紅外輸入時,狀態(tài)變?yōu)榈碗娖綘顟B(tài), 一旦檢測到有低電平過來,則開始準(zhǔn)備檢測前導(dǎo)碼。 得到每個脈沖波形序號,并根據(jù)定時器統(tǒng)計出每個脈沖波形在高電平狀態(tài)維持的時間,通過其時間值檢測第一個脈沖是否是前導(dǎo)碼,如果不是則重新檢測前導(dǎo)碼,如果是前導(dǎo)碼則分析其后每個脈沖波形是bit“0”還是bit “1 ”并按順序每八個波形為一個字節(jié)方
7、式保存到用戶碼1字節(jié)變量、用戶碼2字節(jié)變量、鍵碼字節(jié)變量、鍵碼反碼字節(jié)變量,直到收滿32個bits。4.3收碼判斷所收到的用戶碼是否正確、鍵碼及鍵碼反碼是否正確,如果都正確則認(rèn)為此次收碼為正確收碼,否則丟棄。收碼完后,還會有結(jié)束脈沖波形, 如果用戶一直按住某個鍵不放, 遙控器會一直發(fā) 送連續(xù)按鍵脈沖波形,如果多次收到連續(xù)按鍵,可以認(rèn)為再次收到鍵碼,這個可以根據(jù) 實(shí)際需要定。5.程序代碼#in elude <reg51.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charcodeuchar table=0x3f,0x
8、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39, 0x5e,0x79, 0x71;uchar code weitable=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar irnum; / 定時器0定時時間計數(shù)uchar bit num; /存放接收到的位數(shù)uchar startflag; / uchar irdata33;uchar irreceok=0; /uchar ircode4; / uchar irprosok;uchar disp8;開始標(biāo)志判斷是否接收到一幀數(shù)據(jù),33位
9、存放4個碼值sbit LS138A=P2A2; 138 sbit LS138B=P2A3; 138 sbit LS138C=P2A4; 138 void delay( uint i)譯碼器的A端由P2.2 口控制譯碼器的B端由P2.3 口控制譯碼器的C端由P2.4 口控制/定時1msuchar j;for(i;i>0;i-) for(j=110;j>0;j-);void init() /初始化 T0, exter 0IT0=1; /外部中斷,下降沿觸發(fā)IE0=1;/外部中斷0允許EX0=1;/開中斷/定時計數(shù)器0中斷TMOD=0x02; /工作方式 1,16 位TH0=0x00;/
10、 定時 0.256msTL0=0x00;ET0=1; / 開中斷EA=1;TR0=1; /定時計數(shù)器啟動中斷void irpros(void) / 解碼uchar i,j,k;uchar value;k=1;for(j=0;j<4;j+)for(i=0;i<8;i+)value=value>>1;if(irdatak>6) /接收的數(shù)據(jù)為 0 或 1,0 為 1.125ms<5,1 為 2.25 約 89,曲中間value=value|0x80;k+;ircodej=value;/ 編碼值給 ircode,value=0;irprosok=1; /紅外數(shù)據(jù)提
11、取完畢/顯示,要將接收到的碼拆開8位顯示void irwork(void)disp0=ircode0/16; / disp1=ircode0%16;disp2=ircode1/16; disp3=ircode1%16;disp4=ircode2/16; / disp5=ircode2%16; disp 6=ircode3/16;disp7=ircode3%16;/將接收到的碼拆開顯示按16進(jìn)制顯示按16進(jìn)制顯示void display(void)/送到數(shù)碼管顯示LS138C=0;LS138B=0;LS138A=0; P0=tabledisp0; delay(10);/ 第一個數(shù)碼管顯示1LS1
12、38C=0;LS138B=0;LS138A=1; PO=tabledisp1; delay(10);/ 第一個數(shù)碼管顯示2LS138C=0;LS138B=1;LS138A=0; P0=tabledisp2; delay(10);LS138C=0;LS138B=1;LS138A=1; P0=tabledisp3; delay(10);LS138C=1;LS138B=0;LS138A=0; PO=tabledisp4; delay(10);LS138C=1;LS138B=0;LS138A=1; P0=tabledisp5; delay(10);LS138C=1;LS138B=1;LS138A=0; P0=tabledisp6; delay(10);LS138C=1;LS138B=1;LS138A=1; P0=tabledisp7; delay(10);void mai n()ini t();while(1)if(irreceok) /若接收到數(shù)據(jù)irpros(); / 解碼irreceok=0;if(irprosok) /數(shù)據(jù)解碼完畢,拆開顯示irwork();irprosok=0;display();void exterO() in terrupt 0if(irnum>50)/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國康復(fù)醫(yī)療服務(wù)行業(yè)市場規(guī)模測算邏輯模型
- 2025年度南京地區(qū)建筑勞務(wù)派遣合作協(xié)議書
- 2025年度安防技術(shù)研發(fā)合伙人股份協(xié)議
- 二零二五年度荒山承包合同(生態(tài)修復(fù)與水源保護(hù))
- 便利店裝修施工合同范本
- 2025年度簽待崗協(xié)議對員工職業(yè)生涯規(guī)劃指導(dǎo)手冊
- 2025年度平房房屋出租合同(含周邊商業(yè)合作權(quán)益)
- 2025年湖南體育職業(yè)學(xué)院單招職業(yè)傾向性測試題庫完整
- 2025年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 2024年三季度報重慶地區(qū)A股主營業(yè)務(wù)收入增長率排名前十大上市公司
- 股權(quán)糾紛案例分析申訴報告
- 2022云南省中考道法真題試卷和答案
- 如何在質(zhì)保到期后提供售后服務(wù)
- 勞務(wù)經(jīng)濟(jì)人培訓(xùn)課件
- 海爾集團(tuán)周云杰發(fā)表主題為《無界生態(tài) 無限可能》戰(zhàn)略報告
- 漢字真有趣教學(xué)設(shè)計
- 經(jīng)典成語故事葉公好龍
- 自導(dǎo)式教學(xué)心得體會范文【3篇】
- 防范游戲充值詐騙保護(hù)個人游戲賬號安全
- 數(shù)學(xué)與體育融合課程設(shè)計
- 七年級英語閱讀理解專項訓(xùn)練(含答案)共20篇
評論
0/150
提交評論