版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 湖北文理學(xué)院Verilog HDL樂曲演奏電路設(shè)計(jì)專業(yè):自動化學(xué)號:2012118064姓名:一天虹影設(shè)計(jì)目的與要求1.課程設(shè)計(jì)目的:1)加深對EDA技術(shù)的理解,掌握樂曲演奏電路的工作原理2)了解怎樣控制音調(diào)的高低變化和音長,從而完成樂曲的自動循環(huán)演奏。3)培養(yǎng)自主學(xué)習(xí)、正確分析和解決問題的能力 2.課程設(shè)計(jì)要求:1)使用Verilog HDL設(shè)計(jì)樂曲演奏電路,系統(tǒng)實(shí)現(xiàn)是用硬件描述語言Verilog HDL按分頻控制的方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時序仿真、電路功能驗(yàn)證,奏出美妙的樂曲。2) 通過控制輸出到揚(yáng)聲器的激勵信號頻率的高低和持續(xù)的時間,從而使揚(yáng)聲器發(fā)出連續(xù)的樂曲聲,且當(dāng)樂曲演奏完成時
2、,保證能自動從頭開始演奏。3.該方案可以實(shí)現(xiàn)的功能: 1)通過蜂鳴器播放音樂; 2)通過三位動態(tài)數(shù)碼管輸出相應(yīng)的高中低音符; 3)通過一個開關(guān)實(shí)現(xiàn)兩首樂曲的切換; 4)在音樂播放的同時,會有l(wèi)ed流水燈的閃爍.應(yīng)用工具介紹作為當(dāng)今最流行的計(jì)算機(jī)軟件系統(tǒng),EDA技術(shù)是以計(jì)算機(jī)為工作平臺,融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動設(shè)計(jì)。EDA可提供文本輸入以及圖形編輯的方法將設(shè)計(jì)者的意圖用程序或者圖形方式表達(dá)出來,而我們經(jīng)常用到的VHDL語言便是用于編寫源程序所需的最常見的硬件描述語言(HDL)之一。2.1 EDA技術(shù)介紹EDA是電子設(shè)計(jì)自動化(Electr
3、onic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來。EDA技術(shù)是在電子CAD技術(shù)基礎(chǔ)上發(fā)展起來的計(jì)算機(jī)軟件系統(tǒng),是指以計(jì)算機(jī)為工作平臺,融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動設(shè)計(jì)1。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。典型的ED
4、A工具中必須包含兩個特殊的軟件包,即綜合器和適配器。綜合器的功能就是將設(shè)計(jì)者在EDA平臺上完成的針對某個系統(tǒng)項(xiàng)目的HDL、原理圖或狀態(tài)圖形描述,針對給定的硬件系統(tǒng)組件,進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得我們欲實(shí)現(xiàn)功能的描述文件。綜合器在工作前,必須給定所要實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬件結(jié)構(gòu)用一定的方式聯(lián)系起來。也就是說,綜合器是軟件描述與硬件實(shí)現(xiàn)的一座橋梁。綜合過程就是將電路的高級語言描述轉(zhuǎn)換低級的、可與目標(biāo)器件FPGA/CPLD相映射的網(wǎng)表文件。 在今天,EDA技術(shù)已經(jīng)成為電子設(shè)計(jì)的普遍工具,無論設(shè)計(jì)芯片還是設(shè)計(jì)系統(tǒng),沒有EDA工具的支持,都是難以完成的。EDA工具
5、已經(jīng)成為設(shè)計(jì)師必不可少的武器,起著越來越重要的作用。從目前的EDA技術(shù)來看,其發(fā)展趨勢是政府重視、使用普及、應(yīng)用廣泛、工具多樣、軟件功能強(qiáng)大。EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步。2.2 Verilog HDL語言介紹Verilog HDL是一種硬件描述語言,用于從算法級、門級到開關(guān)級的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時序建模2。作為一種通用化的硬件描述語言,Verilog HDL
6、語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語言。此外,Verilog HDL語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行3。Verilog HDL語言不僅定義了語法,而且對每個語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語言從C編程語言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL語言的核心子集非常易于學(xué)
7、習(xí)和使用,這對大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語句足以對從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。Verilog HDL語言已經(jīng)成為一種標(biāo)準(zhǔn)的硬件描述語言。它具有以下特點(diǎn):(1)作為一種多用途的硬件描述語言,它具有很好的易學(xué)性和易用性。(2)Verilog HDL語言允許在同一個模塊中進(jìn)行不同抽象層次的描述。(3)大多數(shù)邏輯綜合工具都支持Verilog HDL,使得它成為設(shè)計(jì)人員的一個很好的選擇。(4)所有的制造廠商都提供了Verilog HDL的工藝庫,用以支持仿真。(5)Verilog HDL的程序語言接口擁有強(qiáng)大的功能,允許用戶用C語言對內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述3。正是以上優(yōu)點(diǎn)
8、,使得Verilog HDL語言廣泛流行。下面是verilog的設(shè)計(jì)流程Verilog的設(shè)計(jì)流程圖基本原理樂曲演奏的原理是這樣的:組成樂曲的每個音符的頻率值(音調(diào))及其持續(xù)的時間(音長)是樂曲能連續(xù)演奏所需的兩個基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵信號頻率的高低和持續(xù)的時間,就可以使揚(yáng)聲器發(fā)出連續(xù)的樂曲聲4。1、 音調(diào)的控制頻率的高低決定了音調(diào)的高低。音樂的十二平均率規(guī)定:每兩個8度音(如簡譜中的中音1與高音1)之間的頻率相差一倍。在兩個8度音之間,又可分為12個半音,每兩個半音的頻率比為122。 另外,音名A(簡譜中的低音6)的頻率為440Hz,音名B到C之間、E到F之間為半音
9、,其余為全音4。由此可以計(jì)算出簡譜中從低音1至高音1之間每個音名對應(yīng)的頻率,如表3.11所示:表3.11 簡譜中的音名與頻率的關(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低音6440中音6880高音61760低音7493.9中音7987.8高音71975.5所有不同頻率的信號都是從同一個基準(zhǔn)頻率分頻得到的。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必
10、須將計(jì)算得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則由于分頻比太小,四舍五入取整后的誤差較大;若基準(zhǔn)頻率過高,雖然誤差變小,但分頻數(shù)將變大。實(shí)際的設(shè)計(jì)綜合考慮這兩方面的因素,在盡量減小頻率誤差的前提下取合適的基準(zhǔn)頻率4。本例中選取6MHz為基準(zhǔn)頻率。若無6MHz的基準(zhǔn)頻率,則可以先分頻得到6MHz,或換一個新的基準(zhǔn)頻率。實(shí)際上,只要各個音名間的相對頻率關(guān)系不變,演奏出的樂曲聽起來都不會"走調(diào)"。本例需要演奏的是梁祝樂曲,該樂曲各音階頻率及相應(yīng)的分頻比如表2所示。為了減小輸出的偶次諧波分量,最后輸出到揚(yáng)聲器的波形應(yīng)為對稱方波,因此在到達(dá)揚(yáng)聲器之前,有一個二分頻的分頻器。表2中
11、的分頻比就是從6MHz頻率二分頻得到的3MHz頻率基礎(chǔ)上計(jì)算得出的。由于最大的分頻系數(shù)為9102,故采用14位二進(jìn)制計(jì)數(shù)器分頻可滿足需要。在表2中,除給出了分頻比以外,還給出了對應(yīng)于各個音階頻率時計(jì)數(shù)器不同的預(yù)置數(shù)。對于不同的分頻系數(shù),只要加載不同的預(yù)置數(shù)即可。采用加載預(yù)置數(shù)實(shí)現(xiàn)分頻的方法比采用反饋復(fù)零法節(jié)省資源,實(shí)現(xiàn)起來也容易一些,如表3.12所示:表3.12 各音階頻率對應(yīng)的分頻比及預(yù)置數(shù)音名分頻比預(yù)置數(shù)音名分頻比預(yù)置數(shù)低音391027281中音2511111272低音576538730中音3455211831低音668189565中音5382712556低音7607310310中音634
12、0912974中音1573610647高音1286713516此外,對于樂曲中的休止符,只要將分頻系數(shù)設(shè)為0,即初始值為2141=16383即可,此時揚(yáng)聲器將不會發(fā)聲。2、 音長的控制音符的持續(xù)時間必須根據(jù)樂曲的速度及每個音符的節(jié)拍數(shù)來確定。本例演奏的梁祝片段,最短的音符為4分音符,如果將全音符的持續(xù)時間設(shè)為1s的話,則只需要再提供一個4Hz的時鐘頻率即可產(chǎn)生4分音符的時長4。如圖3.2所示是樂曲演奏電路的原理框圖,其中,樂譜產(chǎn)生電路用來控制音樂的音調(diào)和音長??刂埔粽{(diào)通過設(shè)置計(jì)數(shù)器的預(yù)置數(shù)來實(shí)現(xiàn),預(yù)置不同的數(shù)值可以使計(jì)數(shù)器產(chǎn)生不同頻率的信號,從而產(chǎn)生不同的音調(diào)??刂埔糸L是通過控制計(jì)數(shù)器預(yù)置數(shù)的
13、停留時間來實(shí)現(xiàn)的,預(yù)置數(shù)停留的時間越長,則該音符演奏的時間越長。每個音符的演奏時間都是0.25s的整數(shù)倍,對于節(jié)拍較長的音符,如2分音符,在記譜時將該音名連續(xù)記錄兩次即可。樂曲演奏電路的系統(tǒng)框圖音名顯示電路用來顯示樂曲演奏時對應(yīng)的音符??梢杂?個數(shù)碼管,分別顯示高、中、低音的音名,實(shí)現(xiàn)演奏的動態(tài)顯示,十分直觀。在本例中,high3:0、med3:0、low3:0等信號分別用于顯示高音、中音、低音音符。為了使演奏能循環(huán)進(jìn)行,需另外設(shè)置一個時長計(jì)數(shù)器,當(dāng)樂曲演奏完成時,保證能自動從頭開始演奏。方案實(shí)現(xiàn)由系統(tǒng)框圖可以看到本方案分成8個模塊。1)48MHz分頻成12MHz波形分頻器,源代碼和頂層模塊如
14、下/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_12mhz; endendmodule2)12MHz分頻成6MHz波形分頻器,源代碼和頂層模塊如下:/12mhz分成6mhz的分
15、頻模塊,提供給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_12mhz,clk_4hz);input clk_12mhz;output clk_4hz;reg clk_4hz;reg
16、 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_clk1mhz(clk_12mhz,clk_1mhz);input clk_12mhz;output clk_1mhz;reg cl
17、k_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_12mhz,clk_1khz);input clk_12mhz;output clk_1khz;reg clk_1khz;reg
18、 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模塊源代碼和頂層模塊如下:/音樂產(chǎn)生模塊module song(clk_6mhz,clk_4hz,speaker,high,med,low,k); /模塊名為song(端口列表)input clk_6mhz,clk_4hz; input k; /定義兩個輸入端口outpu
19、t speaker; /定義一個輸出端口output3:0 high,med,low; reg3:0 high,med,low; /定義了3個4位寄存器reg13:0 divider,origin; /定義了2個14位寄存器reg9:0 counter; /定義了1個10位寄存器reg speaker; wire carry;assign carry=(divider=16383); /連續(xù)賦值語句always (posedge clk_6mhz) begin if(carry) divider<=origin; else divider<=divider+1; endalways
20、 (posedge carry) begin speaker<=speaker;end /二分頻產(chǎn)生方波信號always (posedge clk_4hz) begin case(high,med,low) /分頻比預(yù)置 'b000000000011:origin<=7281; /低音3 'b000000000101:origin<=8730; /低音5 'b000000000110:origin<=9565; /低音6 'b000000000111:origin<=10310; /低音7 'b000000010000:or
21、igin<=10647; /中音1 'b000000100000:origin<=11272; /中音2 'b000000110000:origin<=11831; /中音3 'b000001010000:origin<=12556; /中音5 'b000001100000:origin<=12974; /中音6 'b000001110000:origin<=13347; /中音7 'b000100000000:origin<=13516; /高音1 'b000000000000:origin&l
22、t;=16383; /休止符endcase endalways (posedge clk_4hz) if (k=0) begin if(counter=149) counter<=0; /計(jì)時,以實(shí)現(xiàn)循環(huán)演奏 else counter<=counter+1; case(counter) /記譜 0: high,med,low<='b000000000011; /低音"3" 1: high,med,low<='b000000000011; /持續(xù)4個時鐘節(jié)拍 2: high,med,low<='b000000000011;
23、 3: high,med,low<='b000000000011; 4: high,med,low<='b000000000101; /低音"5" 5: high,med,low<='b000000000101; /發(fā)3個時鐘節(jié)拍 6: high,med,low<='b000000000101; 7: high,med,low<='b000000000110; /低音"6" 8: high,med,low<='b000000010000; /中音"1"
24、 9: high,med,low<='b000000010000; /發(fā)3個時鐘節(jié)拍 10: high,med,low<='b000000010000; 11: high,med,low<='b000000100000; /中音"2" 12: high,med,low<='b000000000110; /低音"6" 13: high,med,low<='b000000010000; /中音"1" 14: high,med,low<='b00000000
25、0101; /低音"5" 15: high,med,low<='b000000000101; 16: high,med,low<='b000001010000; /中音"5" 17: high,med,low<='b000001010000; /發(fā)3個時鐘節(jié)拍 18: high,med,low<='b000001010000; 19: high,med,low<='b000100000000; /高音"1" 20: high,med,low<='b00
26、0001100000; /中音"6" 21: high,med,low<='b000001010000; /中音"5" 22: high,med,low<='b000000110000; /中音"3" 23: high,med,low<='b000001010000; /中音"5" 24: high,med,low<='b000000100000; /中音"2" 25: high,med,low<='b000000100000
27、; /持續(xù)11個時鐘節(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<='b000000100000; 32: high,med,low<='b000000100000;
28、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; 38: high,med,low<='b000000000110; /低音"6" 39:
29、 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: high,med,low<='b000000010000; /中音"1" 45: hi
30、gh,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: high,med,low<='b000000010000; /中音"1" 51: high,
31、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<='b000000010000; /中音"1" 56: high,med,low<='b000000000
32、101; /低音"5" 57: high,med,low<='b000000000101; /持續(xù)8個時鐘節(jié)拍 58: high,med,low<='b000000000101; 59: high,med,low<='b000000000101; 60: high,med,low<='b000000000101; 61: high,med,low<='b000000000101; 62: high,med,low<='b000000000101; 63: high,med,low<=&
33、#39;b000000000101; 64: high,med,low<='b000000110000; /中音"3" 65: high,med,low<='b000000110000; /發(fā)3個時鐘節(jié)拍 66: high,med,low<='b000000110000; 67: high,med,low<='b000001010000; /中音"5" 68: high,med,low<='b000000000111; /低音"7" 69: high,med,low
34、<='b000000000111; 70: high,med,low<='b000000100000; /中音"2" 71: high,med,low<='b000000100000; 72: high,med,low<='b000000000110; /低音"6" 73: high,med,low<='b000000010000; /中音"1" 74: high,med,low<='b000000000101; /低音"5" 75
35、: high,med,low<='b000000000101; /持續(xù)4個時鐘節(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<='b000000000011; /低音"3" 81: high,med,low<=
36、9;b000000000101; /低音"5" 82: high,med,low<='b000000000101; 83: high,med,low<='b000000000011; /低音"3" 84: high,med,low<='b000000000101; /低音"5" 85: high,med,low<='b000000000110; /低音"6" 86: high,med,low<='b000000000111; /低音"7
37、" 87: high,med,low<='b000000100000; /中音"2" 88: high,med,low<='b000000000110; /低音"6" 89: high,med,low<='b000000000110; /持續(xù)6個時鐘節(jié)拍 90: high,med,low<='b000000000110; 91: high,med,low<='b000000000110; 92: high,med,low<='b000000000110; 93:
38、 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<='b000000010000; /發(fā)3個時鐘節(jié)拍 98: high,med,low<='b00000001000
39、0; 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<='b000000110000; 104: high,med,low<='b000000100
40、000; /中音"2" 105: high,med,low<='b000000100000; 106: high,med,low<='b000000110000; /中音"3" 107: high,med,low<='b000000100000; /中音"2" 108: high,med,low<='b000000010000; /中音"1" 109: high,med,low<='b000000010000; 110: high,med,low
41、<='b000000000110; /低音"6" 111: high,med,low<='b000000000101; /低音"5" 112: high,med,low<='b000000000011; /低音"3" 113: high,med,low<='b000000000011; /持續(xù)4個時鐘節(jié)拍 114: high,med,low<='b000000000011; 115: high,med,low<='b000000000011; 116:
42、 high,med,low<='b000000010000; /中音"1" 117: high,med,low<='b000000010000; /持續(xù)4個時鐘節(jié)拍 118: high,med,low<='b000000010000; 119: high,med,low<='b000000010000; 120: high,med,low<='b000000000110; /低音"6" 121: high,med,low<='b000000010000; /中音"
43、;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" 126: high,med,low<='b000000000110; /低音"6&qu
44、ot; 127: high,med,low<='b000000010000; /中音"1" 128: high,med,low<='b000000000101; /低音"5" 129: high,med,low<='b000000000101; /持續(xù)6個時鐘節(jié)拍 130: high,med,low<='b000000000101; 131: high,med,low<='b000000000101; 132: high,med,low<='b000000000101;
45、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<='b000000110000; /中音"3" 138: high,med,low<=
46、'b000000100000; /中音"2" 139: high,med,low<='b000000010000; /中音"1" 140: high,med,low<='b000000000111; /低音"7" 141: high,med,low<='b000000000111; 142: high,med,low<='b000000000110; /低音"6" 143: high,med,low<='b000000000110; 14
47、4: high,med,low<='b000000000101; /低音"5" 145: high,med,low<='b000000000101; /持續(xù)8個時鐘節(jié)拍 146: high,med,low<='b000000000101; 147: high,med,low<='b000000000101; 148: high,med,low<='b000000000101; 149: high,med,low<='b000000000101; endcaseendelse if( k=1)
48、begin if(counter=149) counter<=0; /計(jì)時,以實(shí)現(xiàn)循環(huán)演奏 else counter<=counter+1; case(counter) /記譜 0: high,med,low<='b000000110000; /中音"3" 1: high,med,low<='b000000110000; /持續(xù)2個時鐘節(jié)拍 2: high,med,low<='b000000100000; /中音2 3: high,med,low<='b000000100000; /持續(xù)2個時鐘節(jié)拍 4:
49、high,med,low<='b000000110000; /中音"3" 5: high,med,low<='b000000110000; /發(fā)10個時鐘節(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<='b000000110
50、000; 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<='b000000100000; /持續(xù)2個時鐘節(jié)拍 16: high,med,low<='b000000110000; /中音"3" 17: high,med,low&
51、lt;='b000000110000; /發(fā)2個時鐘節(jié)拍 18: high,med,low<='b000000100000; /中音2 19: high,med,low<='b000000100000; /中音2 20: high,med,low<='b000000010000; /中音"1" 21: high,med,low<='b000000010000; 22: high,med,low<='b000000010000; 23: high,med,low<='b00000001
52、0000; 24: high,med,low<='b000000010000; 25: high,med,low<='b000000010000; 26: high,med,low<='b000000010000; 27: high,med,low<='b000000010000; 28: high,med,low<='b000000010000; 29: high,med,low<='b000000010000; 30: high,med,low<='b000000010000; 31: hig
53、h,med,low<='b000000010000; 32: high,med,low<='b000000000110;/低6 33: high,med,low<='b000000000110; 34: high,med,low<='b000000010000; /中音"1" 35: high,med,low<='b000000010000; 36: high,med,low<='b000000100000; /中2 有6個 37: high,med,low<='b000000100000; 38: high,med,low<='b000000100000; 39: high,med,low<='b000000100000; 40: high,med,low<='b000000100000; 41: high,med,low<='b000000100000; 42: high,med,low<='b000000110000; /中音3 43: high,med,low<='b000000110000; 44: high,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年家具制造與供應(yīng)協(xié)議
- 企業(yè)課件教學(xué)
- 2024奶牛養(yǎng)殖企業(yè)環(huán)保責(zé)任合同
- 2024年建筑工程裝飾分包合同文本
- 2024年工程建設(shè)項(xiàng)目中介服務(wù)簡約合同
- 2024蘇州汽車質(zhì)押借款合同范本
- 公司行政部門經(jīng)理工作總結(jié)
- 企業(yè)迎新晚會主持詞(6篇)
- 現(xiàn)代商務(wù)課件教學(xué)課件
- 英語課件簡約教學(xué)課件
- 護(hù)理文獻(xiàn)檢索步驟
- 2024年有子女無財(cái)產(chǎn)離婚協(xié)議參考范文(四篇)
- 2024欠款還款協(xié)議書
- 阿米巴巴長知識競賽考試題庫(含答案)
- 2024-2025學(xué)年部編版(2024)七年級歷史上冊知識點(diǎn)提綱
- 2024年江蘇省高考政治試卷(真題+答案)
- 2024至2030年中國雞蛋行業(yè)市場發(fā)展現(xiàn)狀及投資規(guī)劃建議報告
- 小學(xué)三年級下一字多義(答案)
- 六年級上冊道德與法治全冊教學(xué)課件
- XX集團(tuán)內(nèi)部審計(jì)人才庫管理辦法(專業(yè)完整格式模板)
- 《鑄牢中華民族共同體意識》課件
評論
0/150
提交評論