競賽搶答器的設計_第1頁
競賽搶答器的設計_第2頁
競賽搶答器的設計_第3頁
競賽搶答器的設計_第4頁
競賽搶答器的設計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

2014年3月7日東北石油大學課程設計任務書 主要內(nèi)容、基本要求、主要參考資料等設計一個可容納6組參賽的數(shù)字式搶答器,當?shù)谝粋€人按下?lián)尨鸢粹o時,其他組的按鈕不起作用。當1、設計一個可容納6組參賽的數(shù)字式搶答器,每組設一個按鈕,供搶答使用。2、搶答器具有第一信號鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。4、主持人復位后,開始搶答,第一信號鑒別鎖存電路得到信號后,有指示燈顯示搶答組別,揚聲器5、設置一個計分電路,每組開始預置100分,由主持人記分,答對一次加10分,答錯一次減10分。完成期限2014.3.7指導教師專業(yè)負責人2014年3月3日1搶答能引起參賽者和觀眾的極大興趣,并且能在極短的時間內(nèi),使人們迅速增加一些科學知識和生活常識。但是,在這類比賽中,對于誰先誰后搶答,在何時搶答,如何計算答題時間等等問題,若是僅憑主持人的主觀判斷,就很容易出現(xiàn)誤判。所以,我們就需要一種具備自動鎖存,置位,清零等功能智能搶答器來解決這些問題。系統(tǒng)進入搶答狀態(tài),計時模塊和計分模塊輸出初始信號給數(shù)碼顯示模塊并顯示出初始值。當某參賽組搶先將搶答鍵按下時,系統(tǒng)將其余五路搶答信號封鎖,同時揚聲器發(fā)出聲音提示,組別顯示模塊送出信號給數(shù)碼顯示模塊,從而顯示出該搶答成功組臺號,并一直保持到下一輪主持人將系統(tǒng)清零為止。主持人對搶答結果進行確認,隨后,計時模塊送出倒計時計數(shù)允許信號,開始回答問題,計時顯示器則從初始值開始以計時,在規(guī)定的時間內(nèi)根據(jù)答題的正誤來確定加分或減分,并通過數(shù)碼顯示模塊將成績顯示出來。當主持人給出倒計時停止信號時,揚聲器停止鳴叫。若參賽者在規(guī)定時間內(nèi)回答完為題,主持人可給出倒計時計數(shù)停止信號,以免揚聲器鳴叫。主持人按下復位鍵,即RST為高電平有效狀態(tài),清除前一次的搶答組別,又可開始新的一輪的搶答。此搶答器的設計中采用自頂向下的設計思路,運用VHDL硬件描述語言對各個模塊進行層次化、系統(tǒng)化的描述,并且先設計一個頂層文件,再把各個模塊譯碼主電路預制圖一搶答器總體框圖2根據(jù)圖一搶答器總體框圖,本設計可分為以下幾個模塊:(1)搶答判別模塊:它的功能是鑒別六組中是哪組搶答成功并且把搶答成功的組別信號輸出給鎖存模塊。(2)搶答器計分模塊:由主持人控制,針對選手的答題情況,進行加分或減分。(3)數(shù)據(jù)選擇模塊:主要實現(xiàn)搶答過程中的數(shù)據(jù)輸入功能。(4)顯示報警模塊:就是把各個模塊的輸入的不同信號經(jīng)過譯碼成BCD碼然后直接在數(shù)碼管上顯示,還可以加上蜂鳴器的聲音,更能給觀眾一個準確、簡明的數(shù)字。(5)譯碼模塊:主要原理是四位二進制BCD編碼轉換成七段二進制數(shù)字。(6)頂層模塊:在這個模塊中是對前面模塊的綜合編寫的頂層文件。1、搶答器鑒別模塊:在這個模塊中主要實現(xiàn)搶答過程中的搶答功能,并能能實現(xiàn)當有一路搶答按鍵按下時,該路搶答信號將其余過濾搶答封鎖的功能。其中有六個搶答信號S1、S2、S3、S4、S5、S6;搶答使能信號EN;搶答狀態(tài)顯示信號STATES;搶答與警報時鐘信號CLK2;系統(tǒng)復位信號RST;警報信號TMP。s2.tmp圖二搶答器鑒別模塊圖ENTITYQDJBISPORT(RST,EN,CLK2:INSTDLOGIC;_STATES:BUFFERSTDLOGICVECTOR(3DOWNTO3_IFRST='1'THENG<="000000";TMP<='O';LED<="000000";IFEN='1'OREN='O’THENIF(S5='1')ANDNOT(G(6)='1’ORG(1)='1’ORG(2)='1'0RG(3)='1’ORG(5)<='1';LED(5)<='l';ELSIF(S4='1')ANDNOT(G(6)='1’ORG(1)='1’0R.G(2)='1'0RG(3)='1'G(4)<='1';LED(4)<='l';ELSIF(S3='1')ANDNOT(G(6)='1’ORG(1)='1’OR.G(2)='1’ORG(4)='1'G(3)<='1';LED(3)<='1';ELSIF(S2='1')ANDNOT(G(6)='1’ORG(1)='13ORG(3)='1’ORG(4)='I'ORG(5)='1')THENG(2)<='1';LED(2)<='13;ELSIF(S1='1')ANDNOT(G(6)='1'ORG(2)='1'ORG(3)='1'ORG(4)='.1'ORG(5)='1')THENG(1)<='1';LED(1)<='i';ELSIF(S6='1')ANDNOT(G(1)='1’ORG(2)='1'ORG(3)='1’0RG(4)='1'ORG(5)='13)THENG(6)<='1';LED(6)<='12;WHEN”000001”=>STATES<="0001";WHEN"000010”=>STATES<="0010";WHEN"000100"=>STATES<="0011";WHEN"001000"=>STATES<="0100";WHEN"010000"=>STATES<="0101";WHEN"100000"=>STATES<="0110";WHENOTHERS=>STATES<="0000";2、搶答器記分模塊:在這個模塊中主要是給六個搶答信號記分,并給每個搶答信號預置100分,當搶答并答對時加10分,答錯減10分,沒有獲得搶答保持不變。其中有搶答使能信號START;搶答狀態(tài)顯示信號STATES;記分加減信號ADD,SUB;六個信號的得分輸出信號AA2,AA1,AA0,BB2,BB1,BBO,CC2,CC1,CCO,DD2,DD1,DDO,EE2,EE1,EE0,FF2,FF1,FF0。計分模塊用VHDL語言進行編程的流程圖如下:初始值100分。ADD=1參賽者加10分參賽者減10分45LIBRARYIEEE;USEIEEE.STDLOGIC1164.ALL;__USEIEEE.STDLOGICUNSIGNED.ALL;__ENTITYJFQISPORT(START:INSTDLOGIC,ADD,SUB:INSTDLOGIC;_NUM:INSTDLOGICVECTOR(3DOWNTO0);AA2,AA1,AAO,BB2,BB1,BBO:OUTSTDLOGICVECTOR(3DOWNTO0);CC2,CC1,CCO,DD2,DD1,DDO:OUTSTDLOGICVECTOR(3DOWNTO0);EE2,EE1,EE0,FF2,FF1,FFO:OUTSTDLOGICVECTOR(3DOWNTO0));END,ENTITYJFQ;ARCHITECTUREARTOFJFQISBEGINP1:PROCESS(START,ADD,NUM)ISVARIABLEPOINTSA2,POINTSA1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSB2,POINTSB1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSC2,POINTSC1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSD2,POINTSD1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSE2,POINTSE1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSF2,POINTSF1:STDLOGICVECTOR(3DOWNTOBEGINIF(ADD'EVENTANDADD='1')THENIFSTART='I’THENPOINTSA2:="0001";POINTSA1:="0000";__POINTSB2:="0001";POINTSB1:="0000";__POINTSC2:="0001";POINTSC1:="0000";__POINTSD2:="0001";POINTSD1:="0000";__POINTSE2:="0001";POINTSE1:="0000";__6POINTSF2:="0001";POINTSF1:="0000"ELSIFNUM="0001"THENIFPOINTSA1="1001"THEN_IFPOINTSA2="1001"THENELSEPOINTSA2:=POINTSA2+'l';ENDIF;ELSEPOINTSA1:=POINTSA1+'1';__ENDIFELSIFNUM="0010"THENIFPOINTSB1="1001"THENIFPOINTSB2="1001"THENELSEPOINTSB2:=POINTSB2+'1'__ENDIF;ELSEPOINTSB1:=POINTSB1+'1';__ENDIF,ELSIFNUM="0011"THENIFPOINTSC1="1001"THEN_IFPOINTSC2="1001"THENELSEPOINTSC2:=POINTSC2+'1';__ENDIF,ELSEPOINTSC1:=POINTSC1+'1';ENDIF;ELSIFNUM="0100"THENIFPOINTSD1="1001"THENIFPOINTSD2="1001"THEN_ELSEPOINTSD2:=POINTSD2+'1';__ENDIF,ELSEPOINTSD1:=POINTSD1+*1';__ENDIF;ELSIFNUM="0101"THENIFPOINTSE1="1001"THEN_IFPOINTSE2="1001"THEN_POINTSA1:="0000"POINTSA2:="0000"_POINTSB1:="0000"POINTSB2:="0000"POINTSC1:="0000"POINTSC2:="0000";POINTSD1:="0000";POINTSD2:="0000";POINTSE1:="0000";POINTSE2:="0000";7ELSEPOINTSE2:=POINTSE2+'1';__ELSEPOINTSE1:=POINTSE1+'1'_ELSIFNUM=“0110”THENIFPOINTSF2="1001"THENELSEPOINTSF2:=POINTSF2+'1'__ELSEPOINTSF1:=POINTSF1+'1';__ENDIFP2:PROCESS(START,DEC,NUM)ISPOINTSF1:="0000";POINTSF2:="0000";_VARIABLEPOINTSA2,POINTSA1:STDLOGICVECTOR(3VARIABLEPOINTSB2,POINTSB1:STDLOGICVECTOR(3DOWNTO.0);VARIABLEPOINTSC2,POINTSC1:STDLOGICVECTOR(VARIABLEPOINTSD2,POINTSD1:STDLOGICVECTOR(3VARIABLEPOINTSE2,POINTSE1:STDLOGICVECTOR(3.VARIABLEBEGINPOINTSF2,POINTSF1:STDLOGICVECTOR(3IF(SUB'EVENTANDPOINTSA2:="0001";POINTSA1:="0000";__POINTSB2:="0001";POINTSB1:="0000";__POINTSC2:="0001";POINTSC1:="0000";__POINTSD2;="0001";POINTSD1:="0000";__POINTSE2:="0001";POINTSE1:="0000";__POINTSF2:="0001";POINTSF1:="0000";__ELSIFNUM=“0001”THENIFPOINTSA1="0000"THENPOINTSA1:="1001";__8IFPOINTSA2="0000"THEN_ELSEPOINTSA2:=POINTSA2-'1';__ENDIF;ELSEPOINTSA1:=POINTSA1-'1';__ENDIF;ELSIFNUM=“0010”THENIFPOINTSB1="0000"THEN_IFPOINTSB2="0000"THEN_ELSEPOINTSB2:=POINTSB2-'1';__ENDIF;ELSEPOINTSB1:=POINTSB1-'1';__ELSIFNUM="0011"THENIFPOINTSCl="0000"THENIFPOINTSC2="0000"THENELSEPOINTSC2:=POINTSC2-'1';__ENDIF;ELSEPOINTSC1:=POINTSC1-'1';__ENDIF;ELSIFNUM="0100"THENIFPOINTSD1="0000"THENIFPOINTSD2="0000"THENELSEPOINTSD2:=POINTSD2-'1';_ENDIF,ELSEPOINTSD1:=POINTSD1='1';ENDIF;ELSIFNUM="0101"THENIFPOINTSE1="0000"THENIFPOINTSE2="0000"THENELSEPOINTSE2:=POINTSE2-'1';__ENDIF,ELSEPOINTSE1:=POINTSE1-'1';__POINTSA2:="1001"POINTSB1:="1001";POINTSB2:="1001";POINTSC1:="1001";POINTSC2:="1001";POINTSD1:="1001";POINTSD2:="1001";POINTSE1:="1001";POINTSE2:="1001";IFPOINTSF1="0000"THENPOINTSF1:="1001";IFPOINTSF2="0000"THENPOINTSF2:="1001";_ELSEPOINTSF2:=POINTSF2-'1';__ELSEPOINTSF1:=POINTSF1-'1';__AA2<=POINTSA2;AA1<=POINTSA1;AAO<="0000";__BB2<=POINTSB2;BB1<=POINTSBl;BBO<="0000";__CC2<=POINTSC2;CCl<=POINTSC1;CCO<="0000";__DD2<=POINTSD2;DD1<=POINTSD1;DDO<="0000";__EE2<=POINTSE2;EE1<=POINTSE1;EEO<="0000";__FF2<=POINTSF2;FF1<=POINTSF1;FFO<="0000";__ENDARCHITECTUREART;3、數(shù)據(jù)選擇模塊:在這個模塊中主要實現(xiàn)搶答過程中的數(shù)據(jù)輸入功能,輸入信號A[3..0]、B[3..0]、C[3..0]、D[3..0]、E[3..0]、F[3..0];計數(shù)輸出信號S;數(shù)據(jù)輸出信號Y;使能端EN;計數(shù)脈沖CLK2,實現(xiàn)A、B、C、D、E、F按脈沖輪流選通,在數(shù)碼管上顯示。程序:LIBRARYIEEE,__PORT(A,B,C,D,E,F:INSTDLOGICVECTOR(3,DOWNTO0);CLK2,RST,EN:INSTDLOGIC,S:OUTSTD.LOGICVECTOR(2DOWNTO0);Y:OUTSTDLOGICVECTOR(3DOWNTO0));BEGINPROCESS(CLK2,RST)BEGINIF(RST='1')THENCOUNT<="000";IF(COUNT>="101")THENCOUNT<="000";ELSECOUNT<=COUNT+1;WHEN"000"=>Y<=E;WHEN"010"=>Y<=C;WHEN"011"=>Y<=F;WHEN“100”=>Y<=A;WHEN"101"=>Y<=D;WHENOTHERS=>NULL;4、報警模塊:當某組的選手搶答成功之后,為了讓主持人第一時間反應到搶答的成功,系統(tǒng)需要設置一個聲響報警裝置,來提示主持人對其他選手的搶答信號進行屏蔽。該模塊在系統(tǒng)中是十分必要的,聲音響起,可以節(jié)約不少時間,為比賽的順利進行爭取時間。在這個模塊中主要實現(xiàn)搶答過程中的報警功能,當主持人按下控制鍵,有限時間內(nèi)有人搶答,有效電平輸入信號WARN;狀態(tài)輸出信號SOUND;復位端RST。BEGIN5、譯碼模塊:該模塊實際上是一個譯碼器,作用是用來顯示組別,時間和成績,其主要原理是四位二進制BCD編碼轉換成七段二進制數(shù)字,以阿拉伯數(shù)字的形式輸出在數(shù)碼管上,使觀眾能夠更直觀的看到結果。譯碼器的譯碼對照表1如下所示:顯示的數(shù)字/字母BCD編碼七段數(shù)碼管2.進制0123456789X表1譯碼器的譯碼對照表備注:在程序中只考慮0000-1001(即0-9)的情況,將其轉化為相應的七段顯示器的碼子,其他情況不予考慮。__USEIEEE.STDLOGICUNSIGNEDALL__PROCESS(AIN4)ENDCASE,ENDPROCESSENDART;程序LIBRARYIEEEUSEIEEE.STDLOGIC1164.ALL;__USEIEEE.STDLOGICARITH.ALLENTITYQIANGDAQIISM:OUTSTDLOGICVECTOR(1DOWNTO0);A,B,C,D,E,F,G:OUTSTDLOGIC);ENDQIANGDAQI;ARCHITECTUREBHVOFQIANGDAQIISCOMPONENTQDJBISPORT(CLK2,RST:INSTDLOGIC;S0,S1,S2,S3,S4,S5:INSTDLOGIC;_TMP:OUTSTDLOGIC,_STATES:OUTSTDLOGICVECTOR(5DOWNTO0));COMPONENTJSISPORT(CLK,RST,S,STOP:INSTDLOGIC;WARN:OUTSTDLOGIC;_COMPONENTALARMIS_A<=LEDOUT(6);B<=LEDOUT(5);C<=LEDOUT(4);D<=LEDOUT(3);E<=LEDOUT(2)U1:QDJBPORTMAP(CLK2RSTTMPSTATESXSTATESOUTUSJXZPORTMAPCLKCLKRSTRSTSTATESOUTTAOUTYMQPORTMAPAINYOUTDOUTLED2、仿真及仿真結果分析搶答鑒別模塊仿真圖王日田mMasrerTimeBarEndYalueatNsms0AūA1k.01u生胚8單U.0ps1.311ms2.621msmsns王日田mMasrerTimeBarEndYalueatNsms0AūA1k.01u生胚8單U.0ps1.311ms2.621msmsnsmsms聯(lián)于15.825Irrsi9.9wmp8ET11m%m225F13mSSm7834n=Tm58T5nsc1l2]它t5里圖四搶答鑒別模塊仿真圖搶答器記分模塊仿真圖ADD00,U日0CH.CH.CH.1U'ELECC生dd1圖五搶答器記分模塊仿真圖數(shù)據(jù)選擇模塊仿真圖MtasterTimeBar15.675mFoinler2.88msInterval2.88ms;StarttNane15.675.ns050010001001B.01正 0010001001B.01正 T圖六數(shù)據(jù)選擇模塊仿真圖圖七報警模塊仿真圖譯碼模塊仿真圖P811m2.621m32932m35.243ms6.884/msY86.4m0175m5 3P811m2.621m32932m35.243ms6.884/msY86.4m0175m5 3YalusAⅡ4DOUT?BO1A圖八譯碼模塊仿真圖MeieTingEsnInlenyel37.54End

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論