COLD音樂播放器綜合項(xiàng)目實(shí)踐報(bào)告分析_第1頁
COLD音樂播放器綜合項(xiàng)目實(shí)踐報(bào)告分析_第2頁
COLD音樂播放器綜合項(xiàng)目實(shí)踐報(bào)告分析_第3頁
COLD音樂播放器綜合項(xiàng)目實(shí)踐報(bào)告分析_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、cold音樂播放器綜合項(xiàng)目實(shí)踐報(bào)告分析常州信息職業(yè)技術(shù)學(xué)院可編程邏輯器件開發(fā)應(yīng)用綜合項(xiàng)目設(shè)計(jì)報(bào)告2015 2016 學(xué)年第二學(xué)期項(xiàng)目:音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)班級:計(jì)應(yīng)142學(xué)號:1408143209姓名:顧杉授課教師:聶章龍制定日期:2015年06月24日 一、總體設(shè)計(jì)(項(xiàng)目總體分析) 1、基本功能基于verilog hdl的音樂播放器系統(tǒng)是以altera公司的max系列芯片epm1270t144c5為主控單元,根據(jù)音樂發(fā)生的原理,將復(fù)雜可編程邏輯器件作為發(fā)生音樂的核心器件,用高速集成電路硬件描述語言verilog hdl編程控制音樂發(fā)生的樂譜,配合周邊硬件電路,由蜂鳴器發(fā)聲器件發(fā)出音樂聲,實(shí)

2、驗(yàn)表明,采用該方法設(shè)計(jì)的音樂發(fā)生器成本低、修改方便。基于verilog hdl的音樂播放器實(shí)現(xiàn)的功能主要有在4位動(dòng)態(tài)數(shù)碼管上顯示音樂播放的時(shí)間,在8*8點(diǎn)陣屏上顯示相應(yīng)歌曲的名字(漢語拼音或英文字母),在1位靜態(tài)數(shù)碼管上顯示高(h)、中(z)、低(l)音調(diào),并且利用8個(gè)小燈的亮滅來標(biāo)識相應(yīng)的音符(音符是幾就亮第幾盞小燈),通過開始/暫停按鍵控制音樂的開始、暫停,通過樂曲選擇按鍵控制音樂的選擇,選擇時(shí)單個(gè)數(shù)碼管上顯示歌曲編號,如選擇“蘭花草”時(shí),顯示0。交流蜂鳴器為了增加i/o口的驅(qū)動(dòng)能力采用了npn型晶體管,這樣只要在基極buzz上輸入一定頻率的脈沖,蜂鳴器buzz就會(huì)發(fā)出悅耳的音樂。樂曲演奏

3、的原理是這樣的:組成樂曲的每個(gè)音符的頻率值(音調(diào))及其持續(xù)時(shí)間(音長)是樂曲演奏的兩個(gè)基本數(shù)據(jù)。所以只要控制輸出到揚(yáng)聲器信號的頻率高低和該頻率信號持續(xù)的時(shí)間就可以演奏出不同的音樂,頻率的高低決定了音調(diào)的高低,而樂曲的簡譜與各個(gè)音名有各自的對應(yīng)關(guān)系,所有不同頻率的信號都是從同一個(gè)基準(zhǔn)頻率分頻得到的,由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),所以必須將計(jì)算得到的分頻進(jìn)行四舍五入取整,基準(zhǔn)頻率和分頻系數(shù)應(yīng)綜合考慮加以選擇從而保證音樂不會(huì)走調(diào)。由于蜂鳴器具有控制簡單及聲響悅耳的特點(diǎn),在工程項(xiàng)目中,常用作人機(jī)接口的重要輸出設(shè)備,用以發(fā)出語音提示信息,使系統(tǒng)更加完善和使用。蜂鳴器有交流和直流兩種,直

