红外遥控小车,前后左右四个动作,只有前进正常。。。

2020-01-30 13:35发布

void main(void)
{
    InitTimer();                //³õʼ»¯Timer
    while(1)
    {
        if(B_IR_Press)                //ÓÐIR¼ü°´ÏÂ
        {
            B_IR_Press = 0;           //Çå³ýIR¼ü°´Ï±êÖ¾
                        if(IR_code==0x1b)               
                        {
                                fun1();
//                                delayms(255);
                        }
                        if(IR_code==0x0d)               
                        {
                                fun2();
//                                delayms(100);
                        }
                        if(IR_code==0x16)               
                        {
                                fun3();
//                                delayms(100);
                        }
                        if(IR_code==0x17)               
                        {
                                fun4();
//                                delayms(100);
                        }
                        if(IR_code==0x0c)               
                        {
                                fun5();
                                delayms(100);
                        }
                        IR_code=0;
        }
    }
}
void fun1()
{ P10=0;P11=1;P12=0;P13=1;}
void fun2()
{ P10=1;P11=0;P12=1;P13=0;}
void fun3()
{ P10=1;P11=0;P12=0;P13=1;}
void fun4()
{ P10=0;P11=1;P12=1;P13=0;}
void fun5()
{ P10=1;P11=1;P12=1;P13=1;}

fun12345分别是前进,后退,左拐,右拐,停机。目前红外解码正常,前进正常,也就是按一下遥控电机会向前走一小段,但其它三个动作都是按一下,一直走。。。。。只有再按一下前进或者停机,小车才会停下来。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。