通信工程系電子線路實現(xiàn)訓(xùn)練報告-單片機音樂播放器設(shè)計報告.doc_第1頁
通信工程系電子線路實現(xiàn)訓(xùn)練報告-單片機音樂播放器設(shè)計報告.doc_第2頁
通信工程系電子線路實現(xiàn)訓(xùn)練報告-單片機音樂播放器設(shè)計報告.doc_第3頁
通信工程系電子線路實現(xiàn)訓(xùn)練報告-單片機音樂播放器設(shè)計報告.doc_第4頁
通信工程系電子線路實現(xiàn)訓(xùn)練報告-單片機音樂播放器設(shè)計報告.doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

通信工程系電子線路實現(xiàn)訓(xùn)練報告目錄1.方案與論證.11.1顯示電路.11.2時鐘電路.12.電子音樂產(chǎn)生原理.12.1音調(diào).12.2節(jié)拍.33.系統(tǒng)硬件設(shè)計.63.1系統(tǒng)總框圖.63.2電路設(shè)計.73.2.1單片機時鐘電路.73.2.2.復(fù)位電路.83.2.3電源電路.83.2.4.USB程序下載電路.93.2.5.蜂鳴器驅(qū)動電路.103.2.6顯示電路.113.2.8矩陣電路.114.系統(tǒng)軟件設(shè)計.125.總結(jié)與展望.146.參考文獻.14附錄.15附錄1系統(tǒng)總電路.15附錄2源代碼.16通信工程系電子線路實現(xiàn)訓(xùn)練報告11.方案與論證1.1顯示電路方案.1:采用LED數(shù)碼管來顯示(電路簡單,成本低);方案.2:采用LCD液晶顯示器來顯示(電路簡單,成本高);方案3:采用TFT真彩液晶顯示(電路復(fù)雜,成本高,但顯示的分辨率高);綜上所述,選擇方案一進行設(shè)計。1.2時鐘電路方案.1:選擇DS1302實時時鐘芯片來實現(xiàn)音樂播放器(時間準(zhǔn)確,但要增加額外開銷);方案.2:選擇單片機的軟件實時來實現(xiàn)音樂播放器(靈活性高,時間不準(zhǔn)確);方案.3:選擇單片機內(nèi)部可編程定時器來實現(xiàn)音樂播放器(在不增加額外的開銷前提下,時間可以做到準(zhǔn)確)。綜上所述,選擇方案三進行設(shè)計。2.電子音樂產(chǎn)生原理單片機發(fā)音原理:單片機演奏音樂基本是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音,但一定要弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率。節(jié)拍表示一個音符唱多長的時間。下面,就此兩點,闡述說明:2.1音調(diào)在音樂中所謂“音調(diào)”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz,其余與其比較。f1和f2為兩個音符,當(dāng)這兩個音符的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程。在音樂中1與.1,2與.2,正好相差一個倍頻程,在音樂學(xué)中稱它相差一個八度音。在一個八度音內(nèi),有12個半音。以1i八音區(qū)為例,12個半音是:11、12、22、23、34、44,45、5一5、56、66、67、7i。這12個音階的分度基本上是以對數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其通信工程系電子線路實現(xiàn)訓(xùn)練報告2基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。確定一個頻率所對應(yīng)的定時器的定時初值的方法:以標(biāo)準(zhǔn)音高A為例:標(biāo)準(zhǔn)音高A的頻率f=440Hz,其對應(yīng)的周期為:T=1/f=1/440=2272s因此,需要在單片機I/O端口輸出周期為T=2272s的方波脈沖,如下圖所示。圖1方波脈沖由上圖可知,單片機上對應(yīng)喇叭的I/O口來回取反的時間應(yīng)為:t=T/2=2272/2=1136s此處分兩種方式敘述,請比較選用,其實結(jié)果相同:.這個時間t也就是單片機上定時器應(yīng)有的中斷觸發(fā)時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時器的予置初值由下式來確定:t=12(TALLTHL)/f0式中,TALL=216=65536,THL為定時器待確定的計數(shù)初值。因此定時器的高低計數(shù)器的初值為:TH=THL/256=(TALLtf0/12)/256TL=THL%256=(TALLtf0/12)%256將t=1136s代入上面兩式(注意:計算時應(yīng)將時間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的預(yù)置初值為:TH440Hz=(655361136*12/12)/256=FBHTL440Hz=(655361136*12/12)%256=90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計數(shù)器的予置初值。.假設(shè)單片機晶振頻率f0=12Mhz,定時器在工作方式1計數(shù)脈沖值與頻率的關(guān)系為:N=FI2FR其中N計數(shù)值;FI內(nèi)部計時一次為1us,故其頻率為1MHz;FR要產(chǎn)生的頻率。其計數(shù)值的求法為:T=65536N=65536FI2FR則標(biāo)準(zhǔn)音高A(頻率f=440Hz)的計數(shù)值為:T=65536N=65536FI2FR=6553610000002FR=65536500000/440=655361136=64400=0FB90H下面給出C調(diào)各音符頻率值和定時器定時初值:(晶振頻率f0=12Mhz,定時器在工作方式1)表1C調(diào)各音符頻率值和定時初值對照表C調(diào)音符11#22#344#55#66#7頻率Hz262277293311329349370392415440466494TH/TLF88BF8F2F9B7FA14FA66FAB9FB03FB4AFB8FFBCFFBCFFC0B通信工程系電子線路實現(xiàn)訓(xùn)練報告3C調(diào)音符11#2#4#5#6#頻率Hz523553586621658697739783830879931987TH/TLFC43FC78FCABFCDBFD08FD33FD5BFD81FDA5FDC7FDE7FE05C調(diào)音符11#22#344#55#66#7頻率Hz104511061171124113161393147615631658175518601791TH/TLFB21FE3CFE55FE6DFE84FE99FEADFEC0FE02FEE3FEF3FF02對于非C調(diào)的歌曲,要對各音符的頻率做相應(yīng)的變化調(diào)號音樂上指用以確定樂曲主音高度的符號。升C調(diào):1#C,也就是降D調(diào):1bD;277(頻率)升D調(diào):1#D,也就是降E調(diào):1bE;311升F調(diào):1#F,也就是降G調(diào):1bG;369升G調(diào):1#G,也就是降A(chǔ)調(diào):1bA;415升A調(diào):1#A,也就是降B調(diào):1bB。4所謂1A,就是說,這首歌曲的“導(dǎo)”(即作為基調(diào)的中音DO)要唱得同A音符一樣高,其它各音符依次向后遞推,通常把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1C,就是說,這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來的高低是不一樣的。在遞推的時候要嚴(yán)格按各音符間音程關(guān)系進行(全音還是半音,只有34和7i之間是半音關(guān)系,其它音之間都是全音關(guān)系),下面以1=D調(diào)進行說明。參照上面的鋼琴鍵盤圖和表1,確定出D調(diào)各音符對應(yīng)的頻率值為:(到后來制表時就以各音符對應(yīng)的新頻率值確定定時初值)2.2節(jié)拍音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達式,如1=C44、1=G43等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有通信工程系電子線路實現(xiàn)訓(xùn)練報告4很大的關(guān)聯(lián),44、43就是用來表示節(jié)拍的。以43為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:其中1、2為一拍,3、4、5為一拍,6為一拍共三拍。1、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400500ms。我們以一拍的時長為400ms為例,則當(dāng)以四分音符為節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。若樂譜有特別說明則另行對待。如有樂譜中注明每分鐘86拍,則一拍時間為60/86s=698ms??梢?,在單片機上控制一個音符唱多長可采用循環(huán)延時的方法來實現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調(diào)用一次延時程序,如果它為八分音符,則只需調(diào)用二次延時程序,如果它為四分音符,則只需調(diào)用四次延時程序,依次類推。具體來說,.每個音符使用一個字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,節(jié)拍與節(jié)拍碼的對照,如下表所示。表2節(jié)拍與節(jié)拍碼的對照表節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)1(十六分音符)1/4拍為1DELAY11/8拍2(八分音符)2/4拍21/4拍33/4拍33/8拍4(四分音符)1拍41/2拍51又1/4拍55/8拍61又1/2拍63/4拍8(二分音符)2拍81拍10A2又1/2拍A1又1/4拍12C3拍C1又1/2拍15F3又3/4拍16(全音符)4拍.以1/4拍(十六分音符)為一個基準(zhǔn)定時單位(1DELAY),則2/4拍(八分音通信工程系電子線路實現(xiàn)訓(xùn)練報告5符)為2DELAY,1拍(四分音符)為4DELAY,2拍(二分音符)為8DELAY,4拍(全音符)為16DELAY。1/4和1/8節(jié)拍的時間設(shè)定,如下表所示。表3各調(diào)節(jié)拍時間設(shè)定表1/4節(jié)拍的時間設(shè)定1/8節(jié)拍的時間設(shè)定曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms通過上面介紹的音符音調(diào)和節(jié)拍的相關(guān)知識,以及它們在單片機系統(tǒng)中的確定方法,我們就可以在單片機上實現(xiàn)演奏音樂了。具體的實現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中通過程序取出一個音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關(guān)參數(shù),如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。請注意,用單片機上實現(xiàn)音樂演奏關(guān)鍵在于,根據(jù)樂譜制作出數(shù)據(jù)表格,編程在其次,這個過程很耗費時間和精力。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH或00H,其節(jié)拍參數(shù)與其它音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。實例說明建立音樂的方法(1)建立簡譜對應(yīng)的簡譜碼、T值及節(jié)拍數(shù)表,畫在草稿紙上。先對照歌曲的簡譜把其中所有出現(xiàn)的音符找出,從低音到高音依次排序,確定各音的數(shù)值(編寫查表程序時將此值減1,即得對應(yīng)音符相對于TABL1表頭的偏移量)。對于不是C調(diào)的歌曲,要對各音符的頻率做相應(yīng)的變化。對照歌曲的簡譜確定各音符的節(jié)拍數(shù)相對于基準(zhǔn)定時單位的倍數(shù),從小到大排列。各音符時值的倍數(shù)關(guān)系是確定不變的,關(guān)鍵要正確確定其值。這需要懂一點簡譜知識才能準(zhǔn)確的確定出樂譜中音符節(jié)拍數(shù)。以歌曲蘭花草為例,如下表:表4簡譜發(fā)音(這一列知道就行不必寫出)簡譜碼T值節(jié)拍碼節(jié)拍數(shù)低3低音MI16402111/4拍低4低音FA26410322/4拍低5低音SO36426033/4拍低6低音LA46440041拍低7低音TI56425451又1/4拍中1中音DO66458061又1/2拍通信工程系電子線路實現(xiàn)訓(xùn)練報告6中2中音RE76468482拍中3中音MI86477710A2又1/2拍中4中音FA96482012C3拍中5中音SOA6489815F3又3/4拍中6中音LAB64968164拍中7中音TIC65030休止符不發(fā)音0關(guān)定時器注:以四分音符為一拍,現(xiàn)在以1/4拍為定時的基準(zhǔn)單位,為1DELAY。則1拍應(yīng)為4倍DELAY,依次類推。所以只要求得1/4拍的DELAY時間,其余的節(jié)拍數(shù)就是它的倍數(shù)。(2)把各音符頻率對應(yīng)的定時T值建立在TABLE1表。各音符頻率對應(yīng)的定時值表TABLE1:;DW64021,64103,64260,64400DW64524,64580,64684,64777DW64820,64898,64968,65030(3)根據(jù)第一步建立的表,建立樂曲對應(yīng)音符節(jié)拍碼表TABLE,其中簡譜碼(音符)在高4位(但是此種方法只能排16個音,若樂譜中音符較多可占一個字節(jié)來表示),節(jié)拍碼(節(jié)拍數(shù))在低4位(但此種方法也只能最大延時15個基準(zhǔn)定時單位的時間)。TABLE:;歌曲蘭花草的音符與節(jié)拍碼表;高4位為簡譜碼(音符),低4位為該音符對應(yīng)的節(jié)拍數(shù)DB42H,82H,82H,82H,84H,02,72HDB62H,72H,62H,52H,48HDB0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2HDB12H,0A2H,0D2H,92H,88HDB82H,0B2H,0B2H,0A2H,84

溫馨提示

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

最新文檔

評論

0/150

提交評論