那顺便帮我看下下面的代码:
P1 = 0Xfe;
while(1)
{
P1= _crol_(P1,1);
Delay(100);
}
为什么这个代码没有流水的效果?
我的理解是每一次循环P1里面的位都向左移一位,不知道我的理解是不是错误.
如:第一次循环后:P1 是1111 1101
第二次循环后:P1 是1111 1011
然后以此类推,产生流水的效果。
实际过程中,第一个灯亮后,第二个灯亮,然后就一直停留在第二个灯亮,第三个灯不亮,后面的灯也不亮。
下面的代码可以实现流水灯:
P1 = 0xFE;
while(1)
{
for(k = 0;k < 8;k++)
{
P1= _crol_(P1,1);
Delay(100);
}
} |