基于POVLED的紅外遙控系統(tǒng)原理解析_第1頁
基于POVLED的紅外遙控系統(tǒng)原理解析_第2頁
基于POVLED的紅外遙控系統(tǒng)原理解析_第3頁
基于POVLED的紅外遙控系統(tǒng)原理解析_第4頁
基于POVLED的紅外遙控系統(tǒng)原理解析_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、LOGO載#include “STC15F2K08S2.h” /利用stc-isp-15xx軟件生成uchar bit_num; /紅外數(shù)據(jù)接收位計數(shù)(133)bit start_flag; /紅外脈沖數(shù)據(jù)接收開始標(biāo)志位bit ir_receok; /紅外脈沖數(shù)據(jù)接收完成標(biāo)志uchar ir_time; /紅外脈沖寬度計時(兩個相鄰下降沿)uchar ir_data33; /紅外脈沖寬度數(shù)據(jù)緩存,第1位為引導(dǎo)位,后32位為用戶碼及數(shù)據(jù)碼位#define uchar unsigned char #define uint unsigned intuchar ir_code4; /紅外譯碼處理數(shù)據(jù)

2、/ir_code0-用戶碼00,ir_code1-用戶碼反碼FF, / ir_code2-數(shù)據(jù)碼,ir_code3-數(shù)據(jù)碼反碼void time_exti_init(void) AUXR=0X40; /設(shè)置定時器T1為1T(不分頻)模式 TMOD=0X00; /定時器1工作模式0,16位自動重裝; TL1= 0 x33; /設(shè)置定時1低8位,125us TH1= 0 xF5; /設(shè)置定時1高8位, F533=62771 /125us=(65536-62271)/22.1184 ET1=1; /開定時器1中斷使能 TR1=1; /開啟定時器1 IT1=1; /外中斷1觸發(fā)方式,為1時為下降沿有效

3、,為0時低電平有效 EX1=1; /外中斷1使能標(biāo)志 EA=1; /開啟總中斷void timer1(void) interrupt 3 using 2 ir_time+; /紅外脈沖寬度計時/引導(dǎo)碼大致范圍:125us*100=12.5ms13.5ms /若成功接受引導(dǎo)碼,ir_time=108,125us*108=13.5ms void INT1_IR (void) interrupt 2 using 0 if(start_flag) if(ir_time=100)bit_num=0; /引導(dǎo)碼判斷 ir_databit_num=ir_time; /把紅外脈沖計時存到ir_date里 ir

4、_time=0; /紅外脈沖計時置0,開始下一個脈沖計時 bit_num+; if(bit_num=33) /接收紅外脈沖數(shù)據(jù)位完畢 ir_receok=1; /紅外脈沖數(shù)據(jù)接收完成標(biāo)志置1 bit_num=0; /紅外數(shù)據(jù)接收位置紅外數(shù)據(jù)接收位置0 start_flag=0; /紅外脈沖數(shù)據(jù)接收開始標(biāo)志位置0 else /若一幀數(shù)據(jù)的第一個下降沿到來,則置開始接收標(biāo)志位,同時ir_time清零 ir_time=0; /開始引導(dǎo)碼計時 start_flag=1; /紅外脈沖數(shù)據(jù)接收開始標(biāo)志置1 uchar IR_decode() uchar i,j,k=1,value=0 x00; for(i

5、=0;i4;i+) /四個字節(jié) for(j=1;j14) / 14*125us=1.75ms, NEC標(biāo)準(zhǔn),1碼長為2.25ms ,0碼長為1.125ms value=value|0 x80; /value最高位或上0 x80置1 else value=value; / 否則value最高位仍為0 if(j1; /value右移1位,移位后空位補0 k+; /ir_data緩存讀數(shù) ir_codei=value; /把處理完的字節(jié)放到ir_code里 value=0 x00; / value重新置0 if(ir_code2=ir_code3&ir_code0=ir_code1&ir_code0=0 x00) /用戶碼判別,杜絕紅外干擾,判斷傳輸數(shù)據(jù)是否完整正常 return 1; else return 0;void IR_control(void) if(ir_receok) /紅外數(shù)據(jù)接接收完成標(biāo)志為1有效 ir_receok=0; if (I

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論