【正文】
aa139。139。139。 ELSE dd1=dd1+39。 END IF。 ELSIF( CHOOSE=0100) THEN IF(cc0=1001) THEN cc0=0000。 END IF。 ELSIF (CHOOSE=0010) THEN IF(bb0=1001) THEN bb0=0000。 END IF。) THEN IF(CHOOSE=0001) THEN IF(aa0=1001) THEN aa0=0000。EVENT AND CLK=39。cc0=0000。aa0=0000。END SCORE。USE 。 END PROCESS。 ELSE LEDE=0000。 WHEN OTHERS =LEDE =0000。139。 WARNS=39。 THEN CASE a IS WHEN 1000 =LEDE =0100。 S1 amp。END FOUL。ENTITY FOUL IS PORT(CLEAR : IN STD_LOGIC。 END PROCESS。139。039。END ALARM。 報警模塊源代碼 (1)LIBRARY IEEE。 END IF 。 。 ) THEN STATES = 0001 。 AND S2=39。 ELSIF ( S0 =39。 LED=0010 。039。139。STOP=39。 AND S0=39。 AND S3=39。139。039。039。039。 ELSIF (CLK 39。)THEN STATES=0000。 LED : OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 WARN : IN STD_LOGIC。還要 感謝的是我親愛的重慶三峽學(xué)院以及學(xué)院的每一位領(lǐng)導(dǎo)、老師和同學(xué)。幫我解決了很多細(xì)節(jié)上的問題,使我能夠更好更順利的完成我的畢業(yè)設(shè)計,謝謝你們。在此首先謝謝趙老師的指導(dǎo)。在以后的學(xué)習(xí)生活中,我會盡量彌補(bǔ)我在這方面的欠缺和不足。其次,我發(fā)現(xiàn)自己對課本知識不是太熟悉,對開發(fā)工具的利用掌握的也不是很熟練,導(dǎo)致在編程、仿真時遇到不少麻煩。通過這次畢業(yè)設(shè)計我發(fā)現(xiàn)自己的不足。 對該設(shè)計的建議,搶答成功后各組臺號燈具有記憶功能,這一點會造成即使下一輪搶答沒有搶答成功者(即有兩人或兩人以上同時按下?lián)尨鹌鳎?,之前被點亮的led燈會仍然保持點亮狀態(tài)。 利用Quartus II進(jìn)行編譯,綜合,仿真,時序圖如下: 圖44數(shù)顯模塊的仿真時序圖引腳作用: 輸入信號:AIN4; 輸出信號:DOUT7。減分的仿真與此類似,因為是以加法實現(xiàn),本質(zhì)與加分相同,當(dāng)計分復(fù)位端RST=0時,可以計分。當(dāng)CHOS=0001時,組別顯示為A組,此時主持人利用計分器對A組進(jìn)行加減分操作;當(dāng)CHOS=0010時,組別顯示為B組,此時主持人則利用計分器對B組進(jìn)行加減分操作;當(dāng)CHOS=0100時,組別顯示為C組,此時系統(tǒng)對C組進(jìn)行加減分操作;當(dāng)CHOS=1000時,組別顯示為D組,此時對D組進(jìn)行加減分操作。仿真分析:首先應(yīng)該清楚,在計分器電路的設(shè)計中,按十進(jìn)制進(jìn)行加減分操作的,當(dāng)出現(xiàn)時鐘信號上升沿CLK就可以完成對參賽者加減分操作。 仿真分析:當(dāng)系統(tǒng)清零信號CLR=1時,計時器的時鐘信號回到計時預(yù)置倒計時起始狀態(tài),此時倒計時輸出端QA=0000,QB==0,計時預(yù)置控制端LDN=1時,通過計時預(yù)置數(shù)據(jù)調(diào)整按鈕TA、TB進(jìn)行預(yù)制數(shù),并且通過TA,TB來調(diào)整QA,QB即當(dāng)TA=1時,則QA的數(shù)值加1,當(dāng)TB=1時,則QB的數(shù)值也加1。假如C組按下?lián)尨鸢粹o時,組別輸出為0010,同時C組的顯示燈被點亮。輸入時鐘CLK一方面作為揚(yáng)聲器控制電路的輸入信號,另一方面作為搶答信號判別電路中鎖存器時鐘,為使揚(yáng)聲器音調(diào)較為悅耳,且是搶答判別電路有較高的準(zhǔn)確度(對信號判別的最大誤差是一個時鐘周期),CLK信號頻率高低應(yīng)適中,可取500Hz1KHz;同時CLK信號經(jīng)過分頻后向倒計時電路提供信號。同樣,系統(tǒng)清零信號CLR、預(yù)置及倒計時控制信號LDN,亦為高電平有效。這種連線方法思路清晰可見,而且用的時候很簡單方便,出現(xiàn)錯誤也很好檢查。圖37 譯碼顯示模塊的元件圖主要原理是四位二進(jìn)制BCD編碼轉(zhuǎn)換成七段二進(jìn)制數(shù)字,以阿拉伯?dāng)?shù)字的形式輸出在數(shù)碼管上,使觀眾能夠更直觀的看到結(jié)果。 譯碼顯示模塊該模塊實際上是一個譯碼器,譯碼器是組合邏輯電路的一個重要的器件,其可以分為:變量譯碼和顯示譯碼兩類。 計分模塊用VHDL語言進(jìn)行編程的流程圖如下: 圖36計分模塊的設(shè)計狀態(tài)圖注:在設(shè)計中減法的實現(xiàn)是以加法運算來實現(xiàn)的。 以A組為例來說明此模塊的設(shè)計,當(dāng)復(fù)位信號RST=1時,系統(tǒng)復(fù)位且A組的分值顯示初始值,為100分。當(dāng)預(yù)置數(shù)控制信號LDN=1可通過TA來調(diào)整QA,TA來一次高電平,則QA的數(shù)值就加1;用TB來調(diào)整QB,通過這兩個調(diào)整信號可調(diào)整參賽者答題所需要的時間。計時模塊開始工作從預(yù)置初始值開始以秒計時,計時至0秒時停止,時間耗盡時,揚(yáng)聲器會發(fā)出超時報警信號,以中止答題?!?】備注:理論上來說,A、B、C、D四組搶答,應(yīng)該有從0000—1111等16種可能情況,但是由于時鐘信號的頻率很高而且是在時鐘信號上升沿的狀況下才做出的鑒別,所以在這里兩組以上同時搶答成功的可能性非常小,因此可以只設(shè)計四種情況,即A、B、C、D分別為1000、0100、000001,這大大簡化了電路的設(shè)計復(fù)雜性。輸出信號: 各組的搶答按鈕顯示端ABCD1,組別顯示端G[3..0]?!?】系統(tǒng)的總體框圖如下: 圖21系統(tǒng)的總體框圖 子模塊的設(shè)計思想和實現(xiàn)根據(jù)對搶答器的功能要求,把要設(shè)計的系統(tǒng)劃分為五個功能模塊:搶答信號鑒別模塊、計時模塊、計分模塊、數(shù)碼顯示模塊和揚(yáng)聲器控制電路,具體的說,顯示模塊又包含最先搶答的組別顯示電路、計時值顯示電路和計分顯示電路。當(dāng)主持人給出倒計時停止信號時,揚(yáng)聲器停止鳴叫。搶答過程:主持人按下系統(tǒng)復(fù)位鍵(RST),系統(tǒng)進(jìn)入搶答狀態(tài),計時模塊和計分模塊輸出初始信號給數(shù)碼顯示模塊并顯示出初始值。 (3)如果無人搶答,計時器倒計時到零,蜂鳴器有搶答失敗提示,主持人可以按復(fù)位鍵,開始新一輪