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

2019-07-15 11:32发布

写了一个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--)
  {}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
9702855
1楼-- · 2019-07-15 17:01
beef=1;
delay(500);

上边两个语句是程序执行的最后两句。执行完了就会从头开始执行。你在delay(500)后边加个while(1)试试。
ALQADZ
2楼-- · 2019-07-15 17:30
延时delay

void delay(uint x)
{
    while(x--);
}
1406093611
3楼-- · 2019-07-15 20:39
void main()
{
beef=0;
delay(500);
beef=1;
delay(500);
while(1);
}
楼主的主程序这样写就能解决问题啦!

一周热门 更多>