微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > MAIN函数为什么是循环的效果?

MAIN函数为什么是循环的效果?

时间:10-02 整理:3721RD 点击:
写了一个C程序,想让蜂鸣器响500MS,在停500MS,之后程序停止,可是为什么蜂鸣器不停的间断的响,好像MAIN函数就是在循环中一样的效果,哪位大虾能给分析分析,不胜感激!
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit beef=P2^3;
void delay(uint);   
void main()
{
beef=0;
delay(500);
beef=1;
delay(500);
}
void delay(uint z)
{
  uint x,y;
for(x=100;x>0;x--)
{
for(y=z;y>0;y--)
  {}
}
}

beef=1;
delay(500);
上边两个语句是程序执行的最后两句。执行完了就会从头开始执行。你在delay(500)后边加个while(1)试试。

延时delay
void delay(uint x)
{
    while(x--);
}

void main()
{
beef=0;
delay(500);
beef=1;
delay(500);
while(1);
}
小编的主程序这样写就能解决问题啦!

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

网站地图

Top