[51单片机] 蜂咛器声音很小,像蚊子一样

[复制链接]
5142|24
 楼主| 呵呵与哈哈 发表于 2014-7-18 12:38 | 显示全部楼层 |阅读模式
#include<reg52.h>
sbit Beep=  P1^5 ;
int a;
void Delay(unsigned int i) ;
void main()
{
          while(1)
        {
        a=60000;
        Beep= 1;
        while(a--);
        a=60000;
        Beep= 0;
        while(a--);
       
        }
}


#include <reg52.h>
sbit Beep =  P1^5 ;
void Delay(unsigned int i) ;
void main()
{
        Beep= 1;
        Delay(5);
        Beep= 0;
        Delay(5);
}
void Delay(unsigned int i)
{
        char j;
        for(i; i > 0; i--)
                for(j = 200; j > 0; j--);
}  

第一个程序声音很小,第二个声音就正常,为什么呢?有什么区别?
 楼主| 呵呵与哈哈 发表于 2014-7-18 12:38 | 显示全部楼层
新手啊,刚买的HC6800开发板
gonggu8181 发表于 2014-7-18 12:42 | 显示全部楼层
蜂鸣器
ddllxxrr 发表于 2014-7-18 12:46 | 显示全部楼层
第一个反转的速度太慢,第二个快,所以响
 楼主| 呵呵与哈哈 发表于 2014-7-18 12:48 | 显示全部楼层
ddllxxrr 发表于 2014-7-18 12:46
第一个反转的速度太慢,第二个快,所以响

我把a值调小,只是响的频率快了,但声音还是很小啊
 楼主| 呵呵与哈哈 发表于 2014-7-18 12:48 | 显示全部楼层
ddllxxrr 发表于 2014-7-18 12:46
第一个反转的速度太慢,第二个快,所以响

我把a值调小,只是响的频率快了,但声音还是很小啊
 楼主| 呵呵与哈哈 发表于 2014-7-18 12:53 | 显示全部楼层
ddllxxrr 发表于 2014-7-18 12:46
第一个反转的速度太慢,第二个快,所以响

可以了,我把A值改到50
asfraee 发表于 2014-7-18 12:54 | 显示全部楼层
你的晶振取多大,用软件模拟下看看延时时间多少,频率太低或太高都不行,超过音频的范围人耳是听不到的
NE5532 发表于 2014-7-18 13:47 | 显示全部楼层
先搞清楚你驱动的是有源蜂鸣器还是无源的,无源的要送震荡信号,有源的是送电源,另外软件延时的时间长度要实际测试,时间断了蜂鸣器根本来不及叫出声音。
一般来说开发板上都是有源蜂鸣器,驱动时间50mS以下,就不是很听得清了。

评分

参与人数 1威望 +10 收起 理由
icecut + 10

查看全部评分

NWPU_CHEN 发表于 2014-7-18 14:20 | 显示全部楼层
楼上版主正解,弄清有源无源才是关键,知道有源无源一个蜂鸣器还怕它叫不大声?
旭日东起 发表于 2014-7-18 14:21 | 显示全部楼层
无源蜂鸣器的响度与频率有关的,一般是2K的频率
ALISWANG 发表于 2014-7-18 17:10 | 显示全部楼层
顶下斑主!
yht0917 发表于 2014-7-18 17:22 | 显示全部楼层
我一般都用的PWM波控制的
moyue 发表于 2014-7-18 17:26 | 显示全部楼层
看蜂鸣器规格,驱动电流、有源无源、最佳频率、、、、、、、
moyue 发表于 2014-7-18 17:27 | 显示全部楼层
moyue 发表于 2014-7-18 17:26
看蜂鸣器规格,驱动电流、有源无源、最佳频率、、、、、、、

还有驱动波形
xg3469 发表于 2014-7-18 20:59 | 显示全部楼层
lu50211 发表于 2014-7-19 08:27 | 显示全部楼层
楼上说的对,楼主int a的值达不到60000,uint a 才能
mcu5i51 发表于 2014-7-19 09:25 | 显示全部楼层
int a = 60000;while(a--)...;
应该可以的,while中不会判断符号,只会判断是不是0;这就是补码负数的好处之一了;
出现赋值符号处,应该有些警告
通宵敲代码 发表于 2014-7-19 10:25 | 显示全部楼层
确定是无源蜂鸣器,控制方式不一样!
查一下振荡频率,太高了声音会变小!
增加一下驱动电流!
shi910229 发表于 2014-7-19 10:45 | 显示全部楼层
频率,驱动电流。你看下这俩~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部