这个程序为什么会进行循环呢 不是应该顺序执行一次吗

2019-07-18 11:47发布

#include <REGX51.H>
sbit led=P1;
delay(unsigned int y)
{
        while(y--);
}
void main(void)

{
        P1=0xff;
        delay(50000);
        P1=0x00;
        delay(50000);

}
这个程序为什么会进行循环呢             不是应该顺序执行一次吗

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
a454672135
2019-07-19 02:23
程序的执行就是在main函数里循环的。正常的程序编写会在main函数的开始进行一些初始化函数的调用,变量赋初值之类的,之后再加一个while(1){...},程序就会while里循环了,知道return跳出。如果你想这个程序只执行一次的话应该这么写。
#include <REGX51.H>
sbit led=P1;
delay(unsigned int y)
{
        while(y--);
}
void main(void)

{
        P1=0xff;
        delay(50000);
        P1=0x00;
        delay(50000);
         while(1);
}

另附一般书写规律

...//之前省略函数,头文件
void main()
{
     config();//这个可以进行各种初始化
     ....//省略各种定时器,AD,传感器等初始化
     while(1)
     {
        .....//主程序循环执行
     }
}



纯手敲,供参考,我也是刚刚工作的初学者,大神勿喷,见谅。

一周热门 更多>