4、流蜂鳴器驅(qū)動(dòng)簡單,只要在二號引腳上加上直流電源它就會(huì)發(fā)出一定頻率的聲音,此時(shí)聲音的音調(diào)和音量是固定的,而交流蜂鳴器在這方面則顯得比較靈活,輸入的聲音信號的頻率和音長可以由用戶控制,因此輸出的聲響可以是多樣的。 簡譜中的音名與頻率是一一對應(yīng)的,因此要發(fā)出某一聲樂,只需要輸出該聲樂所對應(yīng)的頻率信號就可以了,在實(shí)驗(yàn)板上已經(jīng)為我們準(zhǔn)備了鍵盤k1k8和一個(gè)蜂鳴器buzz,所以完全可以用它們來實(shí)現(xiàn)一個(gè)簡單的電子琴,為了產(chǎn)生一定的頻率信號,我們還需要用到有源時(shí)鐘clock,并且把它作為樂曲的基準(zhǔn)頻率,而所有不同的頻率信號都是從這一基頻分頻而來的,比如在24mhz的時(shí)鐘下,中音1(對應(yīng)的頻率值為523.3hz

5、)的分頻系數(shù)應(yīng)該是:24*10的六次方/(523.3*2)=0x5993。 通過對有關(guān)蜂鳴器的設(shè)計(jì)案例的學(xué)習(xí),基本上對分頻和控制交流蜂鳴器發(fā)聲有了一定的了解,所以在此基礎(chǔ)上,設(shè)計(jì)音樂片段是對分頻和蜂鳴器發(fā)聲的綜合應(yīng)用,需要處理好各種簡譜的播放順序及音長。程序設(shè)計(jì)時(shí)應(yīng)該注意按鍵去抖動(dòng)計(jì)數(shù),注意分模塊去設(shè)計(jì)每個(gè)模塊并且注意模塊與模塊之間的關(guān)系。在這個(gè)項(xiàng)目中我們還用到了漢字的顯示,通過以前學(xué)習(xí)的點(diǎn)亮顯示屏的例子,我們隊(duì)led點(diǎn)陣顯示屏的內(nèi)部結(jié)構(gòu)、工作原理、驅(qū)動(dòng)和編程方法有了一定的了解,同樣,led點(diǎn)陣顯示屏可以顯示漢字或字符,只是此時(shí)的漢字或字符應(yīng)該以點(diǎn)陣的形式來表示,取點(diǎn)越多,漢字或字符也將越逼真

6、,通常8*8的點(diǎn)陣顯示屏可以用來顯示一些簡單的漢字。首先把要顯示的(8*8)漢字用二進(jìn)制代碼來表示,這一過程稱之為取字模。這樣,在程序中才用逐行掃描的方法掃描整個(gè)點(diǎn)陣,當(dāng)然在掃描對應(yīng)行的同時(shí)在段碼線輸出對應(yīng)的字模數(shù)據(jù),于是該行的相應(yīng)點(diǎn)被點(diǎn)亮。雖然漢字是被逐行顯示的,但是由于人眼的視覺差,且只要掃描速度足夠快,所以看到的將還是一個(gè)完整的漢字。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻數(shù)四舍五入取整。由于最大的分頻系數(shù)為5102,故采用13位二進(jìn)制計(jì)數(shù)器已能滿足分頻要求。在表中可以看到不同音階對應(yīng)的不同初始值。對于不同的分頻系數(shù),只要加載不同的初始值即可。采用加載初始值而不

7、將分頻輸出譯碼反饋,可以有效地減少設(shè)計(jì)占用可編程邏輯器件的資源。“0”表示休止符,在很多音樂中,休止符也是一個(gè)重要的音符。對于休止符,只要將分頻系數(shù)設(shè)為0,揚(yáng)聲器就不會(huì)發(fā)聲了??傮w來說,要設(shè)計(jì)好這個(gè)項(xiàng)目首先要可以做出輸出警報(bào)聲,要了解蜂鳴器引腳與erm1270t144c5n芯片的引腳的連接關(guān)系,理解交流蜂鳴器的工作原理及外圍驅(qū)動(dòng)電路,其次要能做出熟悉電子琴的設(shè)計(jì),數(shù)字電子琴的設(shè)計(jì)需要掌握時(shí)鐘分頻的方法,掌握鍵盤與不同音頻的對應(yīng)關(guān)系,左右要能做出音樂播放器的設(shè)計(jì),需要掌握交流蜂鳴器的綜合應(yīng)用,而能把這些結(jié)合起來尤為重要,運(yùn)用我們前面所學(xué)的知識把這幾塊結(jié)合起來,就能設(shè)計(jì)出音樂播放器綜合項(xiàng)目。 2、

8、功能框圖 調(diào)用: fenpin(); /分頻函數(shù),對24mhz的信號進(jìn)行分頻 jianpu();/要播放的音樂的簡譜yanzou();/讓蜂鳴器發(fā)出聲音shanshuo (); /讓簡譜上的數(shù)字在led小燈上顯示出來xianshi(); /顯示音樂名稱counttime (sec,key,min); /計(jì)時(shí)函數(shù) 3*功能模塊關(guān)系圖 音名、頻率和分頻系數(shù)對照表 二、軟件設(shè)計(jì) 1、頂層模塊(module music())(1)定義時(shí)鐘輸入、鍵盤輸入口;(2)定義聲響輸出口,定義位碼輸出口、數(shù)據(jù)輸出口和數(shù)碼管輸出口,;(3)調(diào)用函數(shù),分別為以下幾個(gè)模塊:分頻模塊(對24mhz的信號進(jìn)行分頻):fen

