【正文】
39。139。 THEN Count2 := NOT Count2。 IF Count2 = 39。139。 THEN SpkS = 39。139。 ELSE SpkS = 39。039。 END IF。 END IF。 END IF。 END PROCESS。END。 主電路連線圖()。0 主電路圖 仿真圖及結果分析 主電路仿真圖 由仿真圖可知,控制鍵s8為按下時且s1—s7中有按鍵按下,此時states顯示手動彈奏的音符輸出,同時led燈顯示彈奏的音符。當按鍵s8為高電平時,開始自動播放,states和led開始顯示對應的音符。第五章編譯、下載及調(diào)試中遇到的問題及解決辦法在編譯過程中,遇到的第一個問題也是最大的問題就是如何實現(xiàn)樂曲的演奏問題,如何令電路自動播放一首預先存儲的樂曲。在解決這一問題時,我們采用ROM表將樂曲對應的音符存入ROM表中,ROM表中每個數(shù)對應相同的時間,設置一個8位二進制計數(shù)器,作為音符數(shù)據(jù)ROM的地址發(fā)生器。這個計數(shù)器的計數(shù)頻率選為4HZ,當全音符設為1秒時,, 。每來一個脈沖計一次數(shù),即要輸入一個全音符時需要計數(shù)4次才行,則應在Rom表格中輸出相應音符四次,表示一個全音符的持續(xù)時間,要輸入一個2分音符則需要計數(shù)2次,依次類推。第二個問題是頻率信號的選取一開始不知道如何下手,之后通過查找資料知道了所有不同頻率的信號都是從同一個基準頻率f0分頻而得到的。由于音節(jié)頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),因此必須將計算所得的分頻數(shù)四舍五入取整。若基準頻率過高,則分頻比太小,取整后誤差較大。若基準頻率過高,雖然誤差減小,但分頻數(shù)變大。綜合這兩方面因素,在盡量減小頻率誤差的前提下取合適的基準頻率,在此取f0=6MHz。第三個問題是無輸入是噪聲問題。由于按鍵有限,沒有設計單獨控制無輸入情況下噪聲的控制按鈕。所以一開始在沒有按鍵下的情況會出現(xiàn)蜂鳴器發(fā)聲的情況,為此我們在數(shù)控分頻模塊中單獨添寫了一段程序來控制無輸入噪聲,程序功能是在沒有輸入的情況下禁止脈沖輸出,蜂鳴器不響。第四個問題是原件例化時對應端口賦值的問題,特別是在音符存儲模塊的設計中經(jīng)常遇到這種問題。為此需要弄清楚外部信號與內(nèi)部信號,需要仔細分辨。第六章 總結 經(jīng)過努力, 樂曲硬件演奏電路的設計基本上完成了。在整個設計過程中,包括前期中期和后期。前期工作是通過組員之間的討論達到明白此次課設的目的和要求,以及拿出一套初步的設計方案。中期工作是通過各種方式查閱資料并實際編寫程序,在初步方案的指引下逐步實現(xiàn)我們的設計目標。后期工作主要是整個設計的查漏補缺和完成論文書寫工作。每個過程都包含著我們的努力和探索,并且我都有著許多不同的體會:1) VHDL的編程與C語言的編程有著本質(zhì)的不同,然而以往形成的舊編程習慣在VHDL編程中依然起著很大的作用。在本次設計中這種影響到處都是存在的,特別是在手動輸入和自動播放功能的問題中處處可見。2) VHDL的設計關鍵是電路邏輯設計,而一個程序的關鍵是總體設計。整個設計的過程是從遵從整體到部分、從抽象到具體,最后在總體的思想。即先明白整體設計的思路和需要實現(xiàn)的功能,將其抽象組成不同的模塊,在分塊設計。最后組成總體的設計結果。3)通過這個程序設計讓我更加了解了VHDL語言,對數(shù)字系統(tǒng)結構也有了更進一步的了解和認識,對我以后的學習有很大的幫助。4)還有就是對驅(qū)動蜂鳴器的脈沖是矩形脈沖好還是正弦波好問題的探索,答案是正弦波好。因為正弦波頻率成分比較單一,而正弦波頻率成分復雜。應用是需要使用濾波器濾除部分頻率才能做到使音質(zhì)更加好?;仡櫞舜握n程設計,從書籍,網(wǎng)絡不斷的尋找到設計電路,從拿到題目到完成整個設計,從理論到實踐,每一步都是智慧的結晶,可以學到很多很多的的東西。對課本知識的進一步加深的同時學到了很多在書本上沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的。把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正提高自己的實際動手能力和獨立思考的能力。在設計的過程難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。第七章 參考文獻【1】 康華光,電子技術基礎數(shù)字部分【M】.,2002;【2】潘松,黃繼業(yè),EDA技術使用教程(VHDL版),科學出版社;【3】漢澤西,2003;