資源描述:
《通用紅外解碼程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、通用紅外解碼程序#include#include//^TsZgSXgSXgSXgSX7SXgSXjSXgSXgSX
2、SXjsXgSX
3、SX7SXgXXrSXgSXgSXjsX
4、SX
5、SXgSX
6、SX
7、SXgSXgSZT^XjSX
8、SXIXXgSX
9、S^TsXgSX
10、SXgSXjSX
11、SXgSXgSX
12、SX7SX
13、SX
14、SXgSXgSXgSX
15、X項目名:紅外遙控解碼程序(通用)MCU型號:STC89C52編譯器:Keil(偉福)設(shè)計者:木木時間:2010-12-07>1^/XgXXgSXgSXjSXgSXjSXjSXg
16、SXgSXgSXgSXgSX
17、SXjsXgSX
18、SX7SXgSXisXgSXgSXjsX
19、SX
20、SXgSX
21、SX
22、S^
23、SXgSXjSX
24、SXT^XgSX
25、SXgS^
26、SX
27、SXgSXjSX
28、SXgSXgSX
29、SX7SX
30、SX
31、SXgSXT%/#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongttdefineDOG_TIME0x32//設(shè)置看門狗時間ulongIRcode=0x000000;//24位的鍵代碼//ulongIRcode=0x00000000;//32位
32、的鍵代碼uintcustomcodeuinttime_us=0x0000;=0x0000;uchartimeH,timeL;uchartime_100us;ucharwaitnum;ucharLcustomcode=0x00;ucharHcustomcode=0x00;uchardatacode=0x00;ucharRdatacode=0x00;bitNewIRcode=0://16位用戶碼//兩個下降沿之間的時間//保存TH1TL1的值//轉(zhuǎn)換100us單位后的時間//停留時間//低8用戶碼//高8//8位鍵數(shù)據(jù)碼//8位鍵數(shù)據(jù)反碼//指示當(dāng)處理完了32
33、位碼后,就有了新的遙控碼//為1時讀取數(shù)據(jù)止確//外部中斷0引腳bitDataRight二0;sbitP32二P3'2;ucharcn;ucharflag_big,fla.g_small,flagjniddle,flag_start,flag_H,fla.g_L,flag_sz;uchartime_cnt[34];ucharxdataarray[4]_at_0X0000;//?Tx?Tx?Txxrxx7xxtxx7xxrxXgX^Tx串口發(fā)送程序參數(shù):xJxsixxlxxlx%2xxlxsixxlxxlx%Xxsixsixxlxsixsixxlx/^T>^
34、T>/voiddata_out()WDT_C0NTR二D0G_TIME;EA二0;TI=0;SBUF=time_cnt[1];while(!TI);TI=0;SBUF=Lcustomcode;while(!TI);TI=0;SBUF=IIcustomcode;while(!TI);TI=0;SBUF=flag_big;while(!TI);TI=O;SBUF=flag_small;while(!TI);TWO;SBUF=datacode;while(!TI);TI=O;//SBUF=Rdatacode;//while(!TI);//TI=O;SBUF二Ox
35、OO;while(!TI);TI=O;SBUF二0x00;while(!TI);TWO;SBUF=OxOO;while(!TI);TI=O;EA=1;//xT%xT>"廠延時程序參數(shù):、!"J.7"7"J.、!"7"、!"、!"、!“J.J.、!“v*>7“、!“、!“、!“■!“、!“、!“■!“、!“、!“7“、!“7“7“、!“7“、!“、!“、J、!“、!“7“7“、!“J..7“、!“J..7“、!“J..、!“、!“、!“、!“、!“、!“x*x、lx7“^l>qxT%xT>xT%/voiddelay()uchart,y,n;for(n=wa.
36、itnum;n>0;n--)for(t=0;t<150;t++)for(y=0;y<20;y++)WDTCONTR二DOGTIME;fxlxsixsixsixxlxsixx£xsixsixsixxlxsixx^xsi^sX^/x^X<^串口中斷參數(shù):xJxsixx^xx^xxl^xlxxlx%2xxlxsl^sixxlxxlx%Xxsixsix^zxxlxsixsix^zxxlx^Ax/Xi^^T>^T>/spin()WDT_CONTR二DOG_TIME;while(!RI);RI二0;sport(void)interrupt4spin();if(SBUF
37、!二0x55)return;spin();if(SBUF!=0xa