java編程 揚(yáng)聲器(喇叭)為什么能發(fā)出各種音色和同時(shí)發(fā)出不同的音色?
揚(yáng)聲器(喇叭)為什么能發(fā)出各種音色和同時(shí)發(fā)出不同的音色?對(duì)音色的普遍理解是聲音的顏色,就像我們聽到別人說話時(shí)不看他們就知道他是誰一樣。事實(shí)上,我們通過音色來識(shí)別這個(gè)人。聲音是由振動(dòng)產(chǎn)生的。每個(gè)物體不同
揚(yáng)聲器(喇叭)為什么能發(fā)出各種音色和同時(shí)發(fā)出不同的音色?
對(duì)音色的普遍理解是聲音的顏色,就像我們聽到別人說話時(shí)不看他們就知道他是誰一樣。事實(shí)上,我們通過音色來識(shí)別這個(gè)人。聲音是由振動(dòng)產(chǎn)生的。每個(gè)物體不同的振動(dòng)頻率產(chǎn)生不同的聲音。它是一個(gè)頻帶,這個(gè)特定的頻帶是聲源的特征。事實(shí)上,它和顏色是一樣的,它微妙地決定了這是什么顏色,那是什么顏色。
如何讓蜂鳴器發(fā)出不同頻率的聲音?
使用定時(shí)器產(chǎn)生頻率,如100Hz的聲音。思路:100Hz表示每秒200次轉(zhuǎn)換,每次轉(zhuǎn)換時(shí)間為1/200s=0.005s=5ms,計(jì)算定時(shí)器初始值:Th0=0x0eetl0=0x00?包括<reg51。H>sbitbeep=P0^0//蜂鳴器引腳無效main(void){//初始化定時(shí)器(晶體振蕩器:11.0592Mhz,12t)tmod=0x01th0=0x0ee//5ms中斷一次tl0=0x00ea=1//打開總中斷ET0=1//打開中斷tr0=1//啟動(dòng)定時(shí)器,同時(shí)(1)//死區(qū)循環(huán),etc.}Voidtimer0interrupt(void)interrupt1{Th0=0x0eetl0=0x00beep=!嘟嘟//transform the buzzer once}
輸出不同頻率的方波信號(hào)驅(qū)動(dòng)蜂鳴器,可發(fā)出N種聲音。
用一個(gè)小C程序給你演示:
while(1)
{
P0^0=1
delayms(50)
P0^0=0
delayms(50)
}
]改變delayms()函數(shù)的參數(shù)來改變延遲時(shí)間,然后改變從P0.0端口輸出的方波頻率。驅(qū)動(dòng)蜂鳴器后,可以發(fā)出不同的聲音
常用的蜂鳴器稱為有源蜂鳴器,它有一個(gè)振蕩電路。如果這個(gè)蜂鳴器想發(fā)出特殊的聲音,它不太可能受到內(nèi)部振蕩電路的限制。您可以使用輸出波形的頻率來改變音調(diào),最好使用被動(dòng)蜂鳴器。