新手请教单片机while(1)的使用

2019-07-16 04:54发布

代码如下:
#include<reg52.h>
sbit led1=P1^0;
unsigned int i,j;
void main()
{
  //while(1);
    {
        for(i=0;i<500;i++)
          for(j=0;j<100;j++)
              led1=0;
        for(i=500;i>0;i--)
          for(j=110;j>0;j--)
                led1=1;
         }
}


请大家看收程序,我把while(1)注释了,程序也在反复执行,那这个while(1)还有何意义呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
lstcspring
1楼-- · 2019-07-17 01:21
 精彩回答 2  元偷偷看……
小路风声
2楼-- · 2019-07-17 01:23
楼上这样写,程序就死了,就一直死等,只有等响应中断
a651588
3楼-- · 2019-07-17 03:18
你的程序写的有问题,while(1)后面不应有“;”,你再把while(1)语句的"{"和"}"也注释了调试下。
jackor88
4楼-- · 2019-07-17 04:41
同意10楼看法。。。
yuanyundan
5楼-- · 2019-07-17 07:32
main()本身就有循环,如果你一定要只闪一次,
#include<reg52.h>

sbit led1=P1^0;
static unsigned int x;

void delay(void)
{                unsigned char i,j,m;
for(m=2;m>0;m--)
for(i=0;i<200;i++)
for(j=0;j<200;j++);
         
}

void main()
{ x=0;
while(1)
{led1=1;
delay();
x++;
if(x==1)
{
led1=0;delay();}
else {led1=1;delay();
}       

}        
}试试这个 吧
不会死循环
那一方,彼岸花
6楼-- · 2019-07-17 10:27
 精彩回答 2  元偷偷看……

一周热门 更多>