




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)實(shí)現(xiàn)紅外接收解碼摘要:接收到紅外遙控器的脈沖波形,并通過解析其波形得到紅外遙控器的相應(yīng)解碼,實(shí)習(xí)對(duì)相應(yīng)設(shè)備的控制。本文詳細(xì)接受紅外遙控技術(shù)原理并如何通過C51單片機(jī)實(shí)現(xiàn)紅外遙控。關(guān)鍵字:?jiǎn)纹瑱C(jī),紅外遙控,解碼1.引言遙控器相信大家不會(huì)陌生,日常生活中會(huì)使用到各種各樣的遙控器,比如電視機(jī)、DVD機(jī)、空調(diào)、機(jī)頂盒甚至音響、熱水器等都用到遙控器,其實(shí)紅外技術(shù)已經(jīng)走進(jìn)與人們的生活并且與人們的生活息息相關(guān)了。紅外遙控器作為設(shè)備的輸入控制具有操作簡(jiǎn)便、價(jià)格便宜等諸多好處。您可以根據(jù)您公司產(chǎn)品需要和遙控器提供商協(xié)商定制遙控器,包括遙控器鍵盤布局、每個(gè)按鍵的鍵碼等。遙控器鍵盤上每個(gè)按鍵的鍵碼是一個(gè)小于2
2、56的一個(gè)數(shù)值,按鍵后通過遙控器紅外管產(chǎn)生脈沖發(fā)送出去,紅外接收器接收到脈沖后,對(duì)脈沖流進(jìn)行分析,提取鍵碼值,并按照鍵碼值實(shí)現(xiàn)其遙控目的。2.紅外接收原理紅外遙控信號(hào)接收:紅外接收電路可以使用集成接收器,接收器包括紅外接收管及信號(hào)處理IC,接收器對(duì)外只有三個(gè)引腳,一個(gè)接電源的Vcc腳、一個(gè)接地的GND腳、一個(gè)脈沖信號(hào)輸出腳,當(dāng)然脈沖信號(hào)輸出腳直接接單片機(jī)的某個(gè)可以使用的IO腳就可以了。3.脈沖波形分析:每次按鍵,紅外接收器這邊會(huì)收到一串脈沖寬度不等的脈沖波形流,其脈沖流由35個(gè)脈沖波形構(gòu)成:前導(dǎo)碼:第1個(gè)脈沖波形用戶碼1:第2到第9個(gè)脈沖波形用戶碼2:第10到第17個(gè)脈沖波形鍵碼:第18到第2
3、5個(gè)脈沖波形鍵碼反碼:第26到第33個(gè)脈沖波形連續(xù)按鍵脈沖:第34和第35個(gè)脈沖為結(jié)束脈沖(也即連續(xù)按鍵脈沖),在每次按鍵結(jié)束后會(huì)有兩個(gè)結(jié)束脈沖,如果一直按鍵不放的話,會(huì)一直發(fā)送連續(xù)按鍵脈沖,并可以認(rèn)為在收到10個(gè)連續(xù)按鍵脈沖后是下一個(gè)按鍵。注意:不同的遙控器產(chǎn)生的用戶碼值可能不一樣,筆者碰到兩種不同的用戶碼:0x00,0xFF及0x04,0x7F。 脈沖流中有四種不同的脈沖波形寬度:其中前導(dǎo)碼脈寬為:40(4ms) < 脈沖寬度 < 50(5ms)連續(xù)按鍵脈寬為: 21(2.1ms) < 脈沖寬度 < 25(2.5ms)bit "0" 脈寬為: 3
4、(0.3ms) < 脈沖寬度 < 7(0.7ms)bit "1" 脈寬為: 14(1.4ms) < 脈沖寬度 < 19(1.9ms) 在收到一串脈沖流后,就要對(duì)其進(jìn)行分析,先要檢測(cè)第一個(gè)脈沖波形是不是前導(dǎo)碼,如果不是,則繼續(xù)檢測(cè)前導(dǎo)碼,如果是則檢測(cè)如下32個(gè)脈沖波形:用戶碼1為1字節(jié),由8個(gè)脈沖波形組成(其中一個(gè)脈沖波形表示字節(jié)中1 bit);用戶碼2為1字節(jié);鍵值為1字節(jié);鍵值反碼為1字節(jié),鍵值反碼為鍵值取反值。先判斷所收到用戶碼是否正確,如果不正確則丟棄此次所收鍵碼,如果正確則利用鍵值反碼取反與鍵值比較,判斷收碼是否正確,如果不正確則丟棄所收鍵碼
5、。如下圖所示:前導(dǎo)碼:用戶碼:鍵碼:結(jié)束碼:從上圖可以看出其用戶碼為:0b00100000-0b11111110,由于其低位在前,故轉(zhuǎn)換后得到用戶碼為:0b00000100-0b01111111,即0x04,0x7F;其鍵碼及鍵碼反碼為:0b00010010-0b11101101,同樣也是低位在前,轉(zhuǎn)換后得到鍵碼及鍵碼反碼為:0b01001000-0b10110111,即0x48,0xB7。4.實(shí)現(xiàn):4.1初始化初始化時(shí)當(dāng)然要先初始化單片機(jī)紅外接收管腳為高阻輸入狀態(tài),其次要初始化定時(shí)器,因?yàn)闄z測(cè)分析脈沖波形時(shí)需要用到定時(shí)器,根據(jù)上面對(duì)脈沖流波形分析可以知道最窄的脈寬為bit “0”,為0.3m
6、s左右,所以定時(shí)器最好定時(shí)為每0.1ms中斷一次比較好,但是定時(shí)器的值怎么設(shè)置呢,這樣根據(jù)單片機(jī)的振蕩器決定。4.2脈沖波形分析首先當(dāng)然是檢測(cè)前導(dǎo)碼,單片機(jī)紅外接收管腳在初始化時(shí)已經(jīng)設(shè)置為高阻輸入狀態(tài)(即高電平狀態(tài)),當(dāng)有紅外輸入時(shí),狀態(tài)變?yōu)榈碗娖綘顟B(tài),一旦檢測(cè)到有低電平過來,則開始準(zhǔn)備檢測(cè)前導(dǎo)碼。得到每個(gè)脈沖波形序號(hào),并根據(jù)定時(shí)器統(tǒng)計(jì)出每個(gè)脈沖波形在高電平狀態(tài)維持的時(shí)間,通過其時(shí)間值檢測(cè)第一個(gè)脈沖是否是前導(dǎo)碼,如果不是則重新檢測(cè)前導(dǎo)碼,如果是前導(dǎo)碼則分析其后每個(gè)脈沖波形是bit “0”,還是bit “1”,并按順序每八個(gè)波形為一個(gè)字節(jié)方式保存到用戶碼1字節(jié)變量、用戶碼2字節(jié)變量、鍵碼字節(jié)變量
7、、鍵碼反碼字節(jié)變量,直到收滿32個(gè)bits。4.3收碼判斷所收到的用戶碼是否正確、鍵碼及鍵碼反碼是否正確,如果都正確則認(rèn)為此次收碼為正確收碼,否則丟棄。收碼完后,還會(huì)有結(jié)束脈沖波形,如果用戶一直按住某個(gè)鍵不放,遙控器會(huì)一直發(fā)送連續(xù)按鍵脈沖波形,如果多次收到連續(xù)按鍵,可以認(rèn)為再次收到鍵碼,這個(gè)可以根據(jù)實(shí)際需要定。5.程序代碼#include <reg51.h>#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
8、0x6f,0x77,0x7c,0x39, 0x5e, 0x79, 0x71;uchar code weitable=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar irnum; /定時(shí)器0定時(shí)時(shí)間計(jì)數(shù)uchar bitnum; /存放接收到的位數(shù)uchar startflag; /開始標(biāo)志uchar irdata33;uchar irreceok=0; /判斷是否接收到一幀數(shù)據(jù),33位uchar ircode4; /存放4個(gè)碼值uchar irprosok;uchar disp8;sbit LS138A=P22; /138譯碼器的A端由P2.2口控制
9、sbit LS138B=P23; /138譯碼器的B端由P2.3口控制sbit LS138C=P24; /138譯碼器的C端由P2.4口控制void delay(uint i)/定時(shí)1msuchar j;for(i;i>0;i-)for(j=110;j>0;j-) ;void init() /初始化 T0, exter 0 IT0=1; /外部中斷,下降沿觸發(fā)IE0=1;/外部中斷0允許EX0=1; /開中斷/定時(shí)計(jì)數(shù)器0中斷TMOD=0x02; / 工作方式1,16位TH0=0x00; /定時(shí)0.256ms TL0=0x00;ET0=1; / 開中斷EA=1;TR0=1; / 定
10、時(shí)計(jì)數(shù)器啟動(dòng)中斷 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ù)提取完畢/顯示,要將接收到的碼拆開8位顯示void irwork(void)/將接收到的碼拆開顯
11、示disp0=ircode0/16; /按16進(jìn)制顯示disp1=ircode0%16;disp2=ircode1/16;disp3=ircode1%16;disp4=ircode2/16; /按16進(jìn)制顯示disp5=ircode2%16;disp6=ircode3/16;disp7=ircode3%16;void display(void) /送到數(shù)碼管顯示LS138C=0;LS138B=0;LS138A=0; P0=tabledisp0; delay(10);/第一個(gè)數(shù)碼管顯示1LS138C=0;LS138B=0;LS138A=1; P0=tabledisp1; delay(10);/第
12、一個(gè)數(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; P0=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 main()init();while(1)if(irreceok) /若接收到數(shù)據(jù)irpros();/解碼irreceok=0;if(irprosok) /數(shù)據(jù)解碼完畢,拆開顯示irwork();irprosok=0;display();void exter0() interrupt 0 if(irnum>50) /收到引
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源研發(fā)項(xiàng)目資金使用審計(jì)保障合同
- 生物醫(yī)藥產(chǎn)業(yè)基地女性員工生育保險(xiǎn)與職業(yè)發(fā)展支持合同
- 境外房產(chǎn)投資收益匯回合規(guī)審核協(xié)議
- 電視劇劇本改編及影視制作授權(quán)服務(wù)合同
- 跨國(guó)物流保險(xiǎn)理賠服務(wù)協(xié)議
- 商業(yè)空間精裝修及軟裝一體化項(xiàng)目管理合同
- 股票期權(quán)行權(quán)分割與員工持股計(jì)劃合作協(xié)議
- 國(guó)際展會(huì)樣品冷藏柜租賃及維護(hù)保養(yǎng)服務(wù)協(xié)議
- 2025年應(yīng)用軟件設(shè)計(jì)服務(wù)項(xiàng)目建議書
- 2025年小型路面保潔設(shè)備合作協(xié)議書
- 展位評(píng)估報(bào)告
- 家庭分家協(xié)議書15篇
- 幼兒足球訓(xùn)練課件
- 機(jī)插水稻育秧技術(shù)
- 分子氣動(dòng)力學(xué)及氣體流動(dòng)的直接模擬
- 30題南京天加貿(mào)易供應(yīng)鏈管理崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 量子芯片集成
- 大面積腦梗死護(hù)理查房
- 20道中國(guó)人民財(cái)產(chǎn)保險(xiǎn)股份有限公司保險(xiǎn)理賠員崗位常見面試問題含HR常問問題考察點(diǎn)及參考回答
- 小學(xué)一年級(jí)家長(zhǎng)會(huì)課件_
- 審計(jì)資料交接清單
評(píng)論
0/150
提交評(píng)論