为什么我用蜂鸣器就用了一个输出脉冲它却会一直响?以下是我的代码

2019-07-15 10:04发布

#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;

sbit beep=P1^5;

void delay (u16 b)
                {
                        while(b--);
                }

void main()
{
        u8 i=0;
        for (i=0;i<1;i++)
        {
   beep=~beep;
                delay (50);
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
别离没有喧嚣
1楼-- · 2019-07-16 12:02
加while(1)是什么意思
wulinwl
2楼-- · 2019-07-16 17:40
 精彩回答 2  元偷偷看……
别离没有喧嚣
3楼-- · 2019-07-16 17:52
而且当我输入的i<=500时还是会一直响
人中狼
4楼-- · 2019-07-16 20:08
把main改成这样试试,
void main()
{
        beep=~beep;
                delay (50);
        while(1);
}

另外,你如何确定你用的蜂鸣器是无源的,无源蜂鸣器好像频率不对,也不怎么会响的
李春明
5楼-- · 2019-07-16 20:18
这个楼主最好将所用元件晒一下
别离没有喧嚣
6楼-- · 2019-07-16 20:36
王栋春 发表于 2017-7-27 21:29
这个楼主最好将所用元件晒一下

呃呃

一周热门 更多>