新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機紅外遙控解碼

51單片機紅外遙控解碼

作者: 時間:2011-10-09 來源:網(wǎng)絡(luò) 收藏
//外部中斷程序
void intersvr1(void) interrupt 2 using 1
{
Tc=TH0*256+TL0; //提取中斷時間間隔時長
TH0=0;
TL0=0; //定時中斷重新置零
if((Tc>Imin)(TcImax))
{
m=0;
f=1;
return;
} //找到啟始碼
if(f==1)
{
if(Tc>Inum1TcInum3)
{
Im[m/8]=Im[m/8]>>1|0x80; m++;
}
if(Tc>Inum2TcInum1)
{
Im[m/8]=Im[m/8]>>1; m++; //取碼
}
if(m==32)
{
m=0;
f=0;
if(Im[2]==~Im[3])
{
IrOK=1;
}
else IrOK=0; //取碼完成后判斷讀碼是否正確
}
//準備讀下一碼
}

}

本文引用地址:http://butianyuan.cn/article/172456.htm


/*演示主程序*/
void main(void)
{
unsigned int a;

m=0;
f=0;
EA=1;

IT1=1;EX1=1;

TMOD=0x11;
TH0=0;TL0=0;
TR0=1;//ET0=1;

while(1)
{

if(IrOK==1)
{
show[1]=Im[2] 0x0F; //取鍵碼的低四位
show[0]=Im[2] >> 4;
IrOK=0;

}
for(a=100;a>0;a--)
{
display();
}

}
}

液位計相關(guān)文章:磁翻板液位計原理



上一頁 1 2 下一頁

關(guān)鍵詞: 解碼 遙控 紅外 單片機

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