<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于8952單片機的紅外解碼(TC9012F編碼)

基于8952單片機的紅外解碼(TC9012F編碼)

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏
紅外操作免去了和機器接觸。第一是方便,第二也很自然的可以將用戶(hù)與管理著(zhù)分離(使用功能在遙控上,調試功能在機器上)。所以免不了在自己的電子鐘設計中加入了紅外。加的多,學(xué)得也多嘛。

雖然重點(diǎn)在后面,但是先上個(gè)程序

本文引用地址:http://dyxdggzs.com/article/201611/323082.htm

參考總結后,第一次參考歸納出源程序如下:

#include
#include
#include
////////////////////////////////////////////////

sbit ir=P3^2;//紅外接口標志

////////////////////////////////////////////

unsigned char irtime;//電平寬度(以定時(shí)器來(lái)記錄)
bit irpro_ok,irok;
unsigned char ircord[4];
unsigned char irdata[33];

//////////////////////////////////////////////

void ir_work(void);
void ircordpro(void);

//////////////////////////////////////////////////////////////////

void tim0_isr (void) interrupt 1 using 1//定時(shí)器0中斷服務(wù)函數
{
irtime++;
}

///////////////////////////////////////////////////////////////////////
void ex0_isr (void) interrupt 0 using 0//外部中斷0服務(wù)函數
{
unsigned char i;
bit startflag;

if(startflag)
{
TR0=0;
if(irtime<38&&irtime>=34)//引導碼判斷(9MS)
i=0;
TR0=1;
//確認為引導碼,初始為新的32位編碼開(kāi)始
irdata[i]=irtime;//i=0是引導碼,后面是其余碼。每次記錄的是每次高低電平一起的脈沖寬度。
//收到到一個(gè)碼算一次中斷,中斷結束前清零寬度計時(shí)
irtime=0;
i++;
if(i==33)
{
irok=1;
i=0;
}
}
//第一次進(jìn)入中斷開(kāi)啟startflag,用于第二次進(jìn)入中斷計時(shí)比對
else
{irtime=0;startflag=1;}

}

////////////////////////////////////////////////////////////////////
void TIM0init(void)//定時(shí)器0初始化
{

TMOD=0x02;//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值
TH0=0;//reload value
TL0=0;//initial value
ET0=1;//開(kāi)中斷
TR0=1;
}
///////////////////////////////////////////////////////////////////
void EX0init(void)
{
IT0 = 1;
EX0 = 1;
EA = 1;
}
void ir_work(void)//紅外鍵值散轉程序
{

switch(ircord[2])//判斷第三個(gè)數碼值(數據碼,后面是反碼,前面是引導碼和地址碼)
{
case 0:P1=0x00;break;//1 LED顯示相應的按鍵值
case 1:P1=0xfe;break;//2
case 2:P1=0xfd;break;//3
}


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>