基于verilog的音樂(lè)盒設(shè)計(jì)_第1頁(yè)
基于verilog的音樂(lè)盒設(shè)計(jì)_第2頁(yè)
基于verilog的音樂(lè)盒設(shè)計(jì)_第3頁(yè)
基于verilog的音樂(lè)盒設(shè)計(jì)_第4頁(yè)
基于verilog的音樂(lè)盒設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、EDA設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)課程論文題 目 基于verilog的音樂(lè)盒設(shè)計(jì) 學(xué) 院 通信學(xué)院 專業(yè)班級(jí) 通信111 學(xué)生姓名 大彬哥 指導(dǎo)教師 2013年 6月 22日EDA設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)課程論文摘 要使用Verilog HDL設(shè)計(jì)樂(lè)曲演奏電路,系統(tǒng)實(shí)現(xiàn)是用硬件描述語(yǔ)言Verilog HDL按分頻控制的方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時(shí)序仿真、電路功能驗(yàn)證,奏出美妙的樂(lè)曲。通過(guò)控制輸出到蜂鳴器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,從而使揚(yáng)聲器發(fā)出連續(xù)的樂(lè)曲聲,且當(dāng)樂(lè)曲演奏完成時(shí),保證能自動(dòng)從頭開(kāi)始演奏。關(guān)鍵詞:Verilog HDL; 蜂鳴器; 時(shí)序仿真AbstractUsing Verilog HDL musi

2、c playing circuit design, system implementation is to use Verilog hardware description language HDL design according to control by means of frequency division, then carries on the programming, sequential simulation, circuit function verification, play the wonderful music. By controlling the output t

3、o the speaker of the discretion of the excitation signal frequency and duration, which makes the speaker sends out the continuous music, and when the music playing is complete, ensure that can automatically play from the very beginning.Keywords: Verilog HDL ; Ensure ; Sequential simulation目 錄摘 要IAbs

4、tractII目 錄III第1章 緒論11.課程設(shè)計(jì)目的:12.課程設(shè)計(jì)要求:13.該方案可以實(shí)現(xiàn)的功能:1第2章 應(yīng)用工具介紹22.1 EDA技術(shù)介紹22.2 Verilog HDL語(yǔ)言介紹2第3章 基本原理43.1音調(diào)的控制43.2音長(zhǎng)的控制5第4章 方案實(shí)現(xiàn)7第5章 方案測(cè)試20第6章 引腳鎖定23第7章 引腳鎖定后下載程序24參考文獻(xiàn)2525第1章 緒論1.課程設(shè)計(jì)目的:1)加深對(duì)EDA技術(shù)的理解,掌握樂(lè)曲演奏電路的工作原理2)了解怎樣控制音調(diào)的高低變化和音長(zhǎng),從而完成樂(lè)曲的自動(dòng)循環(huán)演奏。3)培養(yǎng)自主學(xué)習(xí)、正確分析和解決問(wèn)題的能力 2.課程設(shè)計(jì)要求:1)使用Verilog HDL設(shè)計(jì)樂(lè)

5、曲演奏電路,系統(tǒng)實(shí)現(xiàn)是用硬件描述語(yǔ)言Verilog HDL按分頻控制的方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時(shí)序仿真、電路功能驗(yàn)證,奏出美妙的樂(lè)曲。2) 通過(guò)控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,從而使揚(yáng)聲器發(fā)出連續(xù)的樂(lè)曲聲,且當(dāng)樂(lè)曲演奏完成時(shí),保證能自動(dòng)從頭開(kāi)始演奏。3.該方案可以實(shí)現(xiàn)的功能:1)通過(guò)蜂鳴器播放音樂(lè);2)通過(guò)一個(gè)開(kāi)關(guān)實(shí)現(xiàn)兩首樂(lè)曲的切換;3)在音樂(lè)播放的同時(shí),會(huì)有l(wèi)ed流水燈的閃爍.第2章 應(yīng)用工具介紹作為當(dāng)今最流行的計(jì)算機(jī)軟件系統(tǒng),EDA技術(shù)是以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。EDA可提供文本輸入以及

