【正文】
出(ToneTaba模塊)該模塊主要是是樂曲簡譜碼對應(yīng)的分頻預(yù)置數(shù)查找表電路,其中設(shè)置了樂曲的全部音符對應(yīng)的分頻置數(shù),每一音符的停留時間由音樂節(jié)拍和音調(diào)發(fā)生器模塊NoteTabs的CLK的輸入頻率決定,這些值由對應(yīng)于ToneTaba的4位輸入值Index[3..0]確定,最多有16種可選值。EDA技術(shù)作為現(xiàn)代電子設(shè)計最新技術(shù)的結(jié)晶,其廣闊的應(yīng)用前景和深遠(yuǎn)的影響已毋庸置疑,它在信息工程類專業(yè)中的基礎(chǔ)地位和核心作用也逐漸被人們所認(rèn)識。(3)音調(diào)輸出模塊主要是通過查表來實現(xiàn)找到各個音調(diào)對應(yīng)的分頻預(yù)置數(shù);(4)選擇輸出模塊主要是通過按鍵控制來實現(xiàn)自動播放和手動彈奏輸出功能;(5)數(shù)控分頻模塊實現(xiàn)在給定分頻預(yù)置數(shù)的情況下分頻輸出驅(qū)動蜂鳴器輸出相應(yīng)的音調(diào)。第二章 設(shè)計要求、FPGA配合按鍵、蜂鳴器演奏一段簡單音樂;、當(dāng)前演奏音調(diào)對應(yīng)的阿拉伯?dāng)?shù)字用一位數(shù)碼管顯示;、用LED燈亮的個數(shù)指示當(dāng)前演奏音調(diào)。 選擇輸出模塊、數(shù)控分頻模塊數(shù)控分頻器的功能是當(dāng)在輸入端給定不同的輸入數(shù)時,將對輸入的時鐘信號有不同的分頻比,數(shù)控分頻器是用計數(shù)值可并行預(yù)置的加法計數(shù)器來完成的。USE 。 END COMPONENT。)THEN Counter =Counter+1。USE 。CODE=0000。912WHEN0011=Tone=10000001100。led=00111111。CODE=0010。1622WHEN1101=Tone=11010000100。led=00000001。 SOUND:OUT STD_LOGIC。 THEN IF S8=39。AND S3=39。AND S7=39。AND S3=39。AND S7=39。AND S2=39。AND S7=39。AND S2=39。AND S7=39。AND S2=39。AND S7=39。AND S2=39。AND S7=39。AND S2=39。AND S6=39。PL=01100000101。PL=10010101101。PL=00000000000。 lo,lt :in STD_LOGIC_VECTOR(7 DOWNTO 0)。 then s=st。end architecture behav。END。 ELSIF clk39。EVENT AND PreCLK = 39。 END IF。 OR S3=39。 OR S7=39。 IF Count2 = 39。 END IF。這個計數(shù)器的計數(shù)頻率選為4HZ,當(dāng)全音符設(shè)為1秒時,, 。由于按鍵有限,沒有設(shè)計單獨控制無輸入情況下噪聲的控制按鈕。后期工作主要是整個設(shè)計的查漏補(bǔ)缺和完成論文書寫工作。4)還有就是對驅(qū)動蜂鳴器的脈沖是矩形脈沖好還是正弦波好問題的探索,答案是正弦波好。第七章 參考文獻(xiàn)【1】 康華光,電子技術(shù)基礎(chǔ)數(shù)字部分【M】.,2002;【2】潘松,黃繼業(yè),EDA技術(shù)使用教程(VHDL版),科學(xué)出版社;【3】漢澤西,2003;。應(yīng)用是需要使用濾波器濾除部分頻率才能做到使音質(zhì)更加好。在本次設(shè)計中這種影響到處都是存在的,特別是在手動輸入和自動播放功能的問題中處處可見。第四個問題是原件例化時對應(yīng)端口賦值的問題,特別是在音符存儲模塊的設(shè)計中經(jīng)常遇到這種問題。第二個問題是頻率信號的選取一開始不知道如何下手,之后通過查找資料知道了所有不同頻率的信號都是從同一個基準(zhǔn)頻率f0分頻而得到的。END。 THEN SpkS = 39。 OR S8=39。 OR S4=39。 END PROCESS。 THEN IF Count11 = 167FF THEN Count11 := Tone 。139。 BEGIN PROCESS(clk) VARIABLE Count4 : STD_LOGIC_VECTOR (3 DOWNTO 0) 。LIBRARY IEEE。l=lt。 l :out STD_LOGIC_VECTOR(7 DOWNTO 0)。END PROCESS。PL=10100001010。PL=01110010000。) THEN G=01000000。AND S3=39。) THEN G=00100000。AND S3=39。) THEN G=00010000。AND S3=39。) THEN G=00001000。AND S3=39。)THEN G=00000