9、pin(clk,k,shift,clk_4hz,key,con,swt,sec,shiftout,shift_out);/分頻函數(shù),對24mhz的信號進(jìn)行分頻簡譜、演奏模塊(要播放的音樂的簡譜、讓蜂鳴器發(fā)出聲音):jianpu(clk_4hz,key,count_end,high,med,low,shiftout,shift_out);/要播放的音樂的簡譜yanzou(clk,buzzout,count_end,key);/讓蜂鳴器發(fā)出聲音閃爍模塊(讓簡譜上的數(shù)字在led小燈上顯示出來):shanshuo (high,med,low,out,clk,cmd,sled_reg,sl_reg,mi

10、n,shiftout,shift_out);/讓簡譜上的數(shù)字在led小燈上顯示出來顯示模塊(顯示音樂名稱):xianshi(con,swt,x,y,key,shiftout);/顯示音樂名稱計(jì)時(shí)模塊(計(jì)時(shí)函數(shù))counttime (sec,key,min); /計(jì)時(shí)函數(shù) 2、分頻模塊( fenpin();) *分頻函數(shù),對24mhz的信號進(jìn)行分頻:(1)定義時(shí)鐘輸入和鍵盤輸出;(2)分頻4hz,按鍵延時(shí),行掃描計(jì)數(shù),顯示名稱的間隔時(shí)間;(3)從24mhz分頻出1hz(即周期為1s)信號,到0.5s后清零,取反1s信號;(4)按鍵去抖動(dòng),按鍵計(jì)數(shù)。主要函數(shù):always(posedge clk)

11、begin;if(count=25d3000000)/分頻4hz;if(count1=19d240000)/按鍵延時(shí);if(count2=19d24000)/行掃描計(jì)數(shù);if(count3=24d1*)/顯示名稱的間隔時(shí)間;endalways ( posedge clk) /從24mhz分頻出1hz(即周期為1s)信號always (posedge set) /按鍵去抖動(dòng);always(negedge key) /按鍵計(jì)數(shù);endmodule 3、簡譜、演奏模塊(要播放的音樂的簡譜、讓蜂鳴器發(fā)出聲音) 以1/16音符為最小計(jì)數(shù)單元,而這個(gè)音符所占用的時(shí)間理論值為0.25s,所以我們在外部接入4

12、hz的時(shí)鐘信號給計(jì)數(shù)器,已滿足正常的音樂播放要求。*音樂播放器分頻模塊:分頻4hz信號。(1)由基準(zhǔn)時(shí)鐘分頻獲得4hz信號;(2)控制交流蜂鳴器發(fā)各種音譜聲;(3)key按鍵按下方可計(jì)數(shù);(4)簡譜對應(yīng)高中低音及其數(shù)值;*音樂播放器控制模塊:控制音樂播放的音頻與順序。(1)分頻得到相應(yīng)簡譜的頻率;(2)樂曲演奏控制。注意:always(posedge clk)begincount=count+1;if(count=count_end & key=1)/計(jì)數(shù)到指定的數(shù)值并且允許播放的時(shí)候才能發(fā)聲begincount=0;buzzout=buzzout; /產(chǎn)生一個(gè)高低電平蜂鳴器發(fā)聲endend

13、4、閃爍模塊(音符顯示模塊)(shanshuo ();) *讓簡譜上的數(shù)字在led小燈上顯示出來,音樂名稱顯示模塊:在8*8點(diǎn)陣屏上顯示相應(yīng)歌曲的名字(漢語拼音或英文字母)。*音符顯示模塊:在1位靜態(tài)數(shù)碼管上顯示高(h)、中(z)、低(l)音調(diào),并且利用8個(gè)小燈的亮滅來標(biāo)識相應(yīng)的音符(音符是幾就亮第幾盞小燈)主要函數(shù):always (count11:10)begincase(count11:10)2h0:ledbuf=min3:0; /取秒的個(gè)位數(shù)據(jù)2h1:ledbuf=min7:4; /取秒的十位數(shù)據(jù)2h2:ledbuf=min11:8; /取分的個(gè)位數(shù)據(jù)2h3:ledbuf=min15:12; /取分的十位數(shù)據(jù)endcasecase(count11:10) /送對應(yīng)位的位碼 /掃描最高位endcaseendalways(ledbuf) /時(shí)間顯示begincase(ledbuf)endcase/ if(count11:10=2b10) & sec)/ sled_reg=sled_reg&8h7f; /小數(shù)點(diǎn)閃爍end 音符顯示模塊程序框圖: 5、顯示模塊(顯示音樂名稱): xianshi(con,swt,x,y,key,shiftout);/顯示音樂名稱*音符顯示

溫馨提示

  • 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論