1. 程式人生 > >51微控制器學習記錄之蜂鳴器

51微控制器學習記錄之蜂鳴器

蜂鳴器發聲原理
是電流通過電磁線圈,使電磁線圈產生磁場來驅動振動膜發聲的,因此需要一定的電流才能驅動它,微控制器IO引腳輸出的電流較小,微控制器輸出的TTL電平基本上驅動不了蜂鳴器,因此需要增加一個電流放大的電路。三極體的作用為驅動,通過三極體放大驅動電流,從而可以讓蜂鳴器發出聲音。
有源蜂鳴器和無源蜂鳴器的區別
這裡的“源”不是指電源。而是指震盪源。也就是說,有源蜂鳴器內部帶震盪源,所以只要一通電就會叫。
而無源內部不帶震盪源,所以如果用直流訊號無法令其鳴叫。必須用2K~5K的方波去驅動它。有源蜂鳴器往往比無源的貴,就是因為裡面多個震盪電路。

51微控制器蜂鳴器原理圖
此微控制器中的蜂鳴器為無源蜂鳴器,所以需要用方波來驅動蜂鳴器。只需在ULN2003晶片的P15口施加方波訊號即可,其程式碼實現:
sbit beep=P1^5;
.
.
.
beep=~beep;

 ● 改變微控制器引腳輸出波形的頻率,就可以調整控制蜂鳴器音調,產生各 種不同音色、音調的聲音。
 ● 改變輸出電平的高低電平佔空比,則可以控制蜂鳴器的聲音大小。