找回密码
 注册
关于网站域名变更的通知
查看: 539|回复: 3
打印 上一主题 下一主题

大神大神:51单片机蜂鸣器发声问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-5 09:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近想通过IO口触发蜂鸣器报警。蜂鸣器如下图所示,
2 _9 y' J' h: \7 K+ u+ j
$ a1 l; Y- w1 a5 n7 {2 F; E, F9 O- ?* {# C3 `" Z, V
具体程序代码如下。! K( l& g/ s% S! S
#include <reg52.h>9 l9 c! j7 h0 g0 J
#include <intrins.h>0 O& z* h$ r; U
#define on 0
7 l  j. Q* ^( T7 ^1 u! o#define off 12 s9 L% c# R. {4 `" r" T+ r' e7 h5 ~
sbit fm = P1^0;% s' K) o( n8 u3 }7 ~% M

7 X4 t9 J5 w6 n& F2 j: _; Fvoid delay(unsigned int xms)
# ?0 e# w0 I. ?. F; ~0 W' j{( T4 E3 S* ^4 v; M4 _& t. ]7 o
        unsigned int  i,j;
) V& k) Y; M4 s- ~        for(i = xms; i > 0; i--)+ f$ O: A/ P9 m2 n
                for(j = 112; j > 0 ; j--);
0 |) L8 {& ^' g}
5 m1 l- \* k/ _. y& E( Y: W& z- uvoid main(): s# T& U9 \5 s& l( K& Y" B
{        
8 e& ?# @8 _* D* C, l, N, a6 V* y- p: P% ~0 `! @
        while(1)6 w# {# ], v: o7 c$ {
        {       & u% `- H& N! @8 n' ]' y9 W  R
            fm = on;8 ?! }* O# S$ @, h3 K
            delay(100);" `" o. Q! a( [% W: ]; g
                        fm = off ;
: _# J6 y0 s0 e# Y' b                        delay(100);
7 v( h, E- r/ c6 S                & E" `  s  o# A- V  y7 G! W
        } 9 H: }) v; g/ J1 A  |: K2 B

% i8 E; P8 z; J' m1 c
5 i7 c- H5 k: d0 [/ K3 ]最开始直接用单片机的P1^0端口连接蜂鸣器的IO口,基本上不能够听到蜂鸣器发声。0 w: h, u. P; {, T. h5 N
1、后来看到有人说需要连接上拉电阻,于是在P1^0端口串联了一个10K欧姆的电阻,是可以发声了,基本可以听见,可是不够大。( T8 ~/ }, z8 {0 U3 s, M! n
2、第二个方案,想通过IO连接一个发光二极管来检测是否端口按照程序输出高低电平。发现程序是可以正常输出高低电平的。  ?8 I* ~: b# D$ D, i
3、第三个方案,将蜂鸣器的输入端口与发光二极管串联,这个时候发光二极管按照预期闪烁,蜂鸣器发声也特别尖锐和高分贝了。这个现象很奇怪,难道是因为发光二极管的原因导致,输入电平的快速变化引起的么?!?!8 N; B. b9 ^: @& E/ m
3 X% B% J7 ?9 s: o  [( Z# Q

; P( k# w& F6 X. g8 ~% a8 I3 v& `& S( q+ i9 H0 n( J& E
本人问题:
! g) y; d& R5 b" i1、为什么采用发光二极管串联后会发出较高分贝的声音?% ~/ t& i- J3 ~+ a7 r+ |! A
2、直接采用10K欧姆的电阻的时候声音会比较小?
" k5 t9 t# ^% D# w
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-3-5 16:57 | 只看该作者
    有没有蜂鸣器模块的原理图?看看三极管是怎么接的用的什么型号.

    该用户从未签到

    3#
    发表于 2020-3-5 16:58 | 只看该作者
    看到你的问题,我也有这个模块,就试了一试。
    ) ?. L5 E% n  P; Y+ G第一:我在板子上,就用你的程序,一点问题都没有。  A8 X2 B9 ^9 c0 P! m
    第二:你的程序中,发声音的延时程序,时间太长了。定时100ms开关,周期就是200ms,即频率5Hz,只听到蜂鸣器嗒嗒嗒,在“敲响”,基本没有乐音。中学物理课说,人耳听到声音频率为20~20000Hz。所以,我把它改为1ms,即频率500Hz,则有宏亮的乐音。我的经验:在有无源蜂鸣器的程序中,一般都专门为它准备一个延时程序。另外,人耳听到的声音大小,与感觉有关,同等声音强度情况下,有的人对高音敏感,有的人对低音敏感,这个无源蜂鸣器的音量,我还真没有调过,本来这个延时放声音,就是PWM波的样子,就已经与功率有关了。
    ' o$ U7 A1 n# a9 I( B9 J第三:模块电路如图所示(看清楚你的实物图,你的是高电平触发,我的是低电平触发,不同仅在于用的三极管不同,一个是PNP,一个是NPN,但不影响整体效果)。所以,基本就不需要你说的什么电阻等其它元件,这个模块就是直接用到I/O口的,你看,模块上不也印刷着VCC、GND、I/O吗。你看到的网上说法,是只有蜂鸣器一个元件时要搭电路所需元件,而不是你的模块。
    3 c% W& n% ?# q4 g( U2 K. k+ e3 s第四:我的蜂鸣器响了,就没有试你说的发光二极管的事。  g' I1 ]$ h( R8 U( T

      [' y/ s  ^' l2 p1 B: k# a
    4 H: c5 X/ F# b! D$ H1 d7 x# r
    , n$ H9 E: C9 U% d5 B
  • TA的每日心情
    开心
    2023-5-15 15:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2020-3-5 16:59 | 只看该作者
    问题出在蜂鸣器上,你的蜂鸣器是有源的还是无源的
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-11 09:19 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表