知道大家时间宝贵,我就只把确定有误的一小部分程序贴出来了,希望朋友们帮忙看下,找找是哪错了,我改两天了,真纠结!。。。。解码后读出来的数据为00000000或o8o9oaob(十六进制),而且按哪个键解出来的码都不变。希望大家给解下或者传点经验,谢了。。。。。
其中遥控器的芯片是6122的,接头是HS0038的。P3.3接红外接收头
void jiema2() //解引导码后的32位编码
{
unsigned char i,j,temp;
void chuli();
temp=0;
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
temp=temp>>1;
while(!P3_3);
delay(2); //延时约0.84ms,时间是我用keil编译器得到了
if(P3_3==1)
{
temp=temp|0x80;
while(P3_3);
}
else temp=temp|0;
}
dat[i]=temp;
}
if (dat[2]!=~dat[3])
return;
else
chuli();
} |