⑴ 單片機驅動蜂鳴器電路
單片機驅動蜂鳴器電路如下:
蜂鳴器經常用於電腦、列印機、萬用表這些設備上做提示音,提示音一般也很簡單,就是簡單發出個聲音就行,我們用程序簡單做了個 4KHZ 頻率下的發聲和 1KHZ 頻率下的發聲程序代碼如下:
#include
sbit BUZZ = P1^6; //蜂鳴器控制引腳
unsigned char T0RH = 0; //T0 重載值的高位元組
unsigned char T0RL = 0; //T0 重載值的低位元組
voidOpenBuzz(unsigned int frequ);
void StopBuzz();
void main(){
unsigned int i;
TMOD = 0x01; //配置 T0 工作在模式 1,但先不啟動
EA = 1;
while(1){ //使能全局中斷
OpenBuzz(4000); //以 4KHz 的頻率啟動蜂鳴器
for (i=0; i<40000; i++);
StopBuzz(); //停止蜂鳴器
for (i=0; i<40000; i++);
OpenBuzz(1000); //以 1KHz 的頻率啟動蜂鳴器
for (i=0; i<40000; i++);
StopBuzz(); //停止蜂鳴器
for (i=0; i<40000; i++);
}
}
/* 蜂鳴器啟動函數,frequ-工作頻率 */
void OpenBuzz(unsigned int frequ){
unsigned int reload;//計算所需的定時器重載值
reload = 65536 - (11059200/12)/(frequ*2); //由給定頻率計算定時器重載值
T0RH = (unsigned char)(reload >> 8); //16 位重載值分解為高低兩個位元組
T0RL = (unsigned char)reload;
TH0 = 0xFF; //設定一個接近溢出的初值,以使定時器馬上投入工作
TL0 = 0xFE;
ET0 = 1; //使能 T0 中斷
TR0 = 1; //啟動 T0
}
/* 蜂鳴器停止函數 */
void StopBuzz(){
ET0 = 0; //禁用 T0 中斷
TR0 = 0; //停止 T0
}
/* T0 中斷服務函數,用於控制蜂鳴器發聲 */
void InterruptTimer0()interrupt1{
TH0 = T0RH; //重新載入重載值
TL0 = T0RL;
BUZZ = ~BUZZ; //反轉蜂鳴器控制電平
}
⑵ 這個蜂鳴器電路很簡單,好久也沒弄明白
你所說的情況並不限制與蜂鳴器的驅動,包括常用的繼電器,指示燈等很多情況(布爾控制器件)都會遇到。
設計這種電路,首先是要考察驅動的對象,看其正常工作的額定電流和電壓。根據電流和電壓參數選擇三極體的,一般要保證三極體的最大Ic要大於等於1.5倍驅動對象的額定電流,Vce要大於等於1.2倍驅動器件的額定電壓,如果是感性負載(如繼電器),還必須在負載上反向並聯吸收二極體,以防止感生電壓過高損壞三極體。
選擇好三極體後,根據三極體手冊給出的最小放大倍數和驅動器件的最大工作電流計算所需要的Ib,根據這個Ib查詢三極體數據手冊,看看是否在三極體的安全工作范圍中,如果超出就必須要重新選擇三極體,如果合用,則計算Rb。
三極體的Vbe基本上可以取一個定值0.7V,查詢單片機手冊在既定工作電壓下IO埠的高電平輸出電壓,用此電壓減去0.7V,再除以之前所得的Ib,得出所需的Rb,這個Rb可能不是標准電阻,取最接近的標准電阻,記住,只能取小值(以保證三極體能處於飽和狀態),驗算實際Ib是不是在三極體的安全范圍之內。
⑶ 蜂鳴器可以用NPN三極體驅動吧,我用npn,實物做出來之後蜂鳴器就是不響。下面是我的電路圖
可以的,只要三極體導通給蜂鳴器通電就會響。NPN和PNP的都可以。
三極體基極驅動電壓在足夠,基極電阻不能太大。不然驅動不了,就是不能使三極體導通。
單片機的輸出口通過一個電阻接到基極,集電極接蜂鳴器的正極,蜂鳴器負極接電源。當單片機的管腳SPEAK為高電平時,PN結發生正向偏置,三極體處於導通狀態,蜂鳴器兩個管腳得電,發聲。
記住:NPN三極體的基極為高電平時三極體導通。
(3)蜂鳴片驅動電路圖擴展閱讀:
1、R1,R2的阻值應該對調,因為是採用電壓控制的PMOS管,阻值可以適當加大,減少功耗,如R1:10K,R2:200K,而且這樣還有一個好處,大幅的減輕Q11的負載,也減輕了單片機I/O口的輸出電流要求。
2、因為不清楚要求和整體電路,單從這個局部電路來說,暫時無法對加穩壓管這方面提供什麼建議。
3、另,電路帶「電」,調試小心。
4、FM是一個蜂鳴器,8550是一個PNP型的三極體,C端接地,B端由單片機控制,E端通過FM接VCC。根據箭頭的方向,E端高電壓的時候,當B端也是高電壓,那麼E和C之間是斷開的,當B端是低電壓,那麼E和C直接導通,實現開關的作用。簡單的技巧:三極體上箭頭所在方向的二極體,只要二極體正向導通,那麼三極體上下就能導通。
5、NPN的三極體也是同樣的道理,這里不做過多解釋。
6、這里可以看到,三極體用作開關管的時候非常簡單,根本不會涉及到任何所謂的公式、放大倍數計算等等。
⑷ 求大神解釋下51單片機蜂鳴器的工作原理 下面是原理圖 急!
工作原理非常簡單:圖示電路為灌電流驅動方式(低電平有效),Q5為開關三極體,平時I/O口P3.6輸出高電平,因Q5為PNP型三極體,故高電平使得基極電位接近Vcc,三極體截止處於集電極迴路的蜂鳴器不響,當P3.6輸出低電平時Q5經由Vcc-Q5eb-R17-P3.6到地迴路獲得基極電流而飽和導通,蜂鳴器得電發出鳴響。
⑸ protues中蜂鳴器如何發出聲音 給個電路圖
電路圖如下:
蜂鳴器發聲原理是電流通過電磁線圈,使電磁線圈產生磁場來驅動振動回膜發聲的,因此需答要一定的電流才能驅動它,單片機IO引腳輸出的電流較小。
單片機輸出的TTL電平基本上驅動不了蜂鳴器,因此需要增加一個電流放大的電路。三極體的作用為驅動,通過三極體放大驅動電流,從而可以讓蜂鳴器發出聲音。
有源蜂鳴器和無源蜂鳴器的區別:
這里的「源」不是指電源。而是指震盪源。 也就是說,有源蜂鳴器內部帶震盪源,所以只要一通電就會叫。
而無源內部不帶震盪源,所以如果用直流信號無法令其鳴叫。必須用2K~5K的方波去驅動它。
有源蜂鳴器往往比無源的貴,就是因為裡面多個震盪電路。
無源蜂鳴器的優點是:便宜且聲音頻率可控,可以做出「多來米發索拉西」的效果。在一些特例中,可以和LED復用一個控制口 有源蜂鳴器的優點是:程序控制方便 。
⑹ 蜂鳴器的電路原理圖
如圖1-3 所示,使用SH69P43 為控制晶元,使用4MHz 晶振作為主振盪器。
PORTC.3/T0 作為I/O 口通過三極體Q2 來驅動蜂鳴器LS1,而PORTC.2/PWM0 則作為PWM 輸出口通過三極體Q1 來驅動蜂鳴器LS2。另外在PORTA.3 和PORTA.2 分別接了兩個按鍵,一個是PWM 按鍵,是用來控制PWM 輸出口驅動蜂鳴器使用的;另一個是PORT 按鍵,是用來控制I/O 口驅動蜂鳴器使用的。連接按鍵的I/O 口開內部上拉電阻。
軟體設計方法
先分析一下蜂鳴器。所使用的蜂鳴器的工作頻率是2000Hz,也就是說蜂鳴器的驅動信號波形周期是500μs,由於是1/2ty 的信號,所以一個周期內的高電平和低電平的時間寬度都為250μs。軟體設計上,我們將根據兩種驅動方式來進行說明。
a) PWM 輸出口直接驅動蜂鳴器方式
由於PWM 只控制固定頻率的蜂鳴器,所以可以在程序的系統初始化時就對PWM 的輸出波形進行設置。
首先根據SH69P43 的PWM 輸出的周期寬度是10 位數據來選擇PWM 時鍾。系統使用4MHz 的晶振作為主振盪器,一個tosc 的時間就是0.25μs,若是將PWM 的時鍾設置為tosc 的話, 則蜂鳴器要求的波形周期500μs 的計數值為500μs/0.25μs=(2000)10=(7D0)16,7D0H 為11 位的數據,而SH69P43 的PWM
輸出周期寬度只是10 位數據,所以選擇PWM 的時鍾為tosc 是不能實現蜂鳴器所要的驅動波形的。
這里我們將PWM 的時鍾設置為4tosc,這樣一個PWM 的時鍾周期就是1μs 了,由此可以算出500μs 對應的計數值為500μs/1μs=(500)10=(1F4)16,即分別在周期寄存器的高2 位、中4 位和低4 位三個寄存器中填入1、F 和4,就完成了對輸出周期的設置。再來設置占空比寄存器,在PWM 輸出中占空比的實現是
通過設定一個周期內電平的寬度來實現的。當輸出模式選擇為普通模式時,占空比寄存器是用來設置高電平的寬度。250μs 的寬度計數值為250μs/1μs=(250)10=(0FA)16。只需要在占空比寄存器的高2 位、中4 位和低4 位中分別填入0、F 和A 就可以完成對占空比的設置了,設置占空比為1/2ty。
以後只需要打開PWM 輸出,PWM 輸出口自然就能輸出頻率為2000Hz、占空比為1/2ty 的方波。
b) I/O 口定時翻轉電平驅動蜂鳴器方式
使用I/O 口定時翻轉電平驅動蜂鳴器方式的設置比較簡單,只需要對波形分析一下。由於驅動的信號剛好為周期500μs,占空比為1/2ty 的方波,只需要每250μs 進行一次電平翻轉,就可以得到驅動蜂鳴器的方波信號。在程序上,可以使用TIMER0 來定時,將TIMER0 的預分頻設置為/1,選擇TIMER0 的始終為系統時鍾(主振盪器時鍾/4),在TIMER0 的載入/計數寄存器的高4 位和低4 位分別寫入00H 和06H,就能將TIMER0 的中斷設置為250μs。當需要I/O 口驅動的蜂鳴器鳴叫時,只需要在進入TIMER0 中斷的時候對該I/O 口的電平進行翻轉一次,直到蜂鳴器不需要鳴叫的時候,將I/O 口的電平設置為低電平即可。不鳴叫時將I/O 口的輸出電平設置為低電平是為了防止漏電。
⑺ 壓電式蜂鳴器工作原理及驅動電路
壓電式蜂鳴器的結構圖
⑻ 蜂鳴器電路工作原理設計是怎樣的
蜂鳴器電路的工作原理
蜂鳴器 電路原理圖使用SH69P43 為控制晶元,使用4MHz 晶振作為主振盪器。
PORTC.3/T0 作為I/O 口通過三極體Q2 來驅動蜂鳴器LS1,而PORTC.2/PWM0 則作為PWM 輸出口通過三極體Q1 來驅動蜂鳴器LS2。另外在PORTA.3 和PORTA.2 分別接了兩個按鍵,一個是PWM 按鍵,是用來控制PWM 輸出口驅動蜂鳴器使用的;另一個是PORT 按鍵,是用來控制I/O 口驅動蜂鳴器使用的。連接按鍵的I/O 口開內部上拉電阻。
先分析一下蜂鳴器。所使用的蜂鳴器的工作頻率是2000Hz,也就是說蜂鳴器的驅動信號波形周期是500μs,由於是1/2ty 的信號,所以一個周期內的高電平和低電平的時間寬度都為250μs。軟體設計上,將根據兩種驅動方式來進行說明。
a) 蜂鳴器工作原理:PWM 輸出口直接驅動蜂鳴器方式
由於PWM 只控制固定頻率的蜂鳴器,所以可以在程序的系統初始化時就對PWM 的輸出波形進行設置。
首先根據SH69P43 的PWM 輸出的周期寬度是10 位數據來選擇PWM 時鍾。系統使用4MHz 的晶振作為主振盪器,一個tosc 的時間就是0.25μs,若是將PWM 的時鍾設置為tosc 的話, 則蜂鳴器要求的波形周期500μs 的計數值為500μs/0.25μs=(2000)10=(7D0)16,7D0H 為11 位的數據,而SH69P43 的PWM
輸出周期寬度只是10 位數據,所以選擇PWM 的時鍾為tosc 是不能實現蜂鳴器所要的驅動波形的。
這里將PWM 的時鍾設置為4tosc,這樣一個PWM 的時鍾周期就是1μs 了,由此可以算出500μs 對應的計數值為500μs/1μs=(500)10=(1F4)16,即分別在周期寄存器的高2 位、中4 位和低4 位三個寄存器中填入1、F 和4,就完成了對輸出周期的設置。再來設置占空比寄存器,在PWM 輸出中占空比的實現是
通過設定一個周期內電平的寬度來實現的。當輸出模式選擇為普通模式時,占空比寄存器是用來設置高電平的寬度。250μs 的寬度計數值為250μs/1μs=(250)10=(0FA)16。只需要在占空比寄存器的高2 位、中4 位和低4 位中分別填入0、F 和A 就可以完成對占空比的設置了,設置占空比為1/2ty。
以後只需要打開PWM 輸出,PWM 輸出口自然就能輸出頻率為2000Hz、占空比為1/2ty 的方波。
b) 蜂鳴器工作原理:I/O 口定時翻轉電平驅動蜂鳴器方式
使用I/O 口定時翻轉電平驅動蜂鳴器方式的設置比較簡單,只需要對波形分析一下。由於驅動的信號剛好為周期500μs,占空比為1/2ty 的方波,只需要每250μs 進行一次電平翻轉,就可以得到驅動蜂鳴器的方波信號。在程序上,可以使用TIMER0 來定時,將TIMER0 的預分頻設置為/1,選擇TIMER0 的始終為系統時鍾(主振盪器時鍾/4),在TIMER0 的載入/計數寄存器的高4 位和低4 位分別寫入00H 和06H,就能將TIMER0 的中斷設置為250μs。當需要I/O 口驅動的蜂鳴器鳴叫時,只需要在進入TIMER0 中斷的時候對該I/O 口的電平進行翻轉一次,直到蜂鳴器不需要鳴叫的時候,將I/O 口的電平設置為低電平即可。不鳴叫時將I/O 口的輸出電平設置為低電平是為了防止漏電。
⑼ 蜂鳴器可以用NPN三極體驅動吧,我用npn,實物做出來之後蜂鳴器就是聲音太小。下面是我的電路圖
當然可以。
蜂鳴器只要得到額定的工作電壓就會發出正常的響聲,檢查蜂鳴器是不是5V的、三極體是否飽和。
但圖中畫的不是蜂鳴器而是喇叭,要確實用的是喇叭就復雜些。喇叭阻抗較大時5V電壓下得不到狡大的功率,阻抗較小則需要注意三極體能否飽和。
⑽ 請教蜂鳴器電路圖
用單片機任意埠按音階頻率輸出方波信號,通過三極體驅動無源蜂鳴器,把音樂版分解成音權階和音階的時長的組合存在晶元中,就可以實現音樂的輸出。
程序上用兩個定時器,一個產生音階頻率,一個控制音階的長度。
電路,就是把晶振12M和震盪電容22P接上,EA接電源,RST接上拉電容10u和下拉電阻10K,VCC和VSS接上電源,任意找一個IO口,外接上拉電阻4K7,再通過一個限流電阻100歐姆接到三極體8050的基極,發射極接地,集電極接無源蜂鳴器,無源蜂鳴器另一端接電源。
你說的東西,就這么簡單即可實現~~~
這里可以下載到音階頻率表
http://wenku..com/view/b3921b22192e45361066f5b3.html