單片機蜂鳴器的驅動電路圖 蜂鳴器驅動

蜂鳴器驅動(單片機蜂鳴器驅動電路圖)
蜂鳴器按結構分為壓電蜂鳴器和電磁蜂鳴器 。壓電型是壓電陶瓷片的發音,電流比較小,電磁蜂鳴器是線圈通電振動的發音,體積比較小 。
根據驅動方式分為主動蜂鳴器和被動蜂鳴器 。這里,主動和被動不是指電源,而是振蕩源 。有源蜂鳴器內部有一個振蕩源,如圖1所示 。當蜂鳴針處于低電平時,蜂鳴器將直接鳴響 。但是被動蜂鳴器內部沒有振蕩源,所以只有在500 Hz到4.5 kHz之間的脈沖頻率信號驅動下才會發聲 。主動蜂鳴器往往比被動蜂鳴器貴,因為里面振蕩電路多,驅動發音也簡單,可以按級別驅動,而被動蜂鳴器更便宜,而且被動蜂鳴器的聲音頻率可以控制,音階和頻率有明確的對應關系,所以我們可以制作“do re mi fa sol拉斯”的效果,用來制作簡單的音樂曲目,比如生日歌、二虎等 。

圖1蜂鳴器電路示意圖
讓我們看看圖1中的電路 。蜂鳴器電流還是比較大的,所以需要三極管驅動,增加了一個100歐姆的電阻作為限流電阻 。此外,增加了一個D4二極管,稱為續流二極管 。我們的蜂鳴器是感應裝置 。當三極管導通給蜂鳴器供電時,會有傳導電流流過蜂鳴器 。我們知道,電感的一個特點就是電流不能突然變化,接通時電流逐漸增大,這是沒有問題的 。但在關斷時,“電源-三極管-蜂鳴器-地”的電路被切斷,沒有電流可流,那么儲存的電流去哪里了,也就是通過D4和蜂鳴器本身的回路消耗掉,避免了關斷時電感電流帶來的反向沖擊 。持續關斷時的電流,這就是續流二極管名稱的由來 。
蜂鳴器常用于電腦、打印機、萬用表等設備發出提示音 。提示音一般都很簡單,就是簡單的發出聲音 。我們只是用程序發出一個4KHZ頻率的聲音和一個1KHZ頻率的聲音 。學生可以自己研究程序,并比較實際結果 。

#包括
sbit buzz = p1^6;//蜂鳴器控制引腳
無符號字符T0RH = 0;//T0過載值的高字節
無符號字符T0RL = 0;//T0過載值的低字節
void OpenBuzz(無符號int frequ);
void StOpBuzz();
void main(){ 0
無符號整數I;
TMOD = 0x 01;//將T0配置為在模式1下工作,但還不要啟動 。
EA = 1;
While (1){ //使能全局中斷
OpenBuzz(4000);//以4千赫的頻率啟動蜂鳴器
for(I = 0;我40000;i++);
stop Buzz();//停止蜂鳴器
for(I = 0;我40000;i++);
OpenBuzz(1000);//以1千赫的頻率啟動蜂鳴器
for(I = 0;我40000;i++);
stop Buzz();//停止蜂鳴器
for(I = 0;我40000;i++);
}
}
/*蜂鳴器啟動功能,頻率-工作頻率*/
void OpenBuzz(無符號int frequ){ 0
無符號整數重載;//計算所需的定時器過載值 。
reload = 65536-(11059200/12)/(frequ * 2);//根據給定頻率計算定時器過載值
T0RH =(無符號字符)(重載8);//16位重載值分解為高字節和低字節 。
T0RL =(無符號字符)重載;
TH0 = 0xFF//設置一個接近溢出的初始值,這樣定時器就可以立即投入運行 。
TL0 = 0xFE
ET0 = 1;//使能T0中斷
TR0 = 1;//開始T0
}
/*蜂鳴器停止功能*/
void StOpBuzz(){ 0
ET0 = 0;//禁用T0中斷
TR0 = 0;//停止T0
}
/* T0中斷服務功能,用于控制蜂鳴器鳴響*/
void中斷定時器0()中斷{ 1
TH0 = T0RH//重載值
TL0 = T0RL
BUZZ = ~ BUZZ//反轉蜂鳴器控制電平
}
另外,用蜂鳴器輸出音樂只是為了好玩,其應用很少 。里面包含了量表和分數的相關內容,程序有點復雜,就不詳細給大家解釋了 。能玩二虎的節目只有一個 ??梢韵螺d到板子上玩,滿足好奇心 。

#包括
sbit buzz = p1^6;//蜂鳴器控制引腳
無符號整數代碼NoteFrequ[] = {//對應于中音1-7和高音1-7的頻率列表
23,587,659,698,784,880,988//alto 1-7
047、1175、1319、1397、1568、1760、1976//高音1-7
};
無符號int code note reload[]= {//對應中音1-7和高音1-7的定時器重載值 。
6536-(11059200/12)/(523 * 2),//alto 1
65536 - (11059200/12) / (587*2), //2
65536 - (11059200/12) / (659*2), //3
65536 - (11059200/12) / (698*2), //4
65536 - (11059200/12) / (784*2), //5
65536 - (11059200/12) / (880*2), //6
65536 - (11059200/12) / (988*2), //7
6536-(11059200/12)/(1047 * 2),//高音1
65536 - (11059200/12) / (1175*2), //2
65536 - (11059200/12) / (1319*2), //3
65536 - (11059200/12) / (1397*2), //4
65536 - (11059200/12) / (1568*2), //5
65536 - (11059200/12) / (1760*2), //6
65536 - (11059200/12) / (1976*2), //7

推薦閱讀