當前位置:首頁 > 單片機 > 單片機
[導讀] 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,本文介紹如何用單片機驅(qū)動蜂鳴器,他廣泛應(yīng)用于計算機、打印機、復印機、報警器、電話機等電子產(chǎn)品中作發(fā)聲器件?! 》澍Q器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩

 

蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,本文介紹如何用單片機驅(qū)動蜂鳴器,他廣泛應(yīng)用于計算機、打印機、復印機、報警器、電話機等電子產(chǎn)品中作發(fā)聲器件。

  蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。

  電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。

  壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。多諧振蕩器由晶體管或集成電路構(gòu)成,當接通電源后(1.5~15v直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHz的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。

  下面是電磁式蜂鳴器的外形圖片及結(jié)構(gòu)圖

  電磁式蜂鳴器實物圖: 電磁式蜂鳴器結(jié)構(gòu)示意圖:

  電磁式蜂鳴器內(nèi)部構(gòu)成:
1. 防水貼紙
2. 線軸
3. 線圈
4. 磁鐵

  5. 底座
6. 引腳
7. 外殼
8. 鐵芯

  9. 封膠
10. 小鐵片
11. 振動膜
12.電路板

  一、電磁式蜂鳴器驅(qū)動原理

  蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動它, 單片機 io引腳輸出的電流較小,單片機輸出的ttl電平基本上驅(qū)動不了蜂鳴器,因此需要增加一個電流放大的電路。s51增強型單片機實驗板通過一個三極管c8550來放大驅(qū)動蜂鳴器,原理圖見下面圖3:

s51增強型 單片機 實驗板蜂鳴器驅(qū)動原理圖:

  蜂鳴器的正極接到vCC(+5v)電源上面,蜂鳴器的負極接到三極管的發(fā)射極e,三極管的基級b經(jīng)過限流電阻r1后由 單片機 的p3.7引腳控制,當p3.7輸出高電平時,三極管t1截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當p3.7輸出低電平時,三極管導通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制p3.7腳的電平來使蜂鳴器發(fā)出聲音和關(guān)閉。

  程序中改變 單片機 p3.7引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。另外,改變p3.7輸出電平的高低電平占空比,則可以控制蜂鳴器的聲音大小,這些我們都可以通過編程實驗來驗證。

二、蜂鳴器列子

  下面我們舉幾個簡單的 單片機 驅(qū)動蜂鳴器的編程和電路設(shè)計的列子。

  1、簡單的蜂鳴器實驗程序:本程序通過在p3.7輸出一個音頻范圍的方波,驅(qū)動實驗板上的蜂鳴器發(fā)出蜂鳴聲,其中delay延時子程序的作用是使輸出的方波頻率在人耳朵聽覺能力之內(nèi)的20khz以下,如果沒有這個延時程序的話,輸出的頻率將大大超出人耳朵的聽覺能力,我們將不能聽到聲音。更改延時常數(shù),可以改變輸出頻率,也就可以調(diào)整蜂鳴器的音調(diào)。大家可以在實驗中更改#228為其他值,聽聽蜂鳴器音調(diào)的改變。

  org 0000h
ajmp main ;跳轉(zhuǎn)到主程序

  org 0030h
main: cpl p3.7 ;蜂鳴器驅(qū)動電平取反
lcall delay ;延時
ajmp main ;反復循環(huán)

  delay: MOV r7,#228 ;延時子程序,更改該延時常數(shù)可以改變蜂鳴器發(fā)出的音調(diào)
de1: djnz r7,de1
ret
end

  2、倒車警示音實驗程序:我們知道各種卡車、貨柜車在倒車時候,會發(fā)出倒車的蜂鳴警示提示音,同時警示黃燈也同步閃爍,提醒后面的人或車輛注意。本實驗例程就實現(xiàn)倒車警示功能,通過實驗板上的蜂鳴器發(fā)出警示音,同時通過實驗板上p1.2和p1.5上的兩個黃色發(fā)光二極管來發(fā)出黃色警示燈。

  org 0000h
ajmp start ;跳轉(zhuǎn)到初始化程序

  org 0033h
start:
MOV sp,#60h ;sp初始化
MOV p3,#0ffh ;端口初始化

  main: acall sound ;蜂鳴器發(fā)聲
acall ys500m ;延時
ajmp main

  sound:
MOV p1,#11011011b ;點亮2個警示黃色發(fā)光二極管
MOV r2,#200 ;響200個周期
snd1: clr p3.7 ;輸出低電平t1導通,蜂鳴器響
acall ys1ms ;延時
setb p3.7 ;輸出高電平t1截止,蜂鳴器不響
acall ys1ms ;延時
djnz r2,snd1
MOV p1,#0ffh ;熄滅黃色警示燈
ret

  ys1ms: ;1ms延時子程序
MOV r0,#2
yl1: MOV r1,#250 ;改變r0的數(shù)值可改變聲音頻率
djnz r1,$
djnz r0,yl1
ret

  ys500m: ;500ms延時子程序
MOV r0,#6
yl2: MOV r1,#200
yl3: MOV r2,#250
djnz r2,$
djnz r1,yl3
djnz r0,yl2
ret

  end

  3、“叮咚”電子門鈴實驗程序:常見的家用電子門鈴在有客人來訪時候,如果按壓門鈴按鈕時,室內(nèi)會發(fā)出“叮咚”聲音,本實驗程序模擬電子門鈴的發(fā)音,當我們按壓實驗板上的k1按鈕時候,蜂鳴器發(fā)出“叮咚”音樂聲,是一個比較實用的程序。

  “叮咚”電子門鈴實驗asm源程序: “叮咚”電子門鈴c語言源程序:
org 0000h
ljmp start ;跳轉(zhuǎn)到初始化程序

  org 000bh
ljmp pgt0 ;跳轉(zhuǎn)到t0中斷服務(wù)程序
start:
obuf1 equ 30h ;初始化程序
obuf2 equ 31h
obuf3 equ 32h
obuf4 equ 33h
flagb bit 00h
stopb bit 01h
k1 bit p3.2 ;定義按鈕k1,作為門鈴按鈕

   MOV tmod,#02h ;定時器初始化
MOV th0,#06h
MOV tl0,#06h
setb et0 ;啟動定時器t0
setb ea ;啟動總中斷

  main: ;主程序
jb k1,main ;檢測k1按鈕
lcall ys10m ;延時去抖動
jb k1,main
setb tr0 ;按鈕有效
MOV p1,#00h ;點亮按鈕指示燈
MOV obuf1,#00h
MOV obuf2,#00h
MOV obuf3,#00h
MOV obuf4,#00h
clr flagb
clr stopb
jnb stopb,$
MOV p1,#0ffh
ljmp main ;發(fā)出“叮咚”完畢,返回重新檢測按鈕

  ys10m: ;10ms延時子程序
MOV r6,#20
d1: MOV r7,#248
djnz r7,$
djnz r6,d1
ret

  pgt0: ;定時器t0中斷服務(wù)程序
inc obuf3 ;中斷服務(wù)程序中發(fā)出一聲“叮咚”響聲
MOV a,obuf3
cjne a,#100,next
MOV obuf3,#00h
inc obuf4
MOV a,obuf4
cjne a,#20,next
MOV obuf4,#00h
jb flagb,pgstp
cpl flagb
ajmp next
pgstp:
setb stopb
clr tr0
ljmp int0ret
next: jb flagb,sou2
inc obuf2
MOV a,obuf2
cjne a,#03h,int0ret
MOV obuf2,#00h
cpl p3.7
ljmp int0ret
sou2: inc obuf1
MOV a,obuf1
cjne a,#04h,int0ret
MOV obuf1,#00h
cpl p3.7
ljmp int0ret
int0ret:
reti

  end
#include
unsigned char obuf1;
unsigned char obuf2;
unsigned int obuf3;

  bit stopb;
bit flagb;

  void main(void)
{
unsigned char i,j;

  tmod=0×02; //定時器t0初始化
th0=0×06;
tl0=0×06;
et0=1;
ea=1; //允許總中斷

  while(1)
{
if(p3_2==0) //檢測k1按鍵
{
p1=0×00;
for(i=10;i>0;i–)
for(j=248;j>0;j–);
if(p3_2==0)
{
obuf1=0;
obuf2=0;
obuf3=0;
flagb=0;
stopb=0;
tr0=1; //啟動定時器t0,發(fā)出“叮咚”聲
while(stopb==0);
p1=0xff;
}
}
}
}

  void t0(void) interrupt 1 using 0
{
obuf3++;
if(obuf3==2000)
{
obuf3=0;
if(flagb==0)
{
flagb=~flagb;
}
else
{
stopb=1;
tr0=0;
}
}
if(flagb==0)
{
obuf2++;
if(obuf2==3)
{
obuf2=0;
p3_7=~p3_7;
}
}
else
{
obuf1++;
if(obuf1==4)
{
obuf1=0;
p3_7=~p3_7;
}
}
}

 

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