打印
[51单片机]

红外线遥控器解码出错,各位大神求解啊

[复制链接]
870|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
风feng|  楼主 | 2018-1-20 21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
解出来的码值跟按键的码值不对,而且按同一个按键解出来的码值也不同,请问是那里出错了?
void int0() interrupt 0   
{        U8 TA;
        U8 i , j;
        EX0 = 0;
        TA = 0 ;
    //总共延时2ms
        TR1 = 1;          
        while(ZI);       
        if(p32 != 0)
    {
        EX0 = 1;
                return;
        }
        while(p32 == 0);
        //延时2.5ms
        TH1 = 0xff ;
        TL1 = 0x06;
        TR1 = 1;
        ZI = 1;
        while(ZI) ;
        while(p32 != 1)         //        2.5ms的连发码
        {
                EX0 = 1;
                return;
        }
        if(TF1 != 0)
             TF1 =0;
        //接收4.5ms的高电平
        while(p32 == 1);
        for(j=0;j<4;j++)
        {
                  for(i=0;i<8;i++)
                {
                        //接收0.56ms的低电平
                        while(p32 == 0);
                   //延时0.6ms               
                        TH1 = 0xfd;
                        TL1 = 0xa8;
                        TR1 = 1;
                        ZI = 1;
                    while(ZI);                                               
                        if(p32 == 1)
                                TA |= 0x80;
                        TA >>= 1;                                                                            

                }
                SHUZU[j] = TA;
        }
    if(SHUZU[2] != ~SHUZU[3])
        {
                EX0 = 1;
                SHUZU[2] = 0;
                p03 = 0;
                return ;
        }
        EX0 = 1;
}

void timer1() interrupt 3        
{
        ZI = 0 ;
}

相关帖子

沙发
airwill| | 2018-1-22 22:27 | 只看该作者
呵呵, 又来一个要求改代码的.
什么硬件合电路介绍都没有, 谁猜得出来呢

不能这样子提问吧

使用特权

评论回复
板凳
Ketose| | 2018-1-23 09:26 | 只看该作者
这种代码看都不想看。

使用特权

评论回复
地板
zqx1000| | 2018-4-10 19:19 | 只看该作者
kankan

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

24

帖子

0

粉丝