版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)控制技術(shù)項(xiàng)目:音調(diào)與節(jié)拍的演奏控制123項(xiàng)目任務(wù)系統(tǒng)硬件電路設(shè)計(jì)控制程序設(shè)計(jì)
目錄單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制4項(xiàng)目調(diào)試、系統(tǒng)仿真一、項(xiàng)目任務(wù)
學(xué)習(xí)要點(diǎn):1、掌握蜂鳴器發(fā)聲“音調(diào)”和“節(jié)拍”的控制方法,為“音樂盒設(shè)
計(jì)”、“簡易電子琴設(shè)計(jì)”等設(shè)計(jì)制作奠定基礎(chǔ)。2、加深定時(shí)器/計(jì)數(shù)器與中斷技術(shù)的應(yīng)用能力。單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制如圖1所示,由P1.0口控制一個(gè)LM386功率放大器,經(jīng)功率放大器控制發(fā)聲器件蜂鳴器,以獲得較大的音頻輸出功率。當(dāng)P1.0口輸出為低電平時(shí),功率放大器導(dǎo)通,蜂鳴器得電;當(dāng)P1.0口輸出為高電平時(shí),功率放大器截止,蜂鳴器斷電。二、系統(tǒng)硬件電路設(shè)計(jì)
(一)硬件電路圖圖1單片機(jī)演奏音樂控制系統(tǒng)硬件示意圖LM386單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制(二)單片機(jī)演奏音樂控制系統(tǒng)電路器件清單表1電路器件清單二、系統(tǒng)硬件電路設(shè)計(jì)
元件名稱參數(shù)數(shù)量元件名稱參數(shù)數(shù)量單片機(jī)STC90C511開發(fā)板提供電源和程序ISP下載1晶體振蕩器12MHz1面包板/萬能板1瓷片電容30pF2功率放大器LM3861電解電容22μF/47μF1/1電位器10kΩ1按鍵非自鎖
1蜂鳴器1電阻10kΩ1插接線兩頭帶插針用于面包板插接若干單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制(一)音調(diào)的確定要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的電平反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對脈沖的電平反相,就可在I/O腳上得到此頻率的脈沖。(2)利用51單片機(jī)的內(nèi)部定時(shí)器T0使其工作在計(jì)數(shù)器模式方式1下
改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。此外,結(jié)束符和休止符可以分別用代碼00H和FFH來表示,若查表結(jié)果為00H,則表示曲子結(jié)束;若結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。三、控制程序設(shè)計(jì)單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制低音頻率脈沖T值中音頻率脈沖T值高音頻率脈沖T值Do2621908F88CDo523956FC44Do1046478FE22Do﹟2771805F8F3Do﹟554902FC7ADo﹟1109450FE3ERe2941700F95CRe587851FCADRe1175425FE57Re﹟3111607F9B9Re﹟622803FCDDRe﹟1245401FE6FMi3301515FA15Mi659758FD0AMi1318379FE85Fa3491432FA68Fa698716FD34Fa1397357FE9BFa﹟3701351FAB9Fa﹟740675FD5DFa﹟1480337FEAFSo3921275FB05So784637FD83So1568318FEC2So﹟4151204FB4CSo﹟831601FDA7So﹟1661301FED3La4401136FB90La880568FDC8La1760284FEE4La﹟4641077FBCBLa﹟932536FDE8La﹟1865268FEF4Si4941012FC0CSi988506FE06Si1976253FF03三、控制程序設(shè)計(jì)表2C調(diào)各音符頻率與計(jì)數(shù)脈沖初值T的對照表單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制(二)節(jié)拍的確定節(jié)拍碼節(jié)拍數(shù)11/4拍22/4拍33/4拍41拍51又1/4拍61又1/2拍82拍A2又1/2拍C3拍F3又3/4拍表3所示為節(jié)拍數(shù)與節(jié)拍碼的對照。如果1拍為0.4秒,1/4拍則為0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù)。三、控制程序設(shè)計(jì)表3節(jié)拍數(shù)與節(jié)拍碼對照單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制(三)編碼的確定在給每個(gè)音符編碼時(shí),使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍。音調(diào):中音的doremifasolasi分別編碼為1-7,高音do編為8,高音re編為9,停頓編為0。播放長度:以1/4拍為單位(在本程序中為即1/4拍=165ms),一拍即等于4個(gè)1/4拍,編為4,其它的播放時(shí)間以此類推。音調(diào)作為編碼的高4位,而播放時(shí)間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個(gè)編碼。以0xff作為曲譜的結(jié)束標(biāo)志。舉例1:音調(diào)do,發(fā)音長度為兩拍,將其編碼為0x18。舉例2:音調(diào)re,發(fā)音長度為半拍,將其編碼為0x22。三、控制程序設(shè)計(jì)單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制//程序:ex07_01.c//功能:簡單音調(diào)和節(jié)拍的演奏程序#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitfm=P1^0;
//蜂鳴器輸出的I/O口選用P1.0管腳uchartimeh,timel,i;
//timeh,timel為定時(shí)器高低4位,i為演奏音符個(gè)數(shù)//--------------------簡譜(1-7代表中音do~si,8代表高音do)-------------------ucharcodeyinyue[]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0xff};//----------------------------簡譜音調(diào)對應(yīng)的定時(shí)器初值---------------------------ucharcodecuzhi[]={0xFF,0xFF,0xFC,0x44,0xFC,0xAD,0xFD,0x0A,0xFD,0x34,0xFD,0x83,0xFD,0xC8,0xFE,0x06,0xFE,0x22};
//依次為:占位符、中音do~si的T計(jì)數(shù)初值、高音do的T計(jì)數(shù)初值三、控制程序設(shè)計(jì)(四)程序單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制voiddelay1ms(uintz);
//延時(shí)1ms子程序voiddelay165ms(uintz);
//延時(shí)165ms,即1/4拍子程序voidsong();
//演奏子程序main(){EA=1;
//開總中斷ET0=1;
//開定時(shí)器0TMOD=0x01;//定時(shí)器T0工作在方式1TH0=0;TL0=0;TR0=1;//啟動(dòng)T0while(1)
{
song(); delay1ms(1000);}}voidtimer0()interrupt1
//定時(shí)器0溢出中斷子程序用于產(chǎn)生各種音調(diào){ TH0=timeh; TL0=timel; fm=~fm;
//產(chǎn)生方波}三、控制程序設(shè)計(jì)單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制voiddelay165ms(uintz)
//延時(shí)165ms函數(shù),即1/4拍延時(shí){uintx,y;for(x=z;x>0;x--)for(y=19000;y>0;y--);}voiddelay1ms(uintz)
//軟件延時(shí)約1ms函數(shù){uintx,y;for(x=z;x>0;x--)for(y=112;y>0;y--);}voidsong()//演奏函數(shù){ uinttemp; ucharjp;
//jp是簡譜1~8的變量
i=0; while(1) {temp=yinyue[i];三、控制程序設(shè)計(jì)單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制if(temp==0xff)break;//到曲終則跳出循環(huán)
jp=temp/16;//取數(shù)的高4位作為音調(diào)
if(jp!=0) { timeh=cuzhi[jp*2];
//取T的高4位值
timel=cuzhi[jp*2+1];//取T的低4位值
} else { TR0=0; fm=1;//關(guān)蜂鳴器
} delay165ms(temp%16);//取數(shù)的低4位作為節(jié)拍
TR0=0;
//唱完一個(gè)音停10ms fm=1; delay1ms(10); TR0=1; i++; } TR0=0; fm=1; }三、控制程序設(shè)計(jì)單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制
四、項(xiàng)目調(diào)試、系統(tǒng)仿真(一)動(dòng)手做——采用面包板電路搭建方法:下載程序,上電調(diào)試面包板上電路搭建、電路檢查
程序編譯、鏈接,生成目標(biāo)代碼Step1Step2Step3項(xiàng)目預(yù)期控制效果單片機(jī)控制技術(shù)音調(diào)與節(jié)拍的演奏控制
四、項(xiàng)目調(diào)試、系統(tǒng)仿真(二)動(dòng)手做:Proteus仿真從Proteus中選取如下元器件:(1)AT89C51,單片機(jī);(2)RES、RX8,電阻、排阻;(3)CAP、CAP-ELEC,電容、電解電容;(4)POT-LOG,電位器;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼鐵燒結(jié)廠除塵課程設(shè)計(jì)
- 軋制生產(chǎn)線課程設(shè)計(jì)
- 鍋爐課程設(shè)計(jì)的總結(jié)
- 音箱放大器課程設(shè)計(jì)
- 認(rèn)識(shí)地球校本課程設(shè)計(jì)
- 鵪鶉養(yǎng)殖課程設(shè)計(jì)思路
- 香水配比課程設(shè)計(jì)
- 表面工程學(xué)課程設(shè)計(jì)
- 音樂資源課程設(shè)計(jì)
- 現(xiàn)狀地形圖課程設(shè)計(jì)
- DB-T29-74-2018天津市城市道路工程施工及驗(yàn)收標(biāo)準(zhǔn)
- 小學(xué)一年級20以內(nèi)加減法混合運(yùn)算3000題(已排版)
- 智慧工廠數(shù)字孿生解決方案
- 病機(jī)-基本病機(jī) 邪正盛衰講解
- 品管圈知識(shí) 課件
- 非誠不找小品臺(tái)詞
- 2024年3月江蘇省考公務(wù)員面試題(B類)及參考答案
- 患者信息保密法律法規(guī)解讀
- 老年人護(hù)理風(fēng)險(xiǎn)防控PPT
- 充電樁采購安裝投標(biāo)方案(技術(shù)方案)
- 醫(yī)院科室考勤表
評論
0/150
提交評論