?? tc9012.c
字號:
// 波特率發(fā)生器的初值(115200波特率)XTAL 11.0592M
#include"TC9012.h"
unsigned char Value_h,Tcount;
unsigned char RemoteData;
bit OKFlag;
void Decoder( void );
/***********************************************************
函數(shù)名稱:外部中斷1 處理函數(shù)
函數(shù)功能:讀取代碼
入口參數(shù):
出口參數(shù):
備 注: 10Mhz晶振的時間置數(shù),作別的晶振要注意改變
***********************************************************/
void int1(void) interrupt 2
{
if ( TH0==0 && TL0==0 ) //判斷是否是第一次接收到紅外數(shù)據(jù)
{
TR0 = 1;
}
else
{
TR0 = 0;
Value_h=TH0;
TH0 = TL0 =0;
TR0 = 1;
if( Tcount>=16&&Tcount<24)//取有效數(shù)據(jù)碼,舍棄其他碼
{
if(Value_h>=0&&Value_h<=3)
RemoteData &= 0x7f;
else if(Value_h>=4&&Value_h<=13)
RemoteData |= 0x80;
RemoteData >>= 1;
}
Tcount++;
if(Tcount>=33)////一共取33位有效數(shù)據(jù)(包括引導(dǎo)頭數(shù)據(jù))
{
TR0=0;
TH0=TL0=0;
Tcount=0;
OKFlag=1;
}
}
}
/***********************************************************
函數(shù)名稱:T0中斷
函數(shù)功能:
入口參數(shù):
出口參數(shù):
備 注:
***********************************************************/
void Timer0(void) interrupt 1
{
TR0 = 0;TH0 = TL0 = 0;Tcount = 0;
}
/***********************************************************
函數(shù)名稱:
函數(shù)功能:
入口參數(shù):
出口參數(shù):
備 注:
***********************************************************/
void Decoder( void )
{
if(OKFlag)
{
Dis4bitNumber(0,3,RemoteData);
OKFlag = 0;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -