【正文】
BCD編碼七段數(shù)碼管2進(jìn)制000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111XXXXX0000000表31 譯碼器的譯碼對照表備注 :在程序中只考慮00001001(即09)的情況,將其轉(zhuǎn)化為相應(yīng)的七段顯示器的碼子,其他情況不予考慮。也以A為例,由于每次減分都是減去10分,即每次為POINTS_A1減一,所以可以用POINTS_A1+ 1111來實(shí)現(xiàn)。在CLR=0,LDN=0,EN=1時,通過時鐘信號CLK的上升沿來進(jìn)行60秒到計(jì)時。其用VHDL語言進(jìn)行編程的流程圖如下圖所示: 圖32 搶答鑒別模塊的流程圖 計(jì)時模塊當(dāng)搶答鑒別模塊成功判別出最先按下?lián)尨鸢粹o的參賽組后,在成功鑒別出哪組最先搶答后,主持人按下計(jì)時信號,則進(jìn)入計(jì)時狀態(tài)。計(jì)時模塊、計(jì)分模塊、數(shù)碼顯示模塊和揚(yáng)聲器控制電路, 搶答鑒別模塊搶答鑒別模塊用來準(zhǔn)確直觀地判斷A、B、C、D四組搶答者誰最先按下按鈕,并為顯示端送出信號,通過數(shù)顯和蜂鳴等途徑使觀眾能夠清楚地知道是哪一組搶答成功,是整個系統(tǒng)的核心部分。當(dāng)某參賽組搶先將搶答鍵按下時,系統(tǒng)將其余三路搶答信號封鎖,同時揚(yáng)聲器發(fā)出聲音提示,組別顯示模塊送出信號給數(shù)碼顯示模塊,從而顯示出該搶答成功組臺號,并一直保持到下一輪主持人將系統(tǒng)清零為止。 2 整體方案設(shè)計(jì)一般來說,設(shè)計(jì)一臺智能搶答器,必須能夠準(zhǔn)確判斷出第一位搶答者,并且通過數(shù)顯、蜂鳴這些途徑能讓人們很容易得知誰是搶答成功者,并設(shè)置一定的回答限制時間,讓搶答者在規(guī)定時間內(nèi)答題,主持人根據(jù)答題結(jié)果實(shí)行增減分的操作,并將分?jǐn)?shù)顯示在屏幕上,評出最終贏家。基于VHDL的多路搶答器的設(shè)計(jì)方案1 緒論 隨著集成技術(shù)的發(fā)展,尤其是中、大規(guī)模和超大規(guī)模集成電路的發(fā)展,數(shù)字電子技術(shù)的應(yīng)用越來越多地滲透到國民經(jīng)濟(jì)的各個部門,目前數(shù)字電子技術(shù)已經(jīng)廣泛應(yīng)用于計(jì)算機(jī)、自動控制、電子測量儀表、電視、雷達(dá)、通信等各個領(lǐng)域。所以我們在設(shè)計(jì)智能搶答器的模塊需要滿足鑒別、計(jì)時、計(jì)分、數(shù)顯等功能,具體設(shè)計(jì)要求如下: (1)搶答器可容納四組選手,并為每組選手設(shè)置一個按鈕供搶答者使用;為主持人設(shè)置一個控制按鈕,用來控制系統(tǒng)清零(組別顯示數(shù)碼管滅燈)和搶答開始; (2)電路具有對第一搶答信號的鎖存、鑒別和顯示等功能。主持人對搶答結(jié)果進(jìn)行確認(rèn),隨后,計(jì)時模塊送出倒計(jì)時計(jì)數(shù)允許信號,開始回答問題,計(jì)時顯示器則從初始值開始以計(jì)時,在規(guī)定的時間內(nèi)根據(jù)答題的正誤來確定加分或減分,并通過數(shù)碼顯示模塊將成績顯示出來。同時組別顯示端為下一模塊輸入信號,以方便主持人為該組搶答成功者進(jìn)行加減分的操作。計(jì)時模塊可分作兩部分:(1)預(yù)置數(shù);(2)60秒倒計(jì)時?!?】其用VHDL語言進(jìn)行編程的流程圖如下: 開始LDN=0CLR=0LDN=1CLK上升沿EN=1TA=1TA=0QA=QA+1QB=QB=1圖34 搶答計(jì)時模塊的流程圖 計(jì)分模塊 計(jì)分模塊的運(yùn)行方式是按照十進(jìn)制進(jìn)行加減,即當(dāng)時鐘出現(xiàn)上升沿時就進(jìn)行加一或者減一的操作。如:01110001=0110,用加法實(shí)現(xiàn):0111+1111=10110。[4] 搶答器的系統(tǒng)實(shí)現(xiàn)單獨(dú)模塊只有彼此聯(lián)系起來構(gòu)成一個完整的系統(tǒng),才能實(shí)現(xiàn)其功能,這個過程有兩種實(shí)現(xiàn)方法:①元件例化。當(dāng)計(jì)時使能端EN為低電平,預(yù)置時間設(shè)置信號LDN=1時,通過計(jì)時預(yù)置數(shù)據(jù)調(diào)整按鈕TA、TB進(jìn)行預(yù)置數(shù)。利用Quartus II進(jìn)行編譯,綜合,仿真,時序圖如下: 圖42 計(jì)時模塊的仿真時序圖引腳作用: 系統(tǒng)輸入信號:系統(tǒng)清零信號CLR,計(jì)時預(yù)置控制端LDN,計(jì)時使能端EN,系統(tǒng)時鐘信號CLK,計(jì)時預(yù)置數(shù)據(jù)調(diào)整按鈕TA、TB。由仿真圖310可知以下情況:(1)系統(tǒng)設(shè)計(jì)過程中,當(dāng)計(jì)分復(fù)位端RST=1時,并且組別輸入信號CHOS=0000,其中的組別輸入信號是搶答鑒別模塊的輸出信號,計(jì)分器復(fù)位,此時以上四組都不會產(chǎn)生加減分操作。當(dāng)CHOS=1000時,即D搶答成功時,減分鍵SUB輸入四個脈沖,DD1加到4,說明減分成功,成績變?yōu)?0分。,本產(chǎn)品還有需要改進(jìn)的地方,如管腳過多,實(shí)際連接時不夠簡潔,容易造成連接錯誤。這次設(shè)計(jì)也使我意識到,理論與時間之間的距離有多大。在此還要感謝實(shí)驗(yàn)室的老師們,謝謝你們在我需要的時候?yàn)槲掖蜷_實(shí)驗(yàn)室的門,謝謝你們的信任。USE 。ARCHITECTURE ONE OF LOCK IS BEGIN PROCESS(CLEAR,CLK,S0,S1,S2,S3 ) BEGIN IF (CLEAR = 39。139。039。 ELSIF ( S2 =39。 ) THEN STATES = 0011 。039。139。 AND S1=39。 LED=0000。ENTITY ALARM IS PORT(CLEAR,WARN: IN STD_LOGIC。139。 (2)LIBRARY IEEE。 BEGIN a := S3 amp。139。 WARNS=39。039。 CHOOSE: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。bb0=0000。) THEN IF(ADD=39。139。139。 ELSIF (CHOOSE=1000) THEN IF(dd0=1001) THEN dd0=0000。 END IF。 END IF。139。 cc1=cc139。 ELSE dd0=1001。 END IF。 END PROCESS。139。 END IF。 ELSE bb0=bb039。139。139。 ELSE dd1=dd1+39。 ELSIF( CHOOSE=0100) THEN IF(cc0=1001) THEN cc0=0000。 ELSIF (CHOOSE=0010) THEN