|
編了個流水燈程序 代碼如下 左移比右移頻率快
#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語句就這么慢?
|
|