第一个程序
#include <reg52.h>
sbit led=P2^0;
void delay(void)
{unsigned int i;
for(i=0;i<32767;i++)
;
}
void main()
{
unsigned int i;
while(1)
{
led=0;
i=0;
delay();
led=1;
i=0;
delay();
}
}
第二个程序
#include <reg52.h>
sbit led=P2^0;
void main()
{
unsigned int i;
while(1)
{
led=0;
i=0;
for(i=0;i<32767;i++)
;
led=1;
i=0;
for(i=0;i<32767;i++)
;
}
}
上面两个程序的延时,为什么第二个程序的两个for语句延时差很多,达到零点几秒。再就是为什么第二个程序的第一个for语句如果把32767改为50000,在单步执行的时候直接一次性执行完,而第二个for语句可以一步一步慢慢执行?请大神指教,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>