




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選文檔實(shí)驗(yàn)三-利用蜂鳴器演奏音樂(lè)一、實(shí)驗(yàn)?zāi)康?.了解BlueSkyC51單片機(jī)實(shí)驗(yàn)板中蜂鳴器的硬件電路2.學(xué)會(huì)利用蜂鳴器實(shí)現(xiàn)音樂(lè)的演奏3.掌握蜂鳴器實(shí)現(xiàn)音樂(lè)演奏的編程二、實(shí)驗(yàn)硬件設(shè)計(jì)及電路1. BlueSkyC51單片機(jī)實(shí)驗(yàn)板2.單片機(jī)最小系統(tǒng)3.蜂鳴器電路連接三極管主要是做驅(qū)動(dòng)用的。因?yàn)閱纹瑱C(jī)的IO口驅(qū)動(dòng)能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過(guò)三極管放大驅(qū)動(dòng)電流,從而可以讓蜂鳴器發(fā)出聲音,你要是輸出高電平,三極管導(dǎo)通,集電極電流通過(guò)蜂鳴器讓蜂鳴器發(fā)出聲音,當(dāng)輸出低電平時(shí),三極管截止,沒(méi)有電流流過(guò)蜂鳴器,所以就不會(huì)發(fā)出聲音。三、實(shí)驗(yàn)原理1.音調(diào)及節(jié)拍用一個(gè)口,輸出方波,這個(gè)方波輸入進(jìn)蜂鳴器就會(huì)
2、產(chǎn)生聲音,通過(guò)控制方波的頻率、時(shí)間,就能產(chǎn)生簡(jiǎn)單的音樂(lè)。一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,因此單片機(jī)奏樂(lè)只需控制音調(diào)和節(jié)拍。(1)音調(diào)的確定音調(diào)是由頻率來(lái)確定的。通過(guò)單片機(jī)的定時(shí)器定時(shí)中斷,將單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來(lái)回取反,從而讓蜂鳴器發(fā)出不同頻率的聲音。只需將定時(shí)器給以不同的定時(shí)值就可實(shí)現(xiàn)。通過(guò)延時(shí),即可發(fā)出所需要的頻率。(2)節(jié)拍的確定一拍的時(shí)長(zhǎng)大約為400500ms,每個(gè)音符的時(shí)長(zhǎng)通過(guò)節(jié)拍來(lái)計(jì)算。詳細(xì)見(jiàn)程序代碼。2.軟件設(shè)計(jì)相關(guān)(1)頭文件#include<reg51.h>#define uint unsigned int#define uchar unsign
3、ed char#define ulong unsigned longsbit beep=P14; /蜂鳴器與P1.4口連接(2)歌曲曲譜uchar code diaodata30= /音調(diào)代碼0x10,0x0e,0x0c,0x10,0x0e,0x0c,0x10,0x0e,0x10,0x0c,0x10,0x15,0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x0e,0x0c,0x0e,0x0e,0x10,0x0e,0x0c,0x0e,0x00;uchar code jiedata30= /音長(zhǎng)代碼0x04,0x04,0x08,0x06,0x02,0x
4、08,0x04,0x04,0x04,0x04,0x02,0x06,0x08,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x02,0x02,0x04,0x04,0x02,0x02,0x04,0x04,0x0c,0x00;(3)音階表uchar code freq36*2= /音階碼表0xf7,0xd8, /440hz , 1 /00xf8,0x50, /466hz , 1# /10xf8,0xbc, /494hz , 2 /20xf9,0x26, /524hz , 2# /30xf9,0x85, /554hz , 3 /40xf9,0xe5, /588hz , 4 /
5、50xfa,0x3d, /622hz , 4# /60xfa,0x92, /660hz , 5 /70xfa,0xdd, /698hz , 5# /80xfb,0x29, /740hz , 6 /90xfb,0x70, /784hz , 6# /100xfb,0xb0, /830hz , 7 /110xfb,0xef, /880hz , 1 /120xfc,0x29, /932hz , 1# /130xfc,0x62, /988hz , 2 /140xfc,0x95, /1046hz, 2# /150xfc,0xc7, /1108hz, 3 /160xfc,0xf5, /1174hz, 4 /
6、170xfd,0x20, /1244hz, 4# /180xfd,0x4c, /1318hz, 5 /190xfd,0x72, /1396hz, 5# /200xfd,0x97, /1480hz, 6 /210xfd,0xbb, /1568hz, 6# /220xfd,0xdc, /1662hz, 7 /230xfd,0xfb, /1769hz, 1 /240xfe,0x18, /1864hz, 1# /250xfe,0x34, /1976hz, 2 /260xfe,0x4e, /2092hz, 2# /270xfe,0x67, /2218hz, 3 /280xfe,0x7d, /2350hz
7、, 4 /290xfe,0x94, /2488hz, 4# /300xfe,0xa8, /2639hz, 5 /310xfe,0xbc, /2794hz, 5# /320xfe,0xcf, /2960hz, 6 /330xfe,0xe0, /3136hz, 6# /340xfe,0xf1, /3322hz, 7 /35;(4) 音符發(fā)生程序(中斷服務(wù)程序)void timer0() interrupt 1 /用于產(chǎn)生音符的T0中斷服務(wù)程序 TH0=th0_f; TL0=tl0_f; beep=beep; /取反beep引腳,發(fā)聲三、實(shí)驗(yàn)過(guò)程及問(wèn)題1.Keil開(kāi)發(fā)過(guò)程(1)新建“Project”
8、,選擇單片機(jī)為“AT89C52”(2)新建c文件“music.c”,并添加到工程中(3)設(shè)置生成“HEX”文件,編譯(4)將生成的“HEX”文件燒錄到單片機(jī),檢驗(yàn)(5)不斷修改完善2.編譯實(shí)驗(yàn)相關(guān)問(wèn)題(1)實(shí)際發(fā)音顫音重解決方法為修改蜂鳴器的驅(qū)動(dòng)頻率.(2)實(shí)際節(jié)奏過(guò)快或者過(guò)慢 調(diào)整延時(shí)四、C51程序代碼(部分來(lái)源于網(wǎng)絡(luò))#include<reg51.h>#define uint unsigned int#define uchar unsigned char#define ulong unsigned longsbit beep=P14; /蜂鳴器與P1.4口連接uchar th0
9、_f; /中斷裝載T0高8位uchar tl0_f; /T0低8位uchar code freq36*2= /音階碼表0xf7,0xd8, /440hz , 1 /00xf8,0x50, /466hz , 1# /10xf8,0xbc, /494hz , 2 /20xf9,0x26, /524hz , 2# /30xf9,0x85, /554hz , 3 /40xf9,0xe5, /588hz , 4 /50xfa,0x3d, /622hz , 4# /60xfa,0x92, /660hz , 5 /70xfa,0xdd, /698hz , 5# /80xfb,0x29, /740hz , 6
10、 /90xfb,0x70, /784hz , 6# /100xfb,0xb0, /830hz , 7 /110xfb,0xef, /880hz , 1 /120xfc,0x29, /932hz , 1# /130xfc,0x62, /988hz , 2 /140xfc,0x95, /1046hz, 2# /150xfc,0xc7, /1108hz, 3 /160xfc,0xf5, /1174hz, 4 /170xfd,0x20, /1244hz, 4# /180xfd,0x4c, /1318hz, 5 /190xfd,0x72, /1396hz, 5# /200xfd,0x97, /1480h
11、z, 6 /210xfd,0xbb, /1568hz, 6# /220xfd,0xdc, /1662hz, 7 /230xfd,0xfb, /1769hz, 1 /240xfe,0x18, /1864hz, 1# /250xfe,0x34, /1976hz, 2 /260xfe,0x4e, /2092hz, 2# /270xfe,0x67, /2218hz, 3 /280xfe,0x7d, /2350hz, 4 /290xfe,0x94, /2488hz, 4# /300xfe,0xa8, /2639hz, 5 /310xfe,0xbc, /2794hz, 5# /320xfe,0xcf, /
12、2960hz, 6 /330xfe,0xe0, /3136hz, 6# /340xfe,0xf1, /3322hz, 7 /35;uchar code diaodata30= /音調(diào)代碼0x10,0x0e,0x0c,0x10,0x0e,0x0c,0x10,0x0e,0x10,0x0c,0x10,0x15,0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x0e,0x0c,0x0e,0x0e,0x10,0x0e,0x0c,0x0e,0x00;uchar code jiedata30= /音長(zhǎng)代碼0x04,0x04,0x08,0x06,0x02,0x08,0x04,0x04,0x04,0x04,0x02,0x06,0x08,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x02,0x02,0x04,0x04,0x02,0x02,0x04,0x04,0x0c,0x00;void timer0() interrupt 1 /用于產(chǎn)生音符的T0中斷服務(wù)程序 TH0=th0_f; TL0=tl0_f; beep=beep; /取反beep引腳,發(fā)聲void main(void) uchar i,j,k=0; uint n; TMOD=0X01; /T0方式1 TR0=0; /關(guān)閉T0(不發(fā)聲) ET0=1; /允許T0中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家電小門(mén)店管理制度
- 強(qiáng)化領(lǐng)導(dǎo)及管理制度
- 德育活動(dòng)室管理制度
- 志愿者茶室管理制度
- 快速響應(yīng)區(qū)管理制度
- 急救中感染管理制度
- 意大利劇院管理制度
- 成品庫(kù)儲(chǔ)存管理制度
- 戰(zhàn)備綜合室管理制度
- 房地產(chǎn)經(jīng)理管理制度
- 機(jī)柜維修維護(hù)方案(3篇)
- 靜脈治療指南解讀
- 江蘇省南通市海安市2025年七年級(jí)下學(xué)期期末英語(yǔ)試題及答案
- 有限空間作業(yè)通風(fēng)時(shí)間專(zhuān)題
- 廣東省廣州市天河外國(guó)語(yǔ)學(xué)校2025年七年級(jí)英語(yǔ)第二學(xué)期期末綜合測(cè)試模擬試題含答案
- Java EE-形考任務(wù)一-國(guó)開(kāi)(LN)-參考資料
- 西安無(wú)人機(jī)項(xiàng)目商業(yè)計(jì)劃書(shū)
- 2025年公務(wù)員綜合素質(zhì)能力考試卷及答案
- 化工智能控制技術(shù)-形考任務(wù)4(預(yù)備知識(shí):第十~十三章;分值100分;不需輔導(dǎo)老師評(píng)閱)測(cè)驗(yàn)-國(guó)開(kāi)-參考資料
- 螞蟻花唄對(duì)大學(xué)生消費(fèi)行為的實(shí)證分析
- 儲(chǔ)能專(zhuān)業(yè)知識(shí)考試試題及答案
評(píng)論
0/150
提交評(píng)論