單片機(jī)紅外遙控程序詳解配鍵碼表_第1頁
單片機(jī)紅外遙控程序詳解配鍵碼表_第2頁
單片機(jī)紅外遙控程序詳解配鍵碼表_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、用戶碼:OOFF鍵位碼如下#include/包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義/sbitIR=P3A2;/紅外接口標(biāo)志/*全局變量聲明*/unsignedcharcodetable10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;顯示段碼值09unsignedcharirtime;/紅外用全局變量bitirpro_ok,irok;/處理OK,接收OKunsignedcharIRcord4;unsignedcharirdata33;/*定時(shí)器0中斷處理*/voidtim0_isr(void)interrupt1u

2、sing1irtime+;/用于計(jì)數(shù)2個(gè)下降沿之間的時(shí)間/*外部中斷0中斷處理*/voidEX0_ISR(void)interrupt0/外部中斷0服務(wù)函數(shù)staticunsignedchari;/接收紅外信號(hào)處理staticbitstartflag;/是否開始處理標(biāo)志位if(startflag)if(irtime=33)引導(dǎo)碼TC9012的頭碼,9ms+4.5ms頭碼的持續(xù)時(shí)間的范圍,33(8.448ms)63(16.128ms),i=0;irdatai=irtime;/存儲(chǔ)每個(gè)電平的持續(xù)時(shí)間,用于以后判斷是0還是1irtime=0;i+;if(i=33)/33是33位的意思,包括32位的數(shù)

3、據(jù)和一位的頭碼。irok=1;i=0;elseirtime=0;startflag=1;/*定時(shí)器0初始化*/voidTIM0init(void)/定時(shí)器0初始化TMOD=0x02;定時(shí)器0工作方式2,TH0是重裝值,TL0是初值TH0=0x00;/裝初值TL0=0x00;ET0=1;/開中斷TR0=1;/*外部中斷0初始化*/voidEX0init(void)IT0=1;/指定外部中斷0下降沿觸發(fā),INT0(P3.2)EX0=1;/打開外部中斷EA=1;/開總中斷/*鍵值處理*/voidIr_work(void)/紅外鍵值散轉(zhuǎn)程序個(gè)是反碼,第三個(gè)才是0-9的按鍵,數(shù)碼管顯示相應(yīng)switch(

4、IRcord2)/判斷第三個(gè)數(shù)碼前兩個(gè)是用戶碼,最后一真正的數(shù)據(jù)碼。case0x16:P0=table0;break;/0按下遙控器上面的按鍵值case0x0c:P0=table1;break;/1case0x18:P0=table2;break;/2case0x5e:P0=table3;break;/3case0x08:P0=table4;break;/4case0x1c:P0=table5;break;/5case0x5a:P0=table6;break;/6case0x42:P0=table7;break;/7case0x52:P0=table8;break;/8default:brea

5、k;irpro_ok=0;/處理完成標(biāo)志/*紅外碼值處理*/voidIrpro(void)/紅外碼值處理函數(shù)分析出那些是1那些是0unsignedchari,j,k;unsignedcharcord,value;k=1;/前導(dǎo)碼沒數(shù)據(jù),從第二個(gè)開始,就是用戶碼開始。for(i=0;i4;i+)/處理4個(gè)字節(jié)for(j=1;j7)/低電平下降沿到下一個(gè)下降沿的寬度是0.56+0.565=1.125ms,高電平則是0.56+1.69=2.25ms,同樣我們也給出一個(gè)范圍用于區(qū)分它們,可以這樣識(shí)別(1.125ms+2.25ms)/2=1.68ms,/大于1.68為高,小于1.68為低。II假設(shè)使用12M晶振定時(shí)器的單位數(shù)值時(shí)1us,使用8位定時(shí)器自動(dòng)重裝,將得到每個(gè)定時(shí)周期0.256ms的時(shí)長(zhǎng),1.68/0.256=6.59,約等于7也就是定時(shí)器0計(jì)數(shù)次數(shù)。value|=0x80;II最高位就給1,if(j=1;k+;IRcordi=value;value=0;irpro_ok=1;II處理完畢標(biāo)志位置1I*主函數(shù)*Ivoidmain(void)EX0init();II初始化外部中斷TIM0init();II初始化定時(shí)器P仁0x00;II取位碼第一位數(shù)碼管選通,即二進(jìn)制11111110while(1)II主循環(huán)if(irok)I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論