① 求教,怎樣控制51單片機的蜂鳴器發出不同頻率的聲音
蜂鳴器是不能發出不同頻率的聲音的,要發出不同頻率的聲音,你需要選擇speaker,比如:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^0;
sbit K1=P1^7;
//發聲函數
void Alarm(uchar t)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++); //由參數t行成不同的頻率
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
② 怎麼使用單片機控制蜂鳴器發聲
蜂鳴器有兩種,一種是無源的,另一種為有源的,確認的方法為:1)看封裝,如果引腳端為PCB板的,一般為無源的,引腳端為樹脂灌封的,一般為有源的。2)加電實驗,用5V電壓點擊接觸引腳時,只有「噠噠」聲的為無源的,發出一個單音響的為有源的。
兩種蜂鳴器用單片機的控制方法是一樣的,對於無源的,要求單片機送出一組斷續的音頻信號,使蜂鳴器按要求發聲,對於有源蜂鳴器,要求單片機送出一組斷續的電脈沖信號,用於分斷蜂鳴器的通斷狀態,而使有源蜂鳴器發出「嘀...嘀」,「嘀...嘀...嘀」等希望的聲音。
無源蜂鳴器舉例:
/**********************************************************************/
//聲響驅動程序 BELL--整點報時(鬧鍾音兩短一長)
/**********************************************************************/
void Beep(void)
{
uint a;//定義變數用於發聲的長度設置
uchar b;
for(b=2;b>0;b--){
for(a=200;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay_1us(500);//音調設置延時
}
DelayM(1000);
}
for(a=1000;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay_1us(500);//音調設置延時
}
beep = 1;//音樂結束後揚聲器關閉
}
有源蜂鳴器舉例:
void main(void)
{
NB=0;//有源蜂鳴器初始不送電
while(1)
{
NB=0;//有源蜂鳴器斷電
delay(300);//停一段時間
NB=1;//有源蜂鳴器送電
delay(1000);//響一段時間
}
}
③ 單片機怎麼控制喇叭出聲音
。一般來說用的是三極體驅動揚聲器,然後讓單片機控制三極體的基極要有硬體電路圖才能說原理。
④ 如何用單片機控制聲音
可以使用單片機的電平輸出的+-電壓,控制數字電路的電子開關,用這個脈沖電壓控制電子音量IC的控制端就可以。
單片機是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
⑤ 怎樣用單片機控制音響的音量
單片機控制音響的音量的方式有兩種:
一種是控制音響音量的採用馬達電位器,單片機控制馬達順時針或逆時針轉動,實現音量控制。和傳統的電位器相比相當於在普通電位器基礎上增加了馬達實現音量控制,這類電位器的尺寸比較大,而且因為馬達經常轉動,故障率相對較高。
還有種是採用集成電路來實現:用專用的音量控制集成電路加上編碼開關(也叫數字電位器)配合單片機程序實現對音量控制。例如PTC(台灣普城 http://www.princeton.com.tw)品牌的PT2313等,和馬達控制相比較有可靠性高,體積小的優點。