PLD課程設(shè)計(jì)音樂播放_(tái)第1頁
PLD課程設(shè)計(jì)音樂播放_(tái)第2頁
PLD課程設(shè)計(jì)音樂播放_(tái)第3頁
PLD課程設(shè)計(jì)音樂播放_(tái)第4頁
PLD課程設(shè)計(jì)音樂播放_(tái)第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成績 中國農(nóng)業(yè)大學(xué) 課程論文 (2011-2012學(xué)年夏季學(xué)期)論文題目: 基于VerilogHDL的音樂 播放器設(shè)計(jì) 課程名稱: PLD課程設(shè)計(jì) 任課教師: 薛一鳴 班級(jí): 電子091 學(xué)號(hào): 0908140818 姓名: 宋艷 基于Verilog HDL的音樂播放器設(shè)計(jì)1 設(shè)計(jì)目的22 設(shè)計(jì)任務(wù)23 系統(tǒng)設(shè)計(jì)33.1 樂曲演奏部分33.1.1音調(diào)的控制33.1.2音長的控制43.2 鍵盤掃描部分83.3 數(shù)碼管動(dòng)態(tài)顯示部分123.4 LCD顯示部分144 心得體會(huì)17摘要:本實(shí)驗(yàn)主要在理論分析和具體的軟件實(shí)現(xiàn)上,完成一個(gè)簡易的音樂播放器,可以完成上一曲,下一曲,循環(huán)播放,暫停和液晶顯示,同

2、時(shí)還增加了手動(dòng)按鍵編曲播放功能。在理論分析的基礎(chǔ)上,用Verilog HDL語言編寫源代碼,再配合具體電路連接,實(shí)現(xiàn)對(duì)蜂鳴器振動(dòng)的控制,以及對(duì)各項(xiàng)顯示功能的切換控制等。關(guān)鍵字:Verilog頻率顯示 音樂播放1 設(shè)計(jì)目的1)學(xué)習(xí)Verilog HDL的設(shè)計(jì)技巧,掌握樂曲演奏電路的工作原理;2)學(xué)習(xí)音符與頻率關(guān)系,了解怎樣控制音調(diào)的高低變化和音長,從而完成樂曲的自動(dòng)循環(huán)演奏;3)學(xué)習(xí)音頻功放模塊接口特點(diǎn);4)培養(yǎng)自主學(xué)習(xí)、正確分析和解決問題的能力。2 設(shè)計(jì)任務(wù)1、使用Verilog HDL設(shè)計(jì)樂曲演奏電路,系統(tǒng)實(shí)現(xiàn)是用硬件描述語言Verilog HDL按分頻控制的方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程電路功

3、能驗(yàn)證,奏出美妙的樂曲。2、通過控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,從 而使揚(yáng)聲器發(fā)出連續(xù)的樂曲聲,且當(dāng)樂曲演奏完成時(shí),保證能自動(dòng)從頭開始演奏。3、簡易樂曲播放器可以實(shí)現(xiàn)的功能:1)播放器內(nèi)預(yù)存4首樂曲;2)順序播放:按內(nèi)部給定的順序依次播放3首樂曲,每首歌曲可以循環(huán)播放;3)用三位數(shù)碼管顯示輸出相應(yīng)的高中低音符,并用一個(gè)數(shù)碼管顯示當(dāng)前播放樂曲的順序號(hào),實(shí)現(xiàn)動(dòng)態(tài)顯示;4)設(shè)置開始鍵和暫停鍵,樂曲播放過程中按暫停鍵則暫停播放,再按開始鍵則繼續(xù)播放;5)設(shè)置Next和Previous鍵,按Next鍵可以聽下一首,按Previous鍵可以聽上一首;6)實(shí)現(xiàn)手動(dòng)發(fā)音,就是按鍵發(fā)出特定的音

4、符;7)用LCD顯示正在播放的歌曲名稱,并顯示下一首歌曲名稱;8)在音樂播放的同時(shí),會(huì)有l(wèi)ed流水燈的閃爍,以及LED矩陣的閃爍。3 系統(tǒng)設(shè)計(jì)3.1 樂曲演奏部分樂曲演奏的原理是這樣的:組成樂曲的每個(gè)音符的頻率值(音調(diào))及其持續(xù)的時(shí)間(音長)是樂曲能連續(xù)演奏所需的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,就可以使揚(yáng)聲器發(fā)出連續(xù)的樂曲聲。3.1.1音調(diào)的控制頻率的高低決定了音調(diào)的高低。音樂的十二平均率規(guī)定:每兩個(gè)8度音(如簡譜中的中音1與高音1)之間的頻率相差一倍。在兩個(gè)8度音之間,又可分為12個(gè)半音,每兩個(gè)半音的頻率比為122。 另外,音名A(簡譜中的低

5、音6)的頻率為440Hz,音名B到C之間、E到F之間為半音,其余為全音。由此可以計(jì)算出簡譜中從低音1至高音1之間每個(gè)音名對(duì)應(yīng)的頻率,如表3.11所示:表3.11 簡譜中的音名與頻率的關(guān)系音名頻率/Hz音名頻率/Hz音名頻率/Hz低音1261.63中音1523.25高音11045.50低音2293.67中音2587.33高音21174.66低音3329.63中音3659.25高音31318.51低音4349.23中音4698.46高音41396.92低音5391.99中音5783.99高音51567.98低音6440.00中音6880.00高音61760.00低音7493.88中音7987.76

6、高音71975.52所有不同頻率的信號(hào)都是從同一個(gè)基準(zhǔn)頻率分頻得到的。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計(jì)算得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則由于分頻比太小,四舍五入取整后的誤差較大;若基準(zhǔn)頻率過高,雖然誤差變小,但分頻數(shù)將變大。實(shí)際的設(shè)計(jì)綜合考慮這兩方面的因素,在盡量減小頻率誤差的前提下取合適的基準(zhǔn)頻率。本例中選取1MHz為基準(zhǔn)頻率。實(shí)際上,只要各個(gè)音名間的相對(duì)頻率關(guān)系不變,演奏出的樂曲聽起來都不會(huì)“走調(diào)”。各音階頻率及相應(yīng)的分頻比如表2所示。為了減小輸出的偶次諧波分量,最后輸出到揚(yáng)聲器的波形應(yīng)為對(duì)稱方波,因此在到達(dá)揚(yáng)聲器之前,有一個(gè)二分頻的分頻器。表2中的分

7、頻比就是從1MHz頻率基礎(chǔ)上計(jì)算得出的。由于最大的分頻系數(shù)為3822,故采用12位二進(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)起來也容易一些,如表3.12所示:表3.12 各音階頻率對(duì)應(yīng)的分頻比及預(yù)置數(shù)音名分頻比預(yù)置數(shù)音名分頻比預(yù)置數(shù)低音13822273中音512762819低音23405690中音611362959低音330341061中音710123083低音428631232高音19563139低音525511544高音28

8、513244低音622731822高音37583337低音720252070高音47163379中音119112184高音56383457中音217032392高音65683527中音315172578高音75063589中音414322663休止符04095此外,對(duì)于樂曲中的休止符,只要將分頻系數(shù)設(shè)為0,即初始值為4095,即可,此時(shí)揚(yáng)聲器將不會(huì)發(fā)聲。3.1.2音長的控制音符的持續(xù)時(shí)間必須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來確定。本例演奏的梁祝片段,最短的音符為4分音符,如果將全音符的持續(xù)時(shí)間設(shè)為1s的話,則只需要再提供一個(gè)4Hz的時(shí)鐘頻率即可產(chǎn)生4分音符的時(shí)長??刂埔粽{(diào)通過設(shè)置計(jì)數(shù)器的預(yù)置數(shù)

9、來實(shí)現(xiàn),預(yù)置不同的數(shù)值可以使計(jì)數(shù)器產(chǎn)生不同頻率的信號(hào),從而產(chǎn)生不同的音調(diào)??刂埔糸L是通過控制計(jì)數(shù)器預(yù)置數(shù)的停留時(shí)間來實(shí)現(xiàn)的,預(yù)置數(shù)停留的時(shí)間越長,則該音符演奏的時(shí)間越長。每個(gè)音符的演奏時(shí)間都是0.25s的整數(shù)倍,對(duì)于節(jié)拍較長的音符,如2分音符,在記譜時(shí)將該音名連續(xù)記錄兩次即可。主要程序代碼:assign carry=(divider=4095);always (posedge clk)if(cnt1<124999) cnt1=cnt1+19'b0000_0000_0000_0000_001;else begin cnt1=0; clk_4hz =! clk_4hz; endalw

10、ays (posedge clk)if(cnt2<4999) cnt2=cnt2+13'b1;else begin cnt2=0; clk_100hz =! clk_100hz; endalways (posedge clk)begin if(carry) divider<=origin; else divider<=divider+12'b00_0000_0000_01;endalways (posedge carry)begin speaker<=speaker;end always (posedge clk_4hz)begincase(high,m

11、ed,low) /fen pin bi/low'b000000000001:origin<=273; /1'b000000000010:origin<=690; /2'b000000000011:origin<=1061; /3'b000000000100:origin<=1232; /4'b000000000101:origin<=1544; /5'b000000000110:origin<=1822; /6'b000000000111:origin<=2070; /7/med'b000

12、000010000:origin<=2184; /1'b000000100000:origin<=2392; /2'b000000110000:origin<=2578; /3'b000001000000:origin<=2663; /4'b000001010000:origin<=2819; /5'b000001100000:origin<=2959; /6'b000001110000:origin<=3083; /7/high'b000100000000:origin<=3139; /1

13、'b000100000000:origin<=3244; /2'b000100000000:origin<=3337; /3'b000100000000:origin<=3379; /4'b000100000000:origin<=3457; /5'b000100000000:origin<=3527; /6'b000100000000:origin<=3589; /7/xiu zhi fu'b000000000000:origin<=4095; /xiu zhi fuendcaseendalwa

14、ys (posedge clk_4hz) begin if(counter2=63) counter2<=0; else counter2<=counter2+1;case(counter2) 0: high,med,low<='b000000000011; 1: high,med,low<='b000000000011; 2: high,med,low<='b000000000011;3: high,med,low<='b000000000011;4: high,med,low<='b000000000101;

15、 5: high,med,low<='b000000000101; 6: high,med,low<='b000000000101;7: high,med,low<='b000000000110; 8: high,med,low<='b000000010000; 9: high,med,low<='b000000010000; 10: high,med,low<='b000000010000;11: high,med,low<='b000000100000; 12: high,med,low<

16、;='b000000000110; 13: high,med,low<='b000000010000; 14: high,med,low<='b000000000101; 15: high,med,low<='b000000000101;16: high,med,low<='b000001010000; 17: high,med,low<='b000001010000; 18: high,med,low<='b000001010000;19: high,med,low<='b0001000

17、00000; 20: high,med,low<='b000001100000; 21: high,med,low<='b000001010000; 22: high,med,low<='b000000110000; 23: high,med,low<='b000001010000; 24: high,med,low<='b000000100000; 25: high,med,low<='b000000100000; 26: high,med,low<='b000000100000;27: hig

18、h,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; 33: high,med,low<='b000000100000; 34: high,med,low<=

19、9;b000000100000; 35: high,med,low<='b000000110000; 36: high,med,low<='b000000000111; 37: high,med,low<='b000000000111; 38: high,med,low<='b000000000110; 39: high,med,low<='b000000000110; 40: high,med,low<='b000000000101; 41: high,med,low<='b0000000001

20、01; 42: high,med,low<='b000000000101; 43: high,med,low<='b000000000110; 44: high,med,low<='b000000010000; 45: high,med,low<='b000000010000; 46: high,med,low<='b000000100000; 47: high,med,low<='b000000100000; 48: high,med,low<='b000000000011; 49: high,

21、med,low<='b000000000011; 50: high,med,low<='b000000010000; 51: high,med,low<='b000000010000; 52: high,med,low<='b000000000110; 53: high,med,low<='b000000000101; 54: high,med,low<='b000000000110; 55: high,med,low<='b000000010000; 56: high,med,low<=&

22、#39;b000000000101; 57: high,med,low<='b000000000101; 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<='b00000000

23、0101;endcaseend3.2 鍵盤掃描部分本設(shè)計(jì)通過鍵盤來控制歌曲的播放,音樂播放器所需各種功能按鍵非常多,一般的獨(dú)立式鍵盤輸入不能滿足要求,本設(shè)計(jì)采用4×4矩陣鍵盤,較好滿足了設(shè)計(jì)要求。此模塊負(fù)責(zé)對(duì)輸入設(shè)備4×4鍵盤采用行列式法進(jìn)行掃描,并定義每個(gè)按鍵的功能,作為其他模塊的控制信號(hào)。各按鍵的功能如下:012345671上一首下一首暫停開始手動(dòng)彈奏音樂播放其中(下一首、上一首、暫停、開始)只有在音樂播放功能時(shí)使用,音樂播放只在手動(dòng)彈奏時(shí)使用。主要程序代碼:always (posedge clk_100hz)begincase(state)0:beginx=4'

24、;b0000;if(y!=4'b1111) state=0;elsebeginstate=1;end end1:beginx=4'b0000;if(y=4'b1111)beginstate=1;note<='b0000_0000_0000;endelsebeginstate=2;endend2:beginx=4'b0111;state=3; end3:begincase(y)4'b1111:state=4;4'b1110:begindout='b00111111;dledmatrix='b11000000;dled=

25、'b1100000011000000;state=0;/0 end4'b1101:begindout='b01100110;dledmatrix='b10011001;dled='b1001100110011001;state=0;/4note<='b0000_0100_0000; end 4'b1011:begindout='b10000110;dledmatrix='b01111001;dled='b0111100101111001;state=0;/8 note<='b0001000000

26、00; end4'b0111:begindout='b00110110;dledmatrix='b11001001;dled='b1100100111001001;state=0;/12if(k!=0)beginp=k;k=0;end endendcase end4:beginx=4'b1011;state=5; end5:begincase(y)4'b1111:state=6;4'b1110:begindout='b00000110;dledmatrix='b11111001;dled<='b1111100

27、111111001;state=0;/1note<='b000000010000; end4'b1101:begindout='b01101101;dledmatrix='b10010010;dled='b1001001010010010;state=0;/5note<='b000001010000; end4'b1011:begindout='b01101111;dledmatrix='b10010000;dled='b1001000010010000;state=0; /9 end4'b01

28、11:begindout='b01011110;dledmatrix='b10100001;dled='b1010000110100001;state=0;/13if(k=0)k=p; endendcase end6:begin x=4'b1101;state=7; end7:begincase(y)4'b1111:state=8;4'b1110:begindout='b01011011;dledmatrix='b10100100;dled='b1010010010100100;state=0;/2note<=

29、9;b000000100000; end4'b1101:begindout='b01111101;dledmatrix='b10000010;dled='b1000001010000010;state=0;/6note<='b000001100000; end4'b1011:begindout='b01110111;dledmatrix='b10001000;dled='b1000100010001000;state=0;/10if(k<=4)&&(k>=2)k=k-1;elsek=4;

30、end 4'b0111:begindout='b01111001;dledmatrix='b10000110;dled='b1000011010000110;state=0;/14 shoudongq=k;k=0; end endcase end8:beginx=4'b1110;state=9; end9:begincase(y)4'b1111:state=0;4'b1110:begindout='b01001111;dledmatrix='b10110000;state=0;/3note<='b000000

31、110000; end4'b1101:begindout='b00000111;dledmatrix='b11111000;state=0;/7note<='b0000_0111_0000; end4'b1011:begindout='b01111100;dledmatrix='b10000011;dled='b1000001110000011;state=0;/11if(k>=4)k=1;elsek=k+1; end4'b0111:begindout='b01110001;dledmatrix=

32、9;b10001110;dled='b1000111010001110;state=0;/15 zidongif(k!=0)k=q;elsek=1; end endcase end endcase end3.3 數(shù)碼管動(dòng)態(tài)顯示部分音名顯示電路用來顯示樂曲演奏時(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í)長計(jì)數(shù)器,當(dāng)樂曲演奏完成時(shí),保證能自動(dòng)從頭開始演奏。同時(shí)用一個(gè)數(shù)碼管顯示所播放音樂的序號(hào),在本例中用K信號(hào)來顯示播

33、放序號(hào)。主要程序代碼如下:always (posedge clk)beginif(k!=0)begincase(cnt)1:begin dig<='b0010_0000;data<=k;cnt=2;end2:begin dig<='b0001_0000;data<=high;cnt=3;end3:begin dig<='b0000_1000;data<=med;cnt=4;end4:begin dig<='b0000_0100;data<=low;cnt=1;enddefault:begin dig<=

34、9;b0000_0000;data<=1;cnt=1;endendcaseendelsebegindata=1;dig='b1000_0000;endendalways (data)beginif(k!=0)begincase(data)1:begin duan<='b00000110;ledmatrix<='b11111001;led<='b1111100111111001;end2:begin duan<='b01011011;ledmatrix<='b10100100;led<='b1010

35、010010100100;end3:begin duan<='b01001111;ledmatrix<='b10110000;led<='b1011000010110000;end4:begin duan<='b01100110;ledmatrix<='b10011001;led<='b1001100110011001;end5:begin duan<='b01101101;ledmatrix<='b10010010;led<='b1001001010010010;en

36、d6:begin duan<='b01111101;ledmatrix<='b10000010;led<='b1000001010000010;end7:begin duan<='b00000111;ledmatrix<='b11111000;led<='b1111100011111000;enddefault:begin duan<='b00000000;ledmatrix<='b00000000;led<='b1000110010001100;endendcasee

37、ndelsebeginduan<=dout;ledmatrix<=dledmatrix;led<=dled;endend3.4 LCD顯示部分FYD12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級(jí)、二級(jí)簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。可以顯示8×4行16×16點(diǎn)陣的漢字. 也可完成圖形顯示。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液

38、晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。 其各引腳功能如下:管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù)RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”, DB7DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)

39、據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負(fù)端(見注釋3)其控制接口信號(hào)說明:1)RS,R/W的配合選擇決定控制界面的4種模式: RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)

