【文章內(nèi)容簡介】
。039。 B1=39。139。 C1=39。139。 D1=39。139。 G=W1。LOCK:=39。039。 ELSIF (A=39。039。AND B=39。139。AND C=39。039。AND D=39。039。) THEN A1=39。139。 B1=39。039。 C1=39。139。 D1=39。139。 G=W2。LOCK:=39。039。 ELSIF (A=39。039。AND B=39。039。AND C=39。139。AND D=39。039。) THEN A1=39。139。 B1 =39。139。 C1=39。039。 D1=39。139。 G=W3。LOCK:=39。039。 ELSIF (A=39。039。AND B=39。039。AND C=39。039。AND D=39。139。) THEN A1=39。139。 B1 =39。139。 C1=39。139。 D1=39。039。 G=W4。LOCK:=39。039。 圖 41搶答鑒別模塊 仿真圖 QDJB 課程設計說明書 7 CLR 低電平有效,當其為高電平時,輸出無效。當其為低電平時, A, B,C, D 哪一個為高電平則輸出哪個,對應的 LED 燈亮。 計時模塊的設計與實現(xiàn) 在計時模塊的設計中設置了固定和可調(diào)的兩個時間 , 可調(diào)時間通過預置鍵SET 來調(diào)節(jié),計數(shù)時兩個數(shù)碼管 QA, QB 顯示剩余時間,分別表示兩位倒計時的個位和十位。當搶答鑒別模塊成功判別出最先按下?lián)尨鸢粹o的參賽組后,在成功鑒別出哪組最先搶答后,主持人按下計時信號,則進入計時狀態(tài)。計時模塊開始工作從規(guī)定值開始以秒計時,計時至 0 秒時停止,此時 蜂鳴器發(fā)出報警信號,提醒答題已終止。該系統(tǒng)輸入信號有: 系統(tǒng)清零信號 CLR,計時預置控制端 LDN,計時使能端 EN,系統(tǒng)時鐘信號 CLK,計時預置數(shù)據(jù)調(diào)整按鈕 TA、 TB。系統(tǒng)輸出信號有:倒計時輸出端 QA[3..0]、 QB[3..0]、蜂鳴器 BELL。 VHDL 部分 源程序如下: IF CLR=39。139。 THEN TMPA:=1001。 TMPB:=1001。 SWYUZHI=0000。 GWYUZHI=0000。DA=1001。 DB=1001。 ELSIF CLK39。EVENT AND CLK=39。139。 THEN IF LDN=39。139。 THEN IF TA=39。139。 THEN GWYUZHI=GWYUZHI+0001 。BELL=39。039。 IF GWYUZHI=1010 THEN GWYUZHI=0000。 END IF。 END IF。 IF TB=39。139。 THEN SWYUZHI=SWYUZHI+0001。BELL=39。039。 IF SWYUZHI=1010 THEN SWYUZHI=0000。 END IF。 END IF。 TMPA:=GWYUZHI。TMPB:=SWYUZHI。BELL=39。039。STAY:=39。039。 ELSIF EN=39。139。 AND STAY=39。039。 THEN IF FLAG=39。139。 THEN TMPA:=0000。TMPB:=0000。 END IF。 IF TMPA=0000 THEN TMPA:=1001。 課程設計說明書 8 IF TMPB=0000 THEN STAY:=39。139。FINISH:=39。139。N=N+1。 IF SWYUZHI=0000 THEN TMPB:=1001。BELL=39。139。 ELSE TMPB:=SWYUZHI。 TMPA:=GWYUZHI。BELL=39。139。 END IF。 ELSE TMPB:=TMPB0001。BELL=39。039。 END IF。 ELSE TMPA:=TMPA0001。 BELL=39。039。 END IF。 ELSIF STAY=39。139。 AND FINISH=39。139。 THEN N=N+1。 IF N=4 THEN BELL=39。039。N=0。FINISH:=39。039。 END IF。 ELSIF EN=39。039。 THEN STAY:=39。039。 END IF。 END IF。 QA=TMPA。 QB=TMPB。 圖 42計時模塊 仿真圖 JSQ CLR 低電平有效,當 CLR 為高電平時,電路不工作。當 CLR 為低電平時開始計時。如沒人搶答,時間到后發(fā)出提示音。如有人搶答,答題時間到后,發(fā)出提示音。 輸入: QA 個位, QB 十位,輸出: TA 個位, TB 十位。 如仿真圖所示,當計時復位信號 CLR=1 時,模塊輸出信號 QA=0000 ,QB=0000。當預置數(shù)控制信號 LDN=1 可通過 TA 來調(diào)整 QA, TA 來一次高電平,則 QA 的數(shù)值就加 1;用 TB 來調(diào)整 QB,通過這兩個調(diào)整信號可調(diào)整參賽者答課程設計說明書 9 題所需要的時間。在 CLR=0, LDN=0,EN=1 時,通 過時鐘信號 CLK 的上升沿來進行到計時。通過分析,仿真完全符合預期所要達到的結果。 報警模塊的設計與實現(xiàn) 報警器的設計主要是來提醒觀眾倒計時的開始和結束,哪位選手進行了搶答,在這幾種情況下蜂鳴器會發(fā)出 23 秒的鳴叫,便于更好的判別比賽的情況。此模塊和搶答鑒別模塊、計時模塊、蜂鳴器相連,用以實現(xiàn)其功能 。 該系統(tǒng)輸入信號有系統(tǒng)時鐘信號 CLK,組別輸入信號 CHOS,輸出信號SPEAK,用以連接蜂鳴器來進行報警。 如仿真圖所示,當 CHOS=0001 即 A 組搶答時,蜂鳴器 SPEAK=1 進行 23秒的鳴叫,通過分析 ,仿真完全符合預期所要達到的結果。 VHDL 部分源程序如下: IF CHOS=0000 THEN N=0。 SAVE=39。039。 ELSIF CLK39。EVENT AND CLK=39。139。 THEN IF N5 THEN CASE CHOS IS WHEN 1000 = SAVE=39。139。N=N+1。 WHEN 0100 = SAVE=39。139。N=N+1。 WHEN 0010 = SAVE=39。139。N=N+1。 WHEN 0001 = SAVE=39。139。N=N+1。 WHEN OTHERS = NULL。 END CASE。 ELSE SAVE=39。039。 END IF。 END IF。 SPEAK=SAVE。