求助!!!!!蜂鸣器为什么不响!!!

2019-07-15 19:25发布

#include<reg51.h>
sbit buzzer=P0^0;
void delay(int);
void pulse_BZ(int,int,int);
void main()
{
        while(1)
        {
                pulse_BZ(100,1,1);
                delay(1000);
        }
}
void delay(int x)
{        
        int i,j;
        for(i=0;i<x;i++)
                for(j=1;j<=60;j++);

}
void pulse_BZ(int count,int th,int tl)
{
        int i;
        for(i=0;i<count;i++)
        {
                buzzer=1;
                delay(th);
                buzzer=0;
                delay(tl);
        }
}
程序测试也没问题的!
电路图 电路图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
ntmusic
1楼-- · 2019-07-17 05:04
直接弄个实物出来。仿真并不能代表实际,有时反而误导人去排除一些本来不存在的问题。
LEOzht
2楼-- · 2019-07-17 09:04
lin5103151 发表于 2014-6-15 11:31
没问题的。只是三极管部分处理不好,电流太小了。不知如何修改!!

电流小了,再加个三极管放大一下就可以了,或者用运放也行。
依然犹在
3楼-- · 2019-07-17 14:03
蜂鸣器一般需要12v 或者9v电压来驱动,上拉12v试试
lin5103151
4楼-- · 2019-07-17 19:00
 精彩回答 2  元偷偷看……
心随我动李
5楼-- · 2019-07-17 19:57
P0口要加上拉电阻才能输出正确的高低电平,你这图有问题,换P1口就好了,还有演示有点短,确保用的不是和频率有关的那种蜂鸣器!
心随我动李
6楼-- · 2019-07-17 20:49
P0口不是真正的IO口,要加上拉电阻才能输出正确的高低电平,换上P1口就好了(无需上拉),还有确保用的实物不是那种和频率有关的蜂鸣器呀!

一周热门 更多>