单片机流水灯程序,第一个灯亮然后第二个灯亮,这么写哪里有问题,求大神,求指教

如题所述

请你参考:

    在 P2 = 0xfd; 的后边 再加一句 delay(100); 

    就可以解决问题。

    不过,只见你的 void delay(uint a); 的声明,

    怎么没见到实现。

    如果没有,你添加以下:

void delay(uint a)
{
    unsigned char t;
    while(a--)
    for(t=0;t<120;t++);
}

希望能解决你的问题!!!!!

追问

弄好了,谢谢,但是你可以告诉我为什么吗,我还是不懂

请教我一下可以吗,弄不动下次我还做不出很麻烦的

追答

如果没有第二次延时,那么执行了P2=0xfd之后,循环马上返回,从头开始立刻执行P2=0xfe;第二个灯还没亮起来,又让第一个灯亮了,所以你总是看到第一个灯亮。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答