6、圖形編輯的方法將設(shè)計(jì)者的意圖用程序或者圖形方式表達(dá)出來(lái),而我們經(jīng)常用到的VHDL語(yǔ)言便是用于編寫源程序所需的最常見(jiàn)的硬件描述語(yǔ)言(HDL)之一。2.1 EDA技術(shù)介紹EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)。EDA技術(shù)是在電子CAD技術(shù)基礎(chǔ)上發(fā)展起來(lái)的計(jì)算機(jī)軟件系統(tǒng),是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)1。EDA技術(shù)就是以計(jì)算機(jī)為工具,

7、設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。典型的EDA工具中必須包含兩個(gè)特殊的軟件包,即綜合器和適配器。綜合器的功能就是將設(shè)計(jì)者在EDA平臺(tái)上完成的針對(duì)某個(gè)系統(tǒng)項(xiàng)目的HDL、原理圖或狀態(tài)圖形描述,針對(duì)給定的硬件系統(tǒng)組件,進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得我們欲實(shí)現(xiàn)功能的描述文件。綜合器在工作前,必須給定所要實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬件結(jié)構(gòu)用一定的方式聯(lián)系起來(lái)。也就是說(shuō),綜合器是軟件描述與硬件實(shí)現(xiàn)的一座橋梁。綜合過(guò)程就是

8、將電路的高級(jí)語(yǔ)言描述轉(zhuǎn)換低級(jí)的、可與目標(biāo)器件FPGA/CPLD相映射的網(wǎng)表文件。 在今天,EDA技術(shù)已經(jīng)成為電子設(shè)計(jì)的普遍工具,無(wú)論設(shè)計(jì)芯片還是設(shè)計(jì)系統(tǒng),沒(méi)有EDA工具的支持,都是難以完成的。EDA工具已經(jīng)成為設(shè)計(jì)師必不可少的武器,起著越來(lái)越重要的作用。從目前的EDA技術(shù)來(lái)看,其發(fā)展趨勢(shì)是政府重視、使用普及、應(yīng)用廣泛、工具多樣、軟件功能強(qiáng)大。EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來(lái)描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步。2.2 Verilog HDL語(yǔ)言介紹Verilog HDL是一種硬件描述語(yǔ)言,用于從算法級(jí)、門級(jí)到開(kāi)關(guān)級(jí)的多種抽象設(shè)計(jì)層

9、次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對(duì)象的復(fù)雜性可以介于簡(jiǎn)單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模2。作為一種通用化的硬件描述語(yǔ)言,Verilog HDL語(yǔ)言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語(yǔ)言。此外,Verilog HDL語(yǔ)言提供了編程語(yǔ)言接口,通過(guò)該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問(wèn)設(shè)計(jì),包括模擬的具體控制和運(yùn)行3。Verilog HDL語(yǔ)言不僅定義了語(yǔ)法,而且對(duì)每個(gè)語(yǔ)法結(jié)構(gòu)都定義了清晰的模擬、仿真語(yǔ)義。因此,用這種語(yǔ)言編寫的模型

10、能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語(yǔ)言從C編程語(yǔ)言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL語(yǔ)言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來(lái)說(shuō)已經(jīng)足夠。當(dāng)然,完整的硬件描述語(yǔ)句足以對(duì)從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。Verilog HDL語(yǔ)言已經(jīng)成為一種標(biāo)準(zhǔn)的硬件描述語(yǔ)言。它具有以下特點(diǎn):(1)作為一種多用途的硬件描述語(yǔ)言,它具有很好的易學(xué)性和易用性。(2)Verilog HDL語(yǔ)言允許在同一個(gè)模塊中進(jìn)行不同抽象層次的描述。(3)大多數(shù)邏輯綜合工具都支持Verilog HDL,使得它成為設(shè)計(jì)人員的

