微控制器蜂鳴器控制程式和驅動電路

2021-07-25 15:48:41 字數 2105 閱讀 4643

蜂鳴器從結構區分分為壓電式蜂鳴器和電磁式蜂鳴器。壓電式為壓電陶瓷片發音,電流比較小一些,電磁式蜂鳴器為線圈通電震動發音,體積比較小。

按照驅動方式分為有源蜂鳴器和無源蜂鳴器。這裡的有源和無源不是指電源,而是振盪源。有源蜂鳴器內部帶了振盪源,如圖 9-8 所示中,給了 buzz 引腳乙個低電平,蜂鳴器就會直接響。而無源蜂鳴器內部是不帶振盪源的,要讓他響必須給 500hz~4.5khz 之間的脈衝頻率訊號來驅動它才會響。有源蜂鳴器往往比無源蜂鳴器貴一些,因為裡邊多了振盪電路,驅動發音也簡單,靠電平就可以驅動,而無源蜂鳴器**比較便宜,此外無源蜂鳴器聲音頻率可以控制,而音階與頻率又有確定的對應關係,因此就可以做出來「do re mi fa sol la si」的效果,可以用它製作出簡單的**曲目,比如生日歌、兩隻老虎等等。

圖 9-8  蜂鳴器電路原理圖

我們來看一下圖 9-8 的電路,蜂鳴器電流依然相對較大,因此需要用三極體驅動,並且加了乙個 100 歐的電阻作為限流電阻。此外還加了乙個 d4 二極體,這個二極體叫做續流二極體。我們的蜂鳴器是感性器件,當三極體導通給蜂鳴器供電時,就會有導通電流流過蜂鳴器。而我們知道,電感的乙個特點就是電流不能突變,導通時電流是逐漸加大的,這點沒有問題,但當關斷時,經「電源-三極體-蜂鳴器-地」這條迴路就截斷了,過不了任何電流了,那麼儲存的電流往哪兒去呢,就是經過這個 d4 和蜂鳴器自身的環路來消耗掉了,從而就避免了關斷時由於電感電流造成的反向衝擊。接續關斷時的電流,這就是續流二極體名稱的由來。

蜂鳴器經常用於電腦、印表機、萬用表這些裝置上做提示音,提示音一般也很簡單,就是簡單發出個聲音就行,我們用程式簡單做了個 4khz 頻率下的發聲和 1khz 頻率下的發聲程式,同學們可以自己研究下程式,比較下實際效果。

#include sbit buzz = p1^6; //蜂鳴器控制引腳

unsigned char t0rh = 0; //t0 過載值的高位元組

unsigned char t0rl = 0; //t0 過載值的低位元組

void openbuzz(unsigned int frequ);

void stopbuzz();

void main()

}/* 蜂鳴器啟動函式,frequ-工作頻率 */

void openbuzz(unsigned int frequ)

/* 蜂鳴器停止函式 */

void stopbuzz()

/* t0 中斷服務函式,用於控制蜂鳴器發聲 */

void interrupttimer0() interrupt 1;

unsigned int code notereload = ;

bit enable = 1; //蜂鳴器發聲使能標誌

bit tmrflag = 0; //定時器中斷完成標誌

unsigned char t0rh = 0xff; //t0 過載值的高位元組

unsigned char t0rl = 0x00; //t0 過載值的低位元組

void playtwotiger();

void main()

}void playtwotiger();

//兩隻老虎節拍表,4 表示一拍,1 就是 1/4 拍,8 就是 2 拍

unsigned char code twotigerbeat = ;

//用節拍索引作為迴圈變數

for (beat=0; beat> 8;

t0rl = notereload[note];

//計算節拍總時間,右移 2 位相當於除 4,移位代替除法可以加快執行速度

beattime = (twotigerbeat[beat] * notefrequ[note]) >> 2;

//計算發聲時間,為總時間的 0.75,移位原理同上

soundtime = beattime - (beattime >> 2);

enable = 1; //指示蜂鳴器開始發聲

time++;

}elseelse}}

}}/* t0 中斷服務函式,用於控制蜂鳴器發聲 */

void interrupttimer0() interrupt 1else

}

Spring的註解驅動控制程式

在pojo類定義的時候我們給該類加上 controller註解後,在通過在spring mvc的配置檔案中加上,該pojo就可以成為乙個能處理http請求的控制器了。具體的對映方法 1 通過請求url進行對映請求。2 通過請求方法 post,get等 請求引數或者請求頭進行對映。請求處理方法簽名 1...

uln2003驅動蜂鳴器 通過微控制器來控制蜂鳴器

可以看到蜂鳴器的一端和電阻相連,另一端和引腳bz相連,注意這個bz並不是元氣名稱,有圖可知,元氣名稱都是藍色的,而這個bz是紅色的。我們在開發板原理圖上找乙個 bz引腳,發現在uln2003d這個晶元上有bz引腳,所以我們就把蜂鳴器的圖和uln2003d的圖放在一張圖上,而且把他們該連的引腳連起來了...

微控制器控制繼電器電路

片兒機 微控制器 控制繼電器電路 首先看看繼電器的驅動 這是典型的繼電器驅動電路圖,這樣的圖在網路上隨處可以搜到,並且標準教科書上一般也是這樣的電路圖 為什麼要明白這個圖的原理?微控制器是乙個弱電器件,一般情況下它們大都工作在5v甚至更低.驅動電流在ma級以下.而要把它用於一些大功率場合,比如控制電...