📄 遥控解码程序.txt
字号:
遥控解码程序
作者:尘封往事 文章来源:本站原创 点击数:644 更新时间:2005-11-11
#include < reg52.h >
code char arr[][2] = { 0X90,0X6f, 0X00,0Xff, 0X80,0X7f, 0X40,0Xbf, 0Xc0,0X3f, 0X20,0Xdf, 0Xa0,0X5f,
// 0 1 2 3 4 5 6
0X60,0X9f, 0Xe0,0X1f, 0X10,0Xef, 0X18,0Xe7, 0X98,0X67, 0X08,0Xf7, 0X88,0X77};
// 7 8 9 定时 显示 频道上 频道下
code char LedHexCode[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
//0 1 2 3 4 5 6 7
0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 };
//8 9 a b c d e f
bit guide = 0;
bit ok = 0;
unsigned char lenth,key=0;
unsigned char ch=0;
unsigned char tmp[ 4 ];
unsigned char count;
void init( void );
void LedTimeCall( unsigned char);
void deal( unsigned char);
void error(void);
void main( void )
{
static unsigned char K=0;
EA = 0;
init();
EA = 1;
while( 1 )
{
switch( key )
{
case 0: K=0; break;
case 1: K=1; break;
case 2: K=2; break;
case 3: K=3; break;
case 4: K=4; break;
case 5: K=5; break;
case 6: K=6; break;
case 7: K=7; break;
case 8: K=8; break;
case 9: K=9; break;
// case 10: K=1; break;
// case 11: K=K+1; break;
case 12: K=23; break;
case 13: K=1; break;
default : break;
}
LedTimeCall(K);
}
}
void init( void )
{
IT0 = 1;
INT0 =1;
TMOD = ( TMOD & 0XF0 ) | 0X01;
TH0 = TL0 =0;
TR0 = 0;
PX0 = 1;
EX0 = 1;
}
void LedTimeCall( unsigned char k )
{
P2 &= 0x0f;
P0 = LedHexCode[ k ];
}
void int0( void ) interrupt 0
{
TR0 = 0;
lenth = TH0;
TH0 = TL0 = 0;
TR0 = 1;
if( lenth == 0 )
{
tmp[0] = tmp[1] = tmp[2] = tmp[3] = 0;
count = 0;
ok = 0;
guide = 0;
}
else{
if(lenth == 0X20) {guide = 1;}
else{
if(guide == 0) error();
else{
if (lenth==4|lenth==3) deal(0);
else if(lenth==8) deal(1);
else error();
}
}
}
}
void deal( unsigned char i )
{
unsigned char n;
ch <<= 1;
if(i) ch |= 0x01;
else ch &= 0xFE;
++count;
//if( ch==0xf0)
if(count == 24) {tmp[2]=ch;
//if(count == 32)
//{
TR0 = 0;
TH0 = TL0 = 0;
tmp[3] = ch;
count = 0;
guide = 0;
ok = 1;
}
if(ok == 1)
{ for( n = 0; n < 14; n++ )
{
if( tmp[2] == arr[n][0] )
{
key = n;
break;
}
}
}
}
void error( void )
{
TR0 = 0;
TH0 = TL0 =0;
tmp[0] = tmp[1] = tmp[2] = tmp[3] = 0;
count = 0;
guide = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -