📄 sy.c
字号:
#include<reg51.h>
//------字表------------------------------
unsigned char code tab[]=
{ 0x3F,0x06,0x5B,0x4F, //"0","1","2","3"
0x66,0x6D,0x7D,0x07, //"4","5","6","7"
0x7F,0x6F,0x77,0x7c, //"8","9","A","B"
0x39,0x5e,0x79,0x71, //"C","D","E","F"
};
unsigned char yk_flag;
unsigned int a,b;
int n ;
unsigned char ch,ch_1;
unsigned char key_code,key_press;
sbit rec=P2^4; //红外接收
//接收遥控器信号--------------------------------------
void yaokong()
{ unsigned char i;
TR0=1 ;
n=0;
if(yk_flag==0)
{
while(rec)
{if(n>400) break; }
n=0;
while(!rec);
if(n>470)
{ //buff[0]=1;
n=0;
while(rec);
if((n>175)&&(n<290))
{//buff[1]=1;
n=0;
for(i=0;i<8;i++)
{ while(!rec);
n=0;
while(rec);
if((n>16)&&(n<58))
{ch=ch<<1;n=0;}
else if((n>70)&&(n<118))
{ch=(ch<<1)|0x01;n=0;}
}
// buff[2]=ch>>4;
// buff[3]=ch&0x0f;
while(!rec);
n=0;
while(rec);
if((n>168)&&(n<282))
{ for(i=0;i<8;i++)
{ while(!rec);
n=0;
while(rec);
if((n>16)&&(n<58))
{ch_1=ch_1<<1;n=0;}
else if((n>70)&&(n<118))
{ch_1=(ch_1<<1)|0x01;n=0;}
}
// buff[4]=ch_1>>4;
// buff[5]=ch_1&0x0f;
}
yk_flag=2;
}
if(ch==0x43)
{ switch(ch_1)
{
case 0x08 :key_code=1;key_press=1;break;
case 0x88 :key_code=2;key_press=1;break;
case 0x48 :key_code=3;key_press=1;break;
case 0xc8 :key_code=4;key_press=1;break;
case 0x28 :key_code=5;key_press=1;break;
case 0xa8 :key_code=6;key_press=1;break;
case 0x68 :key_code=7;key_press=1;break;
case 0xe8 :key_code=8;key_press=1;break;
case 0x18 :key_code=9;key_press=1;break;
case 0x98 :key_code=0;key_press=1;break;
case 0x58 :key_code=0x0a;key_press=1;break;
case 0xd8 :key_code=0x0b;key_press=1;break;
case 0x40 :key_code=0x0c;key_press=1;break;
case 0x80 :key_code=0x0d;key_press=1;break;
case 0x2c :key_code=0x0e;key_press=1;break;
case 0x70 :key_code=0x0f;key_press=1;break;
default :break;//buff[1]=0x0f;
}
}
}
n=0;
}
TR0=0 ;
}
void main()
{
TMOD=0x02;
TR0=1;
ET0=1;
EA=1;
TH0=0xfa;
TL0=0xfa;
while(1)
{
yaokong();
P1=tab[key_code];
yk_flag=0;
}
}
void to(void) interrupt 1 using 0
{
n++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -