單片機利用蜂鳴器演奏音樂_第1頁
單片機利用蜂鳴器演奏音樂_第2頁
單片機利用蜂鳴器演奏音樂_第3頁
單片機利用蜂鳴器演奏音樂_第4頁
單片機利用蜂鳴器演奏音樂_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗三-利用蜂鳴器演奏音樂一.實驗目的2了解BlueSkyC51單片機實驗板中蜂鳴器的硬件電路2.學會利用蜂鳴器實現(xiàn)音樂的演奏3 掌握蜂鳴器實現(xiàn)音樂演奏的編程二.實驗硬件設(shè)計及電路1. BlueSkyC51單片機實驗板BlueSkyCSl開發(fā)板是一款迷你型的開發(fā)板,其外觀尺寸只有8.5cm*7cm,如圖1。板載模塊如圖1.1.2o圖 1.1.1 BlucSkyCSl 外觀2 單片機最小系統(tǒng)BlueSkyCSl開發(fā)板選擇的是STC 12C5A60S2作為MCUa它內(nèi)部集成 MAX810專用復位電路,2路PWM, 8路高速10位A/D轉(zhuǎn)換(25萬次/秒),兒 乎包含了數(shù)據(jù)采集和控制中所需的所有單尤

2、模塊,因此我們選擇它作為丿I:發(fā)板的 MCUo MCU部分原理圖如圖121。N 1.2.1.1單片機最小系統(tǒng)殿理圖3 蜂鳴器電路連接BlueSkyC51開發(fā)板上帶有1個蜂鳴器,它通過跳線帽與MCU的P1.4連接。 要使用該模塊只需要將跳線帽接上即可。該部分電路原理圖如圖125.1。圖125.1蜂鳴器原理圖三極管主要是做驅(qū)動用的。因為單片機的10 口驅(qū)動能力不夠讓蜂鳴器發(fā)出聲音,所以 我們通過三極管放大驅(qū)動電流,從而可以讓蜂鳴器發(fā)出聲音,你要是輸岀高電平,三極管導 通,集電極電流通過蜂鳴器讓蜂鳴器發(fā)出聲音,當輸出低電平時,三極管截止,沒有電流流 過蜂鳴器,所以就不會發(fā)出聲音。三、實驗原理1咅調(diào)及

3、節(jié)拍用一個口,輸岀方波,這個方波輸入進蜂鳴器就會產(chǎn)生聲音,通過控制方波的頻率、時 間,就能產(chǎn)生簡單的音樂。一般說來,單片機演奏音樂基本都是單音頻率,因此單片機奏樂 只需控制音調(diào)和節(jié)拍。(1) 音調(diào)的確定音調(diào)是由頻率來確左的。通過單片機的左時器泄時中斷,將單片機上對應蜂鳴器的I/O 口來回取反,從而讓蜂鳴器發(fā)岀不同頻率的聲音。只需將立時器給以不同的定時值就可實現(xiàn)。 通過延時,即可發(fā)岀所需要的頻率。(2) 節(jié)拍的確定一舶的時長大約為400-500ms,每個音符的時長通過節(jié)拍來計算。詳細見程序代碼。2軟件設(shè)計相關(guān)(1)頭文件#in cludeo#define uint unsigned int#de

4、fine uchar unsigned char#define ulong unsigned longsbit beep=PlA4;譯實驗相關(guān)問題(1) 實際發(fā)音顫音重解決方法為修改蜂鳴器的驅(qū)動頻率.(2) 實際節(jié)奏過快或者過慢調(diào)整延時四、C51程序代碼(部分來源于網(wǎng)絡(luò))# includeo#define uint unsigned int#define uchar unsigned char#define ulong unsigned longsbit beep=PlA4; 蜂鳴器與口連接uchar thO_f; /中斷裝載TO高8位uchar tlO_f; /TO 低 8位uchar co

5、de freq36*2=音階碼表0xf7,0xd8, 440hz f 1/00xf8,0x50/466hz, 1#10xf8,0xbc/494hz, 2/20xf9,0x26, 524hz # 2#3J0xf9,0x85/554hz, 340xf9g5, 588hz ,450xfa,0x3d, 622hz, 4#60xfa,0x92, 660hz, 57Oxfa,Oxdd, 698hz, 5#80xfb/0x29/ /740hz f 690xfb,0x70, 784hz r 6#/ioOxfb.OxbO, /830hz7/llOxfbQxef. 880hz, 1/120xfc,0x29/932

6、hz, 1#1/130xfc,0x6乙 988hz, 2/140xfc,0x95, 1046hz, 2#/150xfcQxc7/n08hz, 3160xfc,0xf5, 1174h 乙 4/170xfd,0x20, 1244hz, 4#/180xfd,0x4c, 1318hz, 5/190xfd,0x72, 1396hz, 5#/200xfd,0x97, 1480hz, 6/21Oxfd.Oxbb, /1568hz, 6#/22Oxfd.Oxdc, /1662Hz, 7/23OxfdQxfb, 1769h乙 j/24Oxf巳Oxl& 1864h乙 *1#/250xfe,0x34, 1976hz

7、, 2/260xfe,0x4巳 2092hz, 2#/270xfe,0x67/2218hz/ 3/28Oxf巳0x7d, 2350hz,、4/290xfe,0x94, 2488hz, 4#/30Oxf巳0xa8, 2639h乙、5/31Oxf巳Oxbc, 2794hz, 5#/32Oxf巳Oxcf, 2960h乙 6*33Oxfe,OxeO, 3136hz, 6#/34Oxfe,Oxfl, 3322hz, 7/35;uchar code diaodata30=音調(diào)代碼0xl0,0x0ej0x0c,0xl0,0x0e,0x0cOx 10,0x0 巳 Ox 10,0x0c,Ox 10,0x 15,

8、0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x0 巳 OxOcOxO 已0x0 巳 OxlO,OxOe,OxOc,OxO 巳 0x00;uchar code jiedata30=音長代碼0x04,0x04,0x08,0x06,0x02,0x08,0x04,0x04,0x04,0x04,0x02,0x06,0x08,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x02,0x02,0x04,0x04, 0x02x02,0x04,0x04,0x00x00;void timerO() interrupt 1 用丁產(chǎn)生音符的TO中斷服務程序 THO=thOj;TLO=tlO_f;beep=beep;収反beep引腳,發(fā)聲void main (void)uchar ijk二0;uint n;TMOD=0X01; /TO 方式 1TRO二0;關(guān)閉TO (不發(fā)聲)ETO=1;允許TO中斷EA=1;允許總中斷while(l)TRO=1;開 TOfor(i=0;diaodatai!=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論