11、一個(gè)很好的選擇。(4)所有的制造廠商都提供了Verilog HDL的工藝庫(kù),用以支持仿真。(5)Verilog HDL的程序語(yǔ)言接口擁有強(qiáng)大的功能,允許用戶用C語(yǔ)言對(duì)內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述3。正是以上優(yōu)點(diǎn),使得Verilog HDL語(yǔ)言廣泛流行。下面是verilog的設(shè)計(jì)流程第3章 基本原理樂(lè)曲演奏的原理是這樣的:組成樂(lè)曲的每個(gè)音符的頻率值(音調(diào))及其持續(xù)的時(shí)間(音長(zhǎng))是樂(lè)曲能連續(xù)演奏所需的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,就可以使揚(yáng)聲器發(fā)出連續(xù)的樂(lè)曲聲4。3.1音調(diào)的控制頻率的高低決定了音調(diào)的高低。音樂(lè)的十二平均率規(guī)定:每?jī)蓚€(gè)8度音(如簡(jiǎn)譜中的中音1與高音

12、1)之間的頻率相差一倍。在兩個(gè)8度音之間,又可分為12個(gè)半音,每?jī)蓚€(gè)半音的頻率比為122。 另外,音名A(簡(jiǎn)譜中的低音6)的頻率為440Hz,音名B到C之間、E到F之間為半音,其余為全音4。由此可以計(jì)算出簡(jiǎn)譜中從低音1至高音1之間每個(gè)音名對(duì)應(yīng)的頻率,如表3.11所示:表3.11 簡(jiǎn)譜中的音名與頻率的關(guān)系音名頻率/Hz音名頻率/Hz音名頻率/Hz低音1261.6中音1523.3高音11046.5低音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音4698.5高音41396.9低音5392中音5784高音51568低音6

13、440中音6880高音61760低音7493.9中音7987.8高音71975.5所有不同頻率的信號(hào)都是從同一個(gè)基準(zhǔn)頻率分頻得到的。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計(jì)算得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過(guò)低,則由于分頻比太小,四舍五入取整后的誤差較大;若基準(zhǔn)頻率過(guò)高,雖然誤差變小,但分頻數(shù)將變大。實(shí)際的設(shè)計(jì)綜合考慮這兩方面的因素,在盡量減小頻率誤差的前提下取合適的基準(zhǔn)頻率4。本例中選取6MHz為基準(zhǔn)頻率。若無(wú)6MHz的基準(zhǔn)頻率,則可以先分頻得到6MHz,或換一個(gè)新的基準(zhǔn)頻率。實(shí)際上,只要各個(gè)音名間的相對(duì)頻率關(guān)系不變,演奏出的樂(lè)曲聽(tīng)起來(lái)都不會(huì)"走調(diào)"

14、。本例需要演奏的是梁祝樂(lè)曲,該樂(lè)曲各音階頻率及相應(yīng)的分頻比如表2所示。為了減小輸出的偶次諧波分量,最后輸出到揚(yáng)聲器的波形應(yīng)為對(duì)稱方波,因此在到達(dá)揚(yáng)聲器之前,有一個(gè)二分頻的分頻器。表2中的分頻比就是從6MHz頻率二分頻得到的3MHz頻率基礎(chǔ)上計(jì)算得出的。由于最大的分頻系數(shù)為9102,故采用14位二進(jìn)制計(jì)數(shù)器分頻可滿足需要。在表2中,除給出了分頻比以外,還給出了對(duì)應(yīng)于各個(gè)音階頻率時(shí)計(jì)數(shù)器不同的預(yù)置數(shù)。對(duì)于不同的分頻系數(shù),只要加載不同的預(yù)置數(shù)即可。采用加載預(yù)置數(shù)實(shí)現(xiàn)分頻的方法比采用反饋復(fù)零法節(jié)省資源,實(shí)現(xiàn)起來(lái)也容易一些,如表3.12所示:表3.12 各音階頻率對(duì)應(yīng)的分頻比及預(yù)置數(shù)音名分頻比預(yù)置數(shù)音名

15、分頻比預(yù)置數(shù)低音391027281中音2511111272低音576538730中音3455211831低音668189565中音5382712556低音7607310310中音6340912974中音1573610647高音1286713516此外,對(duì)于樂(lè)曲中的休止符,只要將分頻系數(shù)設(shè)為0,即初始值為2141=16383即可,此時(shí)揚(yáng)聲器將不會(huì)發(fā)聲。3.2音長(zhǎng)的控制音符的持續(xù)時(shí)間必須根據(jù)樂(lè)曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定。本例演奏的梁祝片段,最短的音符為4分音符,如果將全音符的持續(xù)時(shí)間設(shè)為1s的話,則只需要再提供一個(gè)4Hz的時(shí)鐘頻率即可產(chǎn)生4分音符的時(shí)長(zhǎng)4。樂(lè)譜產(chǎn)生電路用來(lái)控制音樂(lè)的音調(diào)和音長(zhǎng)

16、??刂埔粽{(diào)通過(guò)設(shè)置計(jì)數(shù)器的預(yù)置數(shù)來(lái)實(shí)現(xiàn),預(yù)置不同的數(shù)值可以使計(jì)數(shù)器產(chǎn)生不同頻率的信號(hào),從而產(chǎn)生不同的音調(diào)。控制音長(zhǎng)是通過(guò)控制計(jì)數(shù)器預(yù)置數(shù)的停留時(shí)間來(lái)實(shí)現(xiàn)的,預(yù)置數(shù)停留的時(shí)間越長(zhǎng),則該音符演奏的時(shí)間越長(zhǎng)。每個(gè)音符的演奏時(shí)間都是0.25s的整數(shù)倍,對(duì)于節(jié)拍較長(zhǎng)的音符,如2分音符,在記譜時(shí)將該音名連續(xù)記錄兩次即可。音名顯示電路用來(lái)顯示樂(lè)曲演奏時(shí)對(duì)應(yīng)的音符??梢杂?個(gè)數(shù)碼管,分別顯示高、中、低音的音名,實(shí)現(xiàn)演奏的動(dòng)態(tài)顯示,十分直觀。在本例中,high3:0、med3:0、low3:0等信號(hào)分別用于顯示高音、中音、低音音符。為了使演奏能循環(huán)進(jìn)行,需另外設(shè)置一個(gè)時(shí)長(zhǎng)計(jì)數(shù)器,當(dāng)樂(lè)曲演奏完成時(shí),保證能自動(dòng)從頭

17、開(kāi)始演奏。第4章 方案實(shí)現(xiàn)由系統(tǒng)框圖可以看到本方案分成8個(gè)模塊。1)48MHz分頻成12MHz波形分頻器,源代碼和頂層模塊如下/48mhz分成12mhz的分頻模塊module div_clk12mhz(clk_48mhz,clk_12mhz);input clk_48mhz;output clk_12mhz;reg clk_12mhz;reg 21:0 cnt;always (posedge clk_48mhz)if(cnt<1) cnt=cnt+1; / (48mhz/12mhz=4,cnt<4/2-1=1)else begin cnt=0; clk_12mhz =!clk_12

18、mhz; endendmodule2)12MHz分頻成6MHz波形分頻器,源代碼和頂層模塊如下:/12mhz分成6mhz的分頻模塊,提供給song模塊module div_clk6mhz(clk_12mhz,clk_6mhz);input clk_12mhz;output clk_6mhz;reg clk_6mhz;reg cnt;always (posedge clk_12mhz)clk_6mhz=!clk_6mhz; endmodule 3)12MHz分頻成4Hz波形分頻器,源代碼和頂層模塊如下:/12mhz分成4hz的分頻模塊,提供給song模塊module div_clk4hz(clk

19、_12mhz,clk_4hz);input clk_12mhz;output clk_4hz;reg clk_4hz;reg 21:0 cnt;always (posedge clk_12mhz)if(cnt<1499999) cnt=cnt+1; / (12mhz/4hz=3000000,cnt<3000000/2-1=1499999)else begin cnt=0; clk_4hz =! clk_4hz; endendmodule 4)12MHz分頻成1mhz波形分頻器,源代碼和頂層模塊如下:/12mhz分成1mhz的分頻模塊,提供給quma模塊module div_clk1

20、mhz(clk_12mhz,clk_1mhz);input clk_12mhz;output clk_1mhz;reg clk_1mhz;reg 21:0 cnt;always (posedge clk_12mhz)if(cnt<5) cnt=cnt+1; / (12mhz/1mhz=12,cnt<12/2-1=5)else begin cnt=0; clk_1mhz =! clk_1mhz; endendmodule5)12MHz分頻成1khz波形分頻器,源代碼和頂層模塊如下:/12mhz分成1khz的分頻模塊,提供給quma模塊module div_clk1khz(clk_12

21、mhz,clk_1khz);input clk_12mhz;output clk_1khz;reg clk_1khz;reg 21:0 cnt;always (posedge clk_12mhz)if(cnt<5999) cnt=cnt+1; / (12mhz/1khz=12000,cnt<12000/2-1=5999)else begin cnt=0; clk_1khz =! clk_1khz; endendmodule6) song模塊源代碼和頂層模塊如下:/音樂(lè)產(chǎn)生模塊module song(clk_6mhz,clk_4hz,speaker,high,med,low,k);

22、/模塊名為song(端口列表)input clk_6mhz,clk_4hz; input k; /定義兩個(gè)輸入端口output speaker; /定義一個(gè)輸出端口output3:0 high,med,low; reg3:0 high,med,low; /定義了3個(gè)4位寄存器reg13:0 divider,origin; /定義了2個(gè)14位寄存器reg9:0 counter; /定義了1個(gè)10位寄存器reg speaker; wire carry;assign carry=(divider=16383); /連續(xù)賦值語(yǔ)句always (posedge clk_6mhz) begin if(ca

23、rry) divider<=origin; else divider<=divider+1; endalways (posedge carry) begin speaker<=speaker;end /二分頻產(chǎn)生方波信號(hào)always (posedge clk_4hz) begin case(high,med,low) /分頻比預(yù)置 'b000000000011:origin<=7281; /低音3 'b000000000101:origin<=8730; /低音5 'b000000000110:origin<=9565; /低音6 &

24、#39;b000000000111:origin<=10310; /低音7 'b000000010000:origin<=10647; /中音1 'b000000100000:origin<=11272; /中音2 'b000000110000:origin<=11831; /中音3 'b000001010000:origin<=12556; /中音5 'b000001100000:origin<=12974; /中音6 'b000001110000:origin<=13347; /中音7 'b0

25、00100000000:origin<=13516; /高音1 'b000000000000:origin<=16383; /休止符endcase endalways (posedge clk_4hz) if (k=0) begin if(counter=149) counter<=0; /計(jì)時(shí),以實(shí)現(xiàn)循環(huán)演奏 else counter<=counter+1; case(counter) /記譜 0: high,med,low<='b000000000011; /低音"3" 1: high,med,low<='b0

26、00000000011; /持續(xù)4個(gè)時(shí)鐘節(jié)拍 2: high,med,low<='b000000000011; 3: high,med,low<='b000000000011; 4: high,med,low<='b000000000101; /低音"5" 5: high,med,low<='b000000000101; /發(fā)3個(gè)時(shí)鐘節(jié)拍 6: high,med,low<='b000000000101; 7: high,med,low<='b000000000110; /低音"6&

27、quot; 8: high,med,low<='b000000010000; /中音"1" 9: high,med,low<='b000000010000; /發(fā)3個(gè)時(shí)鐘節(jié)拍 10: high,med,low<='b000000010000; 11: high,med,low<='b000000100000; /中音"2" 12: high,med,low<='b000000000110; /低音"6" 13: high,med,low<='b0000

28、00010000; /中音"1" 14: high,med,low<='b000000000101; /低音"5" 15: high,med,low<='b000000000101; 16: high,med,low<='b000001010000; /中音"5" 17: high,med,low<='b000001010000; /發(fā)3個(gè)時(shí)鐘節(jié)拍 18: high,med,low<='b000001010000; 19: high,med,low<='

29、;b000100000000; /高音"1" 20: high,med,low<='b000001100000; /中音"6" 21: high,med,low<='b000001010000; /中音"5" 22: high,med,low<='b000000110000; /中音"3" 23: high,med,low<='b000001010000; /中音"5" 24: high,med,low<='b00000010

30、0000; /中音"2" 25: high,med,low<='b000000100000; /持續(xù)11個(gè)時(shí)鐘節(jié)拍 26: high,med,low<='b000000100000; 27: high,med,low<='b000000100000; 28: high,med,low<='b000000100000; 29: high,med,low<='b000000100000; 30: high,med,low<='b000000100000; 31: high,med,low<

31、='b000000100000; 32: high,med,low<='b000000100000; 33: high,med,low<='b000000100000; 34: high,med,low<='b000000100000; 35: high,med,low<='b000000110000; /中音"3" 36: high,med,low<='b000000000111; /低音"7" 37: high,med,low<='b000000000111;

32、 38: high,med,low<='b000000000110; /低音"6" 39: high,med,low<='b000000000110; 40: high,med,low<='b000000000101; /低音"5" 41: high,med,low<='b000000000101; 42: high,med,low<='b000000000101; 43: high,med,low<='b000000000110; /低音"6" 44

33、: high,med,low<='b000000010000; /中音"1" 45: high,med,low<='b000000010000; 46: high,med,low<='b000000100000; /中音"2" 47: high,med,low<='b000000100000; 48: high,med,low<='b000000000011; /低音"3" 49: high,med,low<='b000000000011; 50: h

34、igh,med,low<='b000000010000; /中音"1" 51: high,med,low<='b000000010000; 52: high,med,low<='b000000000110; /低音"6" 53: high,med,low<='b000000000101; /低音"5" 54: high,med,low<='b000000000110; /低音"6" 55: high,med,low<='b00000

35、0010000; /中音"1" 56: high,med,low<='b000000000101; /低音"5" 57: high,med,low<='b000000000101; /持續(xù)8個(gè)時(shí)鐘節(jié)拍 58: high,med,low<='b000000000101; 59: high,med,low<='b000000000101; 60: high,med,low<='b000000000101; 61: high,med,low<='b000000000101; 6

36、2: high,med,low<='b000000000101; 63: high,med,low<='b000000000101; 64: high,med,low<='b000000110000; /中音"3" 65: high,med,low<='b000000110000; /發(fā)3個(gè)時(shí)鐘節(jié)拍 66: high,med,low<='b000000110000; 67: high,med,low<='b000001010000; /中音"5" 68: high,med

37、,low<='b000000000111; /低音"7" 69: high,med,low<='b000000000111; 70: high,med,low<='b000000100000; /中音"2" 71: high,med,low<='b000000100000; 72: high,med,low<='b000000000110; /低音"6" 73: high,med,low<='b000000010000; /中音"1"

38、; 74: high,med,low<='b000000000101; /低音"5" 75: high,med,low<='b000000000101; /持續(xù)4個(gè)時(shí)鐘節(jié)拍 76: high,med,low<='b000000000101; 77: high,med,low<='b000000000101; 78: high,med,low<='b000000000000; /休止符 79: high,med,low<='b000000000000; 80: high,med,low<

39、='b000000000011; /低音"3" 81: high,med,low<='b000000000101; /低音"5" 82: high,med,low<='b000000000101; 83: high,med,low<='b000000000011; /低音"3" 84: high,med,low<='b000000000101; /低音"5" 85: high,med,low<='b000000000110; /低音&qu

40、ot;6" 86: high,med,low<='b000000000111; /低音"7" 87: high,med,low<='b000000100000; /中音"2" 88: high,med,low<='b000000000110; /低音"6" 89: high,med,low<='b000000000110; /持續(xù)6個(gè)時(shí)鐘節(jié)拍 90: high,med,low<='b000000000110; 91: high,med,low<=&#

41、39;b000000000110; 92: high,med,low<='b000000000110; 93: high,med,low<='b000000000110; 94: high,med,low<='b000000000101; /低音"5" 95: high,med,low<='b000000000110; /低音"6" 96: high,med,low<='b000000010000; /中音"1" 97: high,med,low<='

42、b000000010000; /發(fā)3個(gè)時(shí)鐘節(jié)拍 98: high,med,low<='b000000010000; 99: high,med,low<='b000000100000; /中音"2" 100: high,med,low<='b000001010000; /中音"5" 101: high,med,low<='b000001010000; 102: high,med,low<='b000000110000; /中音"3" 103: high,med,low

43、<='b000000110000; 104: high,med,low<='b000000100000; /中音"2" 105: high,med,low<='b000000100000; 106: high,med,low<='b000000110000; /中音"3" 107: high,med,low<='b000000100000; /中音"2" 108: high,med,low<='b000000010000; /中音"1&quo

44、t; 109: high,med,low<='b000000010000; 110: high,med,low<='b000000000110; /低音"6" 111: high,med,low<='b000000000101; /低音"5" 112: high,med,low<='b000000000011; /低音"3" 113: high,med,low<='b000000000011; /持續(xù)4個(gè)時(shí)鐘節(jié)拍 114: high,med,low<='

45、;b000000000011; 115: high,med,low<='b000000000011; 116: high,med,low<='b000000010000; /中音"1" 117: high,med,low<='b000000010000; /持續(xù)4個(gè)時(shí)鐘節(jié)拍 118: high,med,low<='b000000010000; 119: high,med,low<='b000000010000; 120: high,med,low<='b000000000110; /低音&q

46、uot;6" 121: high,med,low<='b000000010000; /中音"1" 122: high,med,low<='b000000000110; /低音"6" 123: high,med,low<='b000000000101; /低音"5" 124: high,med,low<='b000000000011; /低音"3" 125: high,med,low<='b000000000101; /低音"5

47、" 126: high,med,low<='b000000000110; /低音"6" 127: high,med,low<='b000000010000; /中音"1" 128: high,med,low<='b000000000101; /低音"5" 129: high,med,low<='b000000000101; /持續(xù)6個(gè)時(shí)鐘節(jié)拍 130: high,med,low<='b000000000101; 131: high,med,low<=

48、'b000000000101; 132: high,med,low<='b000000000101; 133: high,med,low<='b000000000101; 134: high,med,low<='b000000110000; /中音"3" 135: high,med,low<='b000001010000; /中音"5" 136: high,med,low<='b000000100000; /中音"2" 137: high,med,low&l

49、t;='b000000110000; /中音"3" 138: high,med,low<='b000000100000; /中音"2" 139: high,med,low<='b000000010000; /中音"1" 140: high,med,low<='b000000000111; /低音"7" 141: high,med,low<='b000000000111; 142: high,med,low<='b000000000110;

50、 /低音"6" 143: high,med,low<='b000000000110; 144: high,med,low<='b000000000101; /低音"5" 145: high,med,low<='b000000000101; /持續(xù)8個(gè)時(shí)鐘節(jié)拍 146: high,med,low<='b000000000101; 147: high,med,low<='b000000000101; 148: high,med,low<='b000000000101; 149

51、: high,med,low<='b000000000101; endcaseendelse if( k=1)begin if(counter=149) counter<=0; /計(jì)時(shí),以實(shí)現(xiàn)循環(huán)演奏 else counter<=counter+1; case(counter) /記譜 0: high,med,low<='b000000110000; /中音"3" 1: high,med,low<='b000000110000; /持續(xù)2個(gè)時(shí)鐘節(jié)拍 2: high,med,low<='b0000001000

52、00; /中音2 3: high,med,low<='b000000100000; /持續(xù)2個(gè)時(shí)鐘節(jié)拍 4: high,med,low<='b000000110000; /中音"3" 5: high,med,low<='b000000110000; /發(fā)10個(gè)時(shí)鐘節(jié)拍 6: high,med,low<='b000000110000; 7: high,med,low<='b000000110000; 8: high,med,low<='b000000110000; 9: high,med,low<='b000000110000; 10: high,med,low<='b000000110000; 11: high,med,low<='b000000110000; 12: high,med,low<='b000000110000; 13: high,med,low<='b000000110000; 14: high,med,low<='b000000100000; /中音2 15: high,med,low

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論