單片機音樂發(fā)生器.doc
《單片機音樂發(fā)生器.doc》由會員分享,可在線閱讀,更多相關(guān)《單片機音樂發(fā)生器.doc(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第 屆 電子設(shè)計大賽論文 單片機音樂發(fā)生器 組長: 組員: 目 錄 1、系統(tǒng)方案 - 2 - 1.1、方案比較與選擇 - 2 - 1.1.1、單片機選擇與論證 - 2 - 1.1.2、功放選擇與論證 - 2 - 1.1.3、顯示器件選擇與論證 - 2 - 1.1.4、鍵盤形式選擇與論證 - 3 - 1.1.5、材料選擇與論證 - 3 - 2、理論分析與計算 - 3 - 2.1、聲音播放的原理 - 3 - 2.1.1、普通聲音產(chǎn)生原理................................. - 3 - 2.1.2、音樂產(chǎn)生原理......................................- 4 - 2.2、音符節(jié)拍處理 - 5 - 3、電路與程序設(shè)計 - 6 - 3.1、電路的設(shè)計 - 6 - 3.1.1、總體框圖設(shè)計 - 6 - 3.1.2、時鐘電路設(shè)計 - 6 - 3.1.3、復(fù)位電路設(shè)計 - 7 - 3.1.4、按鍵電路設(shè)計 - 7 - 3.1.5、顯示電路設(shè)計 - 8 - 3.1.6、揚聲器電路設(shè)計 - 9 - 3.2、程序設(shè)計...............................................- 10 - 3.2.1、系統(tǒng)整體流程圖 - 10 - 3.2.2、鍵盤子程序流程圖 - 10 - 3.2.3、液晶顯示子程序流程圖 - 11 - 4、測試方案與測試結(jié)果 - 12 - 4.1、測試方案 - 12 - 4.2、測試結(jié)果 - 12 - 4.3、測試分析 - 13 - 附錄 - 13 - 附錄1:電路原理圖 - 13 - 附錄2:部分源程序 - 14 - 1、系統(tǒng)方案 1.1、方案比較與選擇 1.1.1、單片機選擇與論證 方案一:8051單片機。8051內(nèi)部包含一個8位CPU,128BRAM,4KBROM,21個特殊功能寄存器,4個8位并行I/O口,一個全雙工串行口,2個16位定時器、計數(shù)器,5個中斷源。 方案二:SST單片機。SST單片機省去了開發(fā)用的編程器和仿真器。省去了外部EEPROM、電壓監(jiān)控芯片、上電復(fù)位電路和5個UART的擴展芯片。它自帶在線下載和在線仿真功能,帶有5路PCA模塊(主成分分析),PCA功能比普通單片機有更強的計時性。利用PCA的脈沖寬度調(diào)制(PWM)模式可產(chǎn)生一個8位PWM。 方案三:AT89C52單片機。AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含4k字節(jié)的可反復(fù)擦寫1000次的只讀程序存儲器(PEROM)和128字節(jié)的隨機存取數(shù)據(jù)存儲器(RAM),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。 基于對功能齊全性的考慮,我們采用方案三。 1.1.2、功放選擇與論證 方案一:LM386。LM386是一種音頻集成功放,具有自身功耗低、更新內(nèi)鏈增益可調(diào)整、電源電壓范圍大和總諧波失真小等優(yōu)點的功率放大器。 方案二:NPN型三極管。集電極電流受基極電流的控制,并且基極電流很小的變化,會引起集電極電流很大的變化,且變化滿足一定的比例關(guān)系。 出于對市場供應(yīng)情況和價格方面的考慮,我們采用方案一。 1.1.3、顯示器件選擇與論證 方案一:數(shù)碼管。數(shù)碼管顯示能在低電壓、小電流條件下驅(qū)動發(fā)光,能與CMOS、ITL電路兼容。發(fā)光響應(yīng)時間極短(<0.1μs),高頻特性好,單色性好,亮度高。體積小,重量輕,抗沖擊性能好。壽命長,使用壽命在10萬小時以上,甚至可達100萬小時。但顯示功能有限,只能顯示數(shù)字和個別字母。 方案二:液晶顯示器(LCD)。液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,顯示質(zhì)量高。其接口都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。 方案三:陰極射線管顯示器(CRT)。此種顯示器圖像色彩豐富,還原性好,有豐富的幾何失真調(diào)整能力。但不能長期暴露在磁場下,會磁化或損壞,不能讓強光直射,會降低發(fā)光效率,不能在高溫下使用,工作性能和使用壽命會大打折扣。 出于價格和電路復(fù)雜程度的考慮,在鍵控音符輸入時采用方案一,在歌曲信息的顯示時采用方案三。 1.1.4、鍵盤形式選擇與論證 方案一:獨立式按鍵。獨立按鍵的輸入線較多,結(jié)構(gòu)復(fù)雜,一般適用于按鍵較少,操作速度較高的場合。 方案二:行列式鍵盤。行列式鍵盤由行和列線交叉組成,一般適用于按鍵較多的場合。使用44矩形鍵盤,這樣鍵盤模塊僅使用8根線與處理器相連,節(jié)省了系統(tǒng)資源。 由于我們功能比較少,矩形鍵盤占用電路板位置較大且電路復(fù)雜,因此選擇方案一。 1.1.5、材料選擇與論證 方案一:玻璃板。玻璃板光滑、透明,但是質(zhì)量較重,易碎,并且不易加工。 方案二:塑料板。塑料板質(zhì)量輕,不易碎,但是也不好加工,且不環(huán)保。 方案三:木板。木板質(zhì)量比塑料板重,但比玻璃板輕,易于加工,可塑性強。 基于成本及加工復(fù)雜程度的考率,采用方案二。 2、理論分析與計算 2.1、聲音播放的原理 2.1.1普通聲音產(chǎn)生原理 人耳能聽到的聲音頻率范圍是幾十到幾千赫茲之間,單片機的I/O輸出引腳上能輸出高電平或低電平。設(shè)計一個程序,令單片機的某一個引腳按照一個的時間間隔輸出一些符合規(guī)律的高低電平信號,那么就能得到一系列的矩形波。入伏哦這種時間間隔反映的頻率在人耳所能聽到的頻率范圍內(nèi),那么就能輸出一定的聲音信息。 圖1 要輸出的穩(wěn)定的矩形波,可以利用延時程序來控制輸出高電平或低電平的持續(xù)時間,當(dāng)持續(xù)時間到時就令該信號反向,從而實現(xiàn)電平的轉(zhuǎn)換,如圖1所示。圖中,從單片機引腳上輸出的信號,高電平和低電平保持的時間分別為t1和t2,信號的基本輸出周期為T,即頻率f的倒數(shù)。在程序編寫時,可令t1和t2相等。這樣,當(dāng)要產(chǎn)生某一頻率的音頻信號時,只要先計算得到這個周期時間的一半,然后利用延時程序來控制單片機的輸出引腳在該時間內(nèi)輸出穩(wěn)定的高電平或低電平。該時間結(jié)束時,又利用程序使單片機的輸出引腳的輸出信號電平發(fā)生反相。如此循環(huán)執(zhí)行后,就能得到設(shè)計要求的音頻信號了。 2.1.2音樂產(chǎn)生原理 一首樂曲是由多個音符構(gòu)成的。每一個音符都對應(yīng)著一個確定的頻率。另外,每一個音符會根據(jù)樂曲的要求設(shè)定一個確定的節(jié)拍 音符頻率的處理方法如下: 程序設(shè)計如果利用定時器計數(shù)的方式來產(chǎn)生延時的效果,就可以將歌曲中每一個音符所對應(yīng)的頻率換算成相對應(yīng)的技術(shù)初值。然后,將這首音樂所有音符的計數(shù)初值編成一個表,并把每一個音符的計數(shù)初值與一個確定的數(shù)字碼來聯(lián)系。如表1所示為利用定時器T0工作于方式1時,一些簡譜音符所對應(yīng)的頻率,計數(shù)初值和簡譜碼。 音符 頻率(Hz) 簡譜碼(T) 音符 頻率(Hz) 簡譜碼(T) 低1D0 262 63628 #4FA# 740 64860 #1D0# 277 63731 中5SO 748 64898 低2RE 294 63835 #5S0# 831 64934 #2RE# 311 63928 中6LA 880 64968 低3M 330 64021 #6LA# 932 64994 低4FA 349 64103 中7S1 988 65030 #4FA# 370 64185 高1DO 1046 65058 低5SO 392 64260 #DO# 1109 65085 #5S0# 415 64331 高2RE 1175 65110 低6LA 440 64400 #2RE# 1245 65134 #6LA# 466 64463 高3M 1318 65157 低7S1 494 64524 高4FA 1397 65178 中1DO 523 64580 #4FA# 1480 65198 #1D0# 554 64633 高5SO 1568 65217 中2RE 578 64684 #5SO# 1661 65235 #2RE# 622 64723 高6LA 1760 65252 中3M 659 64777 #6LA# 1865 65268 中4FA 698 64820 高7SI 1967 65283 表1 例如,要計算中音DO、中音RE、中音MI的計數(shù)初值 中音DO: TC=2∧16– 10∧6/(523*2)=65536-956=65480=0FC44H 中音RE: TC=2∧16 - 10∧6/(587*2)=65536-888=64684=0FCACH 中音MI: TC=2∧16 - 10∧6/(659*2)=65536-759=64777=0FD09H 2.2、音符節(jié)拍的處理 一首樂曲的每一個音符除了頻率之外,還有不同的節(jié)拍,也就是這個音符發(fā)音的持續(xù)時間。如表2所示為節(jié)拍碼與實際碼之間的對照表。 節(jié)拍碼 實際節(jié)拍 節(jié)拍碼 實際節(jié)拍 1 1/4拍 5 1又1/4拍 2 2/4拍 6 1又1/2拍 3 3/4拍 8 2拍 4 1拍 A 2又1/2拍 表2 如果1拍為0.4s,1/4拍是0.1s,只要設(shè)定延遲時間就可求得節(jié)拍的時間。假設(shè)1/4拍為1DELAY,那么1拍應(yīng)為4DELAY。如表3所示為1/4和1/8拍的時間設(shè)定。 1/4拍的時間設(shè)定 1/8拍的時間設(shè)定 曲調(diào)值 DELAY 曲調(diào)值 DELAY 調(diào)4/4 125ms 調(diào)4/4 62ms 調(diào)3/4 187ms 調(diào)3/4 94ms 調(diào)2/4 250ms 調(diào)2/4 125ms 表3 1/4拍的延遲時間=187ms 延時程序為: DELAY: MOV R7,#02 DELA1:MOV R4, #187 DELA1:MOV R3,#248 DJNZ R3, $ DJNZ R4, DELA2 DJNZ R7, DELA1 3、電路與程序設(shè)計 3.1、電路的設(shè)計 3.1.1、總體框圖設(shè)計 系統(tǒng)總體框圖如圖2所示。 單 片 機 時鐘與復(fù)位 鍵盤輸入 拓展RAM 拓展ROM 音頻發(fā)生 音頻放大大 揚聲器 LCD顯示 圖2 3.1.2、時鐘電路設(shè)計 AT89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端引腳為XTAL2。這兩個引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器,如圖3所示為AT89C52的內(nèi)部時鐘方式的電路。 圖3 圖中電容C1和C2的值選擇為30pF。該電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體振蕩頻率的范圍通常是在1.2~12MHz。晶體的頻率越高,系統(tǒng)的時鐘頻率越高,單片機的運行速度也就越快。但同時,運行速度快對存儲器的速度要求也就越高,對印制電路板的工藝要求也就越高,即要求線間的寄生電容要小。晶體和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。 3.1.3、復(fù)位電路設(shè)計 AT89C52的復(fù)位是由外部的復(fù)位電路實現(xiàn)的,在本次設(shè)計中,我們采用了按鍵電平復(fù)位電路。按鍵手動電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通來實現(xiàn),具體電路如圖4所示。 圖4 3.1.4、按鍵電路設(shè)計 此電路實現(xiàn)的功能是每當(dāng)有按鍵按下時,通過數(shù)碼管顯示相應(yīng)數(shù)字。每個按鍵代表不同的音符,通過程序控制揚聲器發(fā)出不同音符。如圖5所示為獨立式按鍵的具體電路。 圖5 3.1.5、顯示電路 3.1.5.1 LED數(shù)碼管顯示電路 在本次設(shè)計中我們采用的是7管LED數(shù)碼管,它由7個發(fā)光二極管組成。這七個發(fā)光二極管a-g呈“日”字形排列,當(dāng)某一發(fā)光二極管導(dǎo)通時,相應(yīng)地點亮某一點或某一段筆畫,通過發(fā)光二極管不停地亮暗組合形成不同的數(shù)字、字母等符號。由于采用的是共陰極接法,所以在單片機輸出口和LED輸入口相連時沒有外接電阻。如圖6所示為數(shù)碼管實際連接電路。 圖6 3.1.5.2 LCD液晶顯示器電路 在本次設(shè)計中,我們采用的是FG12864E LCD,它是一種圖形點陣液晶顯示器。由于LCD的電源供電情況有別于普通的+5V電源,其驅(qū)動電源情況必須通過一個供電電路來提供,如圖7所示。 圖7 圖8 如圖8所示為LCD具體連接電路。顯示數(shù)據(jù)通過單片機的P0引腳來傳送;左半屏與右半屏顯示的選擇,引腳分別連接LCD的CS1和CS2。 3.1.6、揚聲器電路 圖9 如圖9所示為揚聲器電路實際連接圖,將單片機與喇叭通過一個LM386連接,揚聲器的工作原理是當(dāng)兩輸入端有電平差時,揚聲器發(fā)聲。所以將喇叭的一個輸出端接地,另一端與集成運放的輸出相連。突出采用的連接方式,可以通過改變滑動變阻器的大小來改變接入運放的電壓,并實現(xiàn)控制音量大小的調(diào)節(jié)。 3.2、程序的設(shè)計 3.2.1、系統(tǒng)整體流程圖 圖10 如圖10所示為系統(tǒng)整體流程圖。將歌曲的節(jié)拍和頻率儲存到數(shù)據(jù)表中,播放歌曲時利用查表函數(shù)為計數(shù)器賦初值,產(chǎn)生周期不等的方波,即可播放音樂。 3.2.3、鍵盤子程序流程圖 如圖11所示為鍵盤子程序流程圖。 圖11 3.2.2、液晶顯示子程序流程圖 如圖12所示為液晶顯示子程序流程圖。 圖12 4、測試方案與測試結(jié)果 4.1、測試方案 基本要求(1):能播放標(biāo)準(zhǔn)C調(diào)的Do、Re、Mi、Fa、So、La、Si、Do作為起始測試音。 基本要求(2):測試音結(jié)束后等待2秒,播放一首自選曲目,時間>30秒。 發(fā)揮部分(1):能播放指定曲目。 發(fā)揮部分(2):具有鍵盤,可現(xiàn)場編曲并播放。 發(fā)揮部分(3):具有液晶顯示功能,可顯示簡譜。 發(fā)揮部分(4):可將簡譜轉(zhuǎn)換成顯示五線譜。 4.2、測試結(jié)果 4.2.1、仿真測試 通過Keil和Proteus仿真,在播放Do,Re,Mi,Fa,So,La,Xi,Do等待兩秒后,可以聽到自選歌曲和指定曲目,LCD顯示歌曲信息。按下控制鍵后,進入編曲模式,7個獨立鍵盤分別代表七個音符,可現(xiàn)場編曲。同時,數(shù)碼管顯示每個按鍵代表的數(shù)字。如圖13所示,為數(shù)碼管仿真結(jié)果。 圖13 4.2.2、成品測試 通過對成品進行調(diào)試實驗,所得到的結(jié)果與仿真結(jié)果相同。 4.3、測試分析 由測試結(jié)果可以看出,成品滿足基本要求和發(fā)揮部分的部分要求。 附錄 附錄1:電路原理圖 附錄2:部分源程序 #include- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機 音樂 發(fā)生器
鏈接地址:http://www.3dchina-expo.com/p-6598602.html