您的位置 首页 数字

51单片机红外解码库文件

遥控器就是下面图上的那种完整的程序源码下载地址:http:www51heicombbsdpj-20623-1html红外解码文件irh*———————

遥控器便是下面图上的那种

完好的程序源码下载地址:http://www.51hei.com/bbs/dpj-20623-1.html
红外解码文件 ir.h/*—————————————————
称号:红外驱动
编写:YuMin_Dong
时刻:2012.11.26
—————————————————*/
#ifndef _IR_H_
#define _IR_H_
uint8 irtime;
uint8 irdata[33]/*,irprodata[4]*/;
bitirreceive_ok,irpro_ok;
//uint8 code LCD_TAB[]={“0123456789ABCDEF”};
void Timer1_Init(void)
{
TMOD|=0X20;
TH1=0;
TL1=0;
//EA=1;
ET1=1;
TR1=1;
}

void Timer1_IRQ(void) interrupt 3
{
irtime++;
}

void ExtInt0_Init(void)
{
IT0=1;
IE|=0x81;
}

void ExtInt_IRQ(void) interrupt 0
{
static uint8 i;
uint8 j,k;
if(irtime>32&&irtime<64)
i=0;
irdata[i]=irtime;//每次外中止时i会自加1,可见是一个i静态变量
irtime=0;
i++;
if(i==33)
{
i=0;
irtime=0;
//irreceive_ok=1;
ir_value=0;
k=17;
for(j=0;j<8;j++)
{
ir_value>>=1;
if(irdata[k]>6)
ir_value|=0x80;
k++;
}
irpro_ok=1;
}

if(irpro_ok)
{
irpro_ok=0;
if(matrix.S==FIRST)
{
if(ir_value==0x43)
{
ir_value=0xff;
matrix.S=Second;
}
else if(ir_value==0x40)
{
matrix.N++;
if(matrix.N>MENU_COUNT)
matrix.N=0;//主页翻动循环
ir_value=0xff;
}
else if(ir_value==0x44)
{
matrix.N–;
if(matrix.N<0)
matrix.N=MENU_COUNT;//主页翻动循环
ir_value=0xff;
}
else if(ir_value==0x46)
{
PCON|=0x02;
ir_value=0xff;
}
else if(ir_value==0x47)
{
PCON=0X01;
ir_value=0xff;
}
}

else
{
if(matrix.N==SNAKE)
{
Snake_Key();
if(ir_value==0x07)
{ir_value=0xff;snake_speed++;if(snake_speed>30);snake_speed=30;}
else if(ir_value==0x15)
{ir_value=0xff;snake_speed–;if(snake_speed<10) snake_speed=10;}
}
else if(matrix.N==JINIANRI)
LeftMove_Key();

else if(matrix.N==TIME)
Time_Key();

else if(matrix.N==SET)
Time_Set_Key();

else if(matrix.N==TEMPERATURE)
Temperature_Key();

//else if(matrix.N==RADIO)
//Radio_Key();

}
}
}

#endif

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/318221.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部