1秒等于1000毫秒,8个灯1秒钟循环一个周期,那么1000/8=125毫秒移位一次即可!这个需要用定时器设置初始值!
void delay(unsigned int x)
{
unsigned int i,j;
for(i=x;i>0;i--)
for(j=110;j.0;j--);
} //单位延时1ms;
1s内总共要移64次(8*8)一次移位要的时间是1/64=15.625ms,
约等于16;移位一次后只要调用delay(16);就可以近似实现了。
1秒内循环8次,一次又8次,也就是64次(如果我理解不正确你就是一秒让这8个循环一次,那就是1/8=0.125秒)64次的话就是1/64=0.015625秒
8次 * 8位 64次
1秒钟内 移位 64 次
1/64 = 0.015625秒
移位的时间间隔是15.625 毫秒