<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 元件/連接器 > 設計應用 > 基礎知識之Buzzer - 蜂鳴器

基礎知識之Buzzer - 蜂鳴器

作者: 時(shí)間:2024-03-27 來(lái)源:電子森林 收藏

本文引用地址:http://dyxdggzs.com/article/202403/456865.htm

和LED常用于發(fā)光指示一樣,作為一種聲音模塊,常被用于做發(fā)聲的功能。有源通過(guò)內置的振蕩器,發(fā)出單一固定頻率提示性報警聲音;無(wú)源是通過(guò)不同頻率的脈沖驅動(dòng),可以發(fā)出不同頻率的聲音信號。

蜂鳴器的分類(lèi): 按其結構主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型:

  • 電磁式蜂鳴器由振蕩器、電磁線(xiàn)圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過(guò)電磁線(xiàn)圈,使電磁線(xiàn)圈產(chǎn)生磁場(chǎng),振動(dòng)膜片在電磁線(xiàn)圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。
  • 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。多諧振蕩器由晶體管或集成電路構成,當接通電源后(1.5~15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號,阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。

按是否帶有信號源分為有源蜂鳴器和無(wú)源蜂鳴器兩種類(lèi)型:

  • 有源蜂鳴器只需要在其供電端加上額定直流電壓,其內部的震蕩器就可以產(chǎn)生固定頻率的信號,驅動(dòng)蜂鳴器發(fā)出聲音。
  • 無(wú)源蜂鳴器可以理解成與喇叭一樣,需要在其供電端上加上高低不斷變化的電信號才可以驅動(dòng)發(fā)出聲音。

本章節主要介紹無(wú)源蜂鳴器的驅動(dòng),FPGA或MCU的GPIO口驅動(dòng)能力弱,不能直接驅動(dòng)無(wú)源蜂鳴器,常用的蜂鳴器驅動(dòng)電路如下:

蜂鳴器使用NPN三極管(9013)驅動(dòng),三極管當開(kāi)關(guān)用,當基極電壓拉高時(shí),蜂鳴器通電,當基極電壓拉低時(shí),蜂鳴器斷電,MCU或FPGA控制GPIO口給三極管的基極輸出不同頻率的脈沖信號,蜂鳴器就可以發(fā)出不同的音節。 不同音節與蜂鳴器震蕩頻率的對應關(guān)系如下:

  • Play Tones Using the PWM
  • Play Three Tones
  • Play a Scale
  • Play Mario on MicroPython
  • 播放音頻文件
  • 轉換MP3音頻文件為Wav文件
  • buzzer_music

在FPGA中使用PWM來(lái)驅動(dòng)蜂鳴器,使用計數器對系統時(shí)鐘進(jìn)行分頻,改變計數器的計數終值從而實(shí)現調節PWM信號頻率的目的,使用PWM信號控制蜂鳴器電路。

// --------------------------------------------------------------------
// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
// --------------------------------------------------------------------
// Module: Beeper// Author: Step// Description: Beeper
// --------------------------------------------------------------------
// Code Revision History :
// --------------------------------------------------------------------
// Version: |Mod. Date:   |Changes Made:
// V1.0     |2016/04/20   |Initial ver
// --------------------------------------------------------------------
module Beeper(input clk_in, //系統時(shí)鐘
input rst_n_in, //系統復位,低有效
input tone_en, //蜂鳴器使能信號
input [4:0] tone, //蜂鳴器音節控制
output reg piano_out //蜂鳴器控制輸出); 
/*
無(wú)源蜂鳴器可以發(fā)出不同的音節,與蜂鳴器震動(dòng)的頻率(等于蜂鳴器控制信號的頻率)相關(guān),
為了讓蜂鳴器控制信號產(chǎn)生不同的頻率,我們使用計數器計數(分頻)實(shí)現,不同的音節控制對應不同的計數終值(分頻系數)
計數器根據計數終值計數并分頻,產(chǎn)生蜂鳴器控制信號
*/ 
reg [15:0] time_end;
//根據不同的音節控制,選擇對應的計數終值(分頻系數)
//低音1的頻率為261.6Hz,蜂鳴器控制信號周期應為12MHz/261.6Hz = 45871.5,
//因為本設計中蜂鳴器控制信號是按計數器周期翻轉的,所以幾種終值 = 45871.5/2 = 22936
//需要計數22936個(gè),計數范圍為0 ~ (22936-1),所以time_end = 22935
always@(tone) begin
case(tone)
5'd1: time_end = 16'd22935; //L1,
5'd2: time_end = 16'd20428; //L2,
5'd3: time_end = 16'd18203; //L3,
5'd4: time_end = 16'd17181; //L4,
5'd5: time_end = 16'd15305; //L5,
5'd6: time_end = 16'd13635; //L6,
5'd7: time_end = 16'd12147; //L7,
5'd8: time_end = 16'd11464; //M1,
5'd9: time_end = 16'd10215; //M2,
5'd10: time_end = 16'd9100; //M3,
5'd11: time_end = 16'd8589; //M4,
5'd12: time_end = 16'd7652; //M5,
5'd13: time_end = 16'd6817; //M6,
5'd14: time_end = 16'd6073; //M7,
5'd15: time_end = 16'd5740; //H1,
5'd16: time_end = 16'd5107; //H2,
5'd17: time_end = 16'd4549; //H3,
5'd18: time_end = 16'd4294; //H4,
5'd19: time_end = 16'd3825; //H5,
5'd20: time_end = 16'd3408; //H6,
5'd21: time_end = 16'd3036; //H7,
default:time_end = 16'd65535;
endcaseend reg [17:0] time_cnt;//當蜂鳴器使能時(shí),計數器按照計數終值(分頻系數)計數
always@(posedge clk_in or negedge rst_n_in) begin
if(!rst_n_in) begin
time_cnt <= 1'b0;
end else if(!tone_en) begin
time_cnt <= 1'b0;
end else if(time_cnt>=time_end) begin
time_cnt <= 1'b0;
end else begin
time_cnt <= time_cnt + 1'b1;
endend //根據計數器的周期,翻轉蜂鳴器控制信號
always@(posedge clk_in or negedge rst_n_in) begin
if(!rst_n_in) begin
piano_out <= 1'b0;
end else if(time_cnt==time_end) begin
piano_out <= ~piano_out; //蜂鳴器控制輸出翻轉,兩次翻轉為1Hz
end else begin
piano_out <= piano_out;
end
end endmodule


關(guān)鍵詞: 蜂鳴器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>