|
编了个流水灯程序 代码如下 左移比右移频率快
#include <reg51.h>
void main()
{
unsigned int i,j=0;
P1 = 0x00;
while (1)
{
P1 = 0x80>>++j;//依次右移0~7位
for(i=0;i<20000;i++);
if(j==7)
{
while(j!=0)
{
P1=0x80>>--j; //依次右移7~0位
for(i=0;i<20000;i++);
}
}
}
}
debug 后发现 就是第二次右移7~0位时比上面多了个 while(j!=0)导致的频率不一致 延时时间在50ms以上
单片机处理 while语句就这么慢?
|
|