微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么我的程序跳不出for循环?!

为什么我的程序跳不出for循环?!

时间:10-02 整理:3721RD 点击:
本人小菜鸟   用KEIL编写的小程序
烧到单片机里却发现,不是奇偶循环三次,而是无限的。
为什么呢?

#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=123;y>0;y--);       
}
void main()
{
        uint  b;
        for(b=0;b<3;b++)
        {
                P1=0x55;
                delay(300);
                P1=0xaa;
                delay(300);
        }       
}

#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=123;y>0;y--);      
}
void main()
{
        uint  b;
        for(b=0;b<3;b++)
        {
                P1=0x55;
                delay(300);
                P1=0xaa;
                delay(300);
        }      
while(1); //等待
}

大侠没有,菜鸟有一只,你试一试这个,祝你成功

楼上正解                 

主函数里只有循环,它能不死循环吗

小编这不是搞笑吗?单片机就一直是跑main程序的。

一般要在main函数的最后加上“while(1);”让程序停在while 中

路过                     

了然。谢谢~~~~

所以我说自己是只菜鸟,见笑了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top