我在一个让八只LED依次闪烁的小程序上卡着了。附上代码 #include<reg51.h>
void delay()
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++);
}
main()
{ while(1)
{ P3=0xfe;
delay();
P3=0xfd;
delay();
P3=0xfb;
delay();
P3=0xf7;
delay();
P3=0xef;
delay();
P3=0xdf;
delay();
P3=0xbf;
delay();
P3=0x7f;
delay();
}
}
这样的程序是完整的,问题是如果把i与j的值改为350,得到的结果是只有一个LED亮。我怀疑是不是这样一来把延迟时间调高了?但如果按照延迟时间计算方法:350*350/1200 0000=10.2ms按说也可以观察的到闪烁呀,求解~ |