40、2)E信號(hào)E狀態(tài)執(zhí)行動(dòng)作結(jié)果高>低I/O緩沖>DR配合/W進(jìn)行寫數(shù)據(jù)或指令高DR>I/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低>高無動(dòng)作  控制指令說明:指 指 令 碼功 能令RSR/WD7D6D5D4D3D2D1D0 清除顯示 0000000001將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到"00H"地址歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到"00H",并且將游標(biāo)移到開頭原點(diǎn)位置;這個(gè)指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開/關(guān)0000001

41、DCBD=1: 整體顯示 ONC=1: 游標(biāo)ON B=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時(shí),設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位游標(biāo)或顯示移位控制000001S/CR/LXX設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位;這個(gè)指令不改變DDRAM 的內(nèi)容 功能 設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1: 擴(kuò)充指令操作RE=0: 基本指令操作 設(shè)定CGRAM 地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址 設(shè)定DDRAM 地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H第二行

42、:90H97H讀取忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)主要程序代碼:always (posedge clkr) begine<=0;cnt3<=0;cnt4<=0;cnt5<=0;cnt6<=0;cnt7<=0;begin current1=next1; cas

43、e(current1) set0: begin rs<=0; dat<=8'h31; next1<=set1; end set1: begin rs<=0; dat<=8'h0C; next1<=set2; end set2: begin rs<=0; dat<=8'h6; next1<=set3; end set3: begin rs<=0; dat<=8'h1; next1<=dat0; end dat0: begin rs<=1; dat<=8'hd5; next1

