那順便幫我看下下面的代碼:
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);
}
} |