作业帮 > 综合 > 作业

请问:下面的循环" for(i=400;i>0;i--) "改成"for(i=20;i>0;i--) for(j=20;

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 04:21:04
请问:下面的循环" for(i=400;i>0;i--) "改成"for(i=20;i>0;i--) for(j=20;j>20;j--)",时间增加一倍,为何?
我的单片机是STC89C52RC,11.0592M的.
void delay02s(void) //延时0.2秒子程序
{
unsigned char i,k; //定义3个无符号字符型数据.改for语言后多定义个j;
for(i=400;i>0;i--) //作循环延时
for(k=248;k>0;k--);
}
你的标题的问题没在你内容里体现.你应该把问题描述的更清楚一点.
for(i=400;i>0;i--) "改成"for(i=20;i>0;i--) for(j=20;j>20;j--) 你确认是 j>20?
关于将循环写成两个,时间增加,这是肯定的.
因为循环除了循环语句,其循环本身也是需要cpu时间的.在循环体简单的情况下,这种时间会更加明显.
再问: 打错了,是"j>0"