44、<=dat1; end /zheng zai bo fang : dat1: begin rs<=1; dat<=8'hfd; next1<=dat2; end dat2: begin rs<=1; dat<=8'hd4; next1<=dat3; end dat3: begin rs<=1; dat<=8'hda;next1<=dat4; end dat4: begin rs<=1; dat<=8'hb2; next1<=dat5; end dat5: begin rs<=1;

45、 dat<=8'ha5; next1<=dat6; end dat6: begin rs<=1; dat<=8'hb7;next1<=dat7; end dat7: begin rs<=1; dat<=8'hc5;next1<=dat8; end dat8: begin rs<=1; dat<=8'h3a; next1<=set4; end set4: begin rs<=0; dat<=8'h93; next1<=dat14; end /hua xin dat14: b

46、egin rs<=1; dat<=8'hbb; next1<=dat15; end dat15: begin rs<=1; dat<=8'had; next1<=dat16; end dat16: begin rs<=1; dat<=8'hd0; next1<=dat17; end dat17: begin rs<=1; dat<=8'hc4; next1<=set5; end set5: begin rs<=0; dat<=8'h88; next1<=dat30;

47、 end /xia yi shou dat30: begin rs<=1; dat<=8'hcf; next1<=dat31; end dat31: begin rs<=1; dat<=8'hc2; next1<=dat32; end dat32: begin rs<=1; dat<=8'hd2; next1<=dat33; end dat33: begin rs<=1; dat<=8'hbb; next1<=dat34; end dat34: begin rs<=1; dat<=8'hca; next1<=dat35; end dat35: begin rs<=1; dat<=8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論