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

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条回答
人中狼
2019-07-17 10:24

把main改成这样试试,
void main()
{
        beep=~beep;
                delay (50);
        while(1);
}
试一试这样改吧,这里只改变了一次蜂鸣器的驱动电平,对于无源蜂鸣器来说是不会响的,while(1)会形成一个死循环,程序会停在这里,这样就可以判断蜂鸣器是有源的还是无源的了。

一周热门 更多>