VHDL語言智能搶答器實驗設計_第1頁
VHDL語言智能搶答器實驗設計_第2頁
VHDL語言智能搶答器實驗設計_第3頁
VHDL語言智能搶答器實驗設計_第4頁
VHDL語言智能搶答器實驗設計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河南農(nóng)業(yè)大學課程設計報告 設計題目:智能搶答器的VHDL語言實驗報告學 院: 理 學 院 專 業(yè): 電子信息科學與技術(shù) 學 號: 班 級: 07級電科(2)班 姓 名: 王 曉 南 電子郵件: 日 期: 2011年01月 08 日 成 績: 指導教師: 河 南 農(nóng) 業(yè) 大 學理 學 院課 程 設 計 任 務 書學生姓名 王 曉 南 指導教師 賈 樹 恒 林 愛 英 學生學號 專業(yè) 電子信息科學與技術(shù) 題目 智能搶答器VHDL語言實驗報告 任務與要求設計要求:1.搶答器同時供4名選手或4個代表隊比賽,分別用4個按鈕S0 S3表示。2.設置一個系統(tǒng)清除和搶答控制開關S,該開關由主持人

2、控制。3搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,并在LED數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。4. 搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如30秒)。當主持人啟動“開始”鍵后,定時器進行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。5. 如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。技術(shù)要點:1、實現(xiàn)封鎖功能; 3、總程序的編譯、仿真、打包并下載到實驗箱。工作內(nèi)容及安排工作內(nèi)容:1、編程、仿真、打包、編輯總程序,編譯。2、下載到實

3、驗箱,驗證結(jié)果。進度安排:前兩次實驗上機調(diào)試程序;接下來級次實驗下載驗證,做硬件實驗;最后課設驗收并總結(jié)報告。課程設計成果 1與設計內(nèi)容對應的軟件程序 2課程設計報告書3成果使用說明書 4設計工作量要求開始日期 2010年12月12 日 完成日期 2011年01月08 日 課程設計所在單位 理 學 院 電 子 科 學 系 智能搶答器VHDL語言實驗報告一實驗目的在MAX+plusII軟件平臺上,熟練運用VHDL語言。完成智能搶答器設計的軟件編程、編譯、綜合、仿真。使用EDA實驗箱,實現(xiàn)智能搶答器的硬件功能。通過實驗練習理論與實際的結(jié)合,提高變通和動手能力。二設計要求在搶答比賽中,為了公平起見一

4、般要求系統(tǒng)具備以下功能:1) 設計制作一個可容納四組參賽者的數(shù)字智力搶答器,每組設置一個搶答按鈕供搶答者使用。2) 第一搶答信號的鑒別和鎖存功能。3) 設置計時功能。4) 設置記分功能。5) 數(shù)碼顯示功能。三、實驗原理和硬件要求模塊分析:根據(jù)搶答器的功能要求,可以得出下圖所示的模塊結(jié)構(gòu)圖。其中,搶答模塊(QDJB)為整個程序的核心,它實現(xiàn)了系統(tǒng)的搶答器線路測試功能. 第一搶答信號的鑒別和鎖存功能等其它功能;計分模塊(JFQ)實現(xiàn)計分功能;計時模塊(JSQ)則具有倒計時及計時完畢功能;顯示模塊(YMQ)具有數(shù)碼顯示分數(shù)功能。 圖2.1.0 搶答器系統(tǒng)結(jié)構(gòu) 一個顯示分數(shù)原理分析:將電路分為三個主要

5、模塊:搶答鑒別模塊QDJB;計時模塊JSQ;記分模塊JFQ??捎渺o態(tài)顯示,使用4個數(shù)碼管,兩個顯示計時,一個顯示組別,四、方案設計與論證設計分析與設計思路:1) 搶答器同時供4名選手或4個代表隊比賽,搶答按鈕分別用A B C D 表示,A B C D為高電平則表示相應的按鈕被按下。2) 系統(tǒng)清零信號CLR,系統(tǒng)時鐘信號CLK,記分復位端RST,加分按鈕端ADD,計時預置控制端LDN,計時使能端EN,計時預置數(shù)據(jù)調(diào)整按鈕TA; TB。3) 系統(tǒng)的輸出信號有:四組搶答成功與否的指示燈控制信號輸出口 LEDA;LEDB;LEDC;LEDD,四個組搶答時的計時數(shù)碼顯示控制信號,搶答成功組別顯示的控制信

6、號若干,各組記分動態(tài)顯示的控制信號若干。4) 本系統(tǒng)應具有的功能有:第一搶答信號的鑒別和鎖存功能,搶答計時功能,各組得分的累加和動態(tài)顯示功能,搶答犯規(guī)記錄功能。五、各個模塊的程序?qū)崿F(xiàn)與仿真分析1、搶答鑒別模塊QDJB各組的搶答輸入信號A B C D的排列組合在理論上應該有16種可能情況,但實際上由于芯片的反應速度快到一定的程度時,兩組以上同時搶答成功的可能性很小,所以設計時可只考慮A B C D分別搶答成功的四種情況。其VHDL源程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS PORT(CLR: IN STD_LOG

7、IC; A, B, C, D: IN STD_LOGIC;-4個組 A1,B1,C1,D1: OUT STD_LOGIC; STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY QDJB; ARCHITECTURE ART OF QDJB ISsignal a_1,b_1,c_1,d_1: STD_LOGIC; BEGIN PROCESS(CLR,A,B,C,D) IS BEGINIF CLR=1 THEN STATES=0000;a_1=0;b_1=0;c_1=0;d_1=0;-清零ELSIF a_1=1 or b_1=1 or c_1=1

8、 or d_1=1 then null;-鎖存,當有一組選中時其他組再搶答沒作用ELSIF a=1 then a_1=1;STATES =0001;ELSIF b=1 then b_1=1;STATES =0010;ELSIF c=1 then c_1=1;STATES =0011;ELSIF d=1 then d_1=1;STATES =0100;END IF;a1=a_1;b1=b_1;c1=c_1;d1=d_1; END PROCESS; END ARCHITECTURE ART;圖2.2.0 搶答鑒別模塊(QDJB)仿真波形 圖2.2.1 搶答鑒別模塊(QDJB)框圖2、計時模塊JSQ

9、本系統(tǒng)的計時器電路既有計時初始值的預置功能,又有減計數(shù)功能。其中,初始值的預置功能是將兩位數(shù)分解成兩個數(shù)分別進行預置。其VHDL源程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ IS PORT(CLR,LDN,EN,CLK: IN STD_LOGIC; TA,TB:IN STD_LOGIC_vector(3 DOWNTO 0); QA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -ge wei QB:OUT STD_LOGIC_VECT

10、OR(3 DOWNTO 0); -shi weiEND ENTITY JSQ; ARCHITECTURE ART OF JSQ IS BEGIN PROCESS(CLK) IS VARIABLE TMPA:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE TMPB:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLR=1 THEN TMPA:=0000; TMPB:=0110; -清零,倒計時60秒 ELSIF CLKEVENT AND CLK=1 THEN IF LDN=1 THEN TMPA:=tA; TMPB:=tB; -置數(shù)控

11、制,如果不想要60可以從TA,TB輸入倒計時秒數(shù) ELSIF EN=1 THEN-計時開始 IF TMPA=0000 THEN-遇到9則自動變?yōu)?,否則減一 TMPA:=1001; IF TMPB=0000 THEN TMPB:=0110; ELSE TMPB:=TMPB-1; END IF; ELSE TMPA:=TMPA-1; END IF; END IF; END IF; QA=TMPA; QB=TMPB; END PROCESS; END ARCHITECTURE ART;圖2.3.1 計時模塊(JSQ)仿真波形框圖圖2.3.0 計時模塊(JSQ)仿真波形3、記分模塊JFQ 搶答計分電

12、路的設計一般按一定數(shù)制進行加減即可,但隨著計數(shù)數(shù)目的增加,要將計數(shù)數(shù)目分解成十進制并進行譯碼顯示會變得較為復雜。為了避免該種情況,通常是將一個大的進制分解為數(shù)個十進只以內(nèi)的進制數(shù),并將計數(shù)器級聯(lián)。但隨著數(shù)位的增加,電路的接口也會相應增加。因此,本設計采用IF語句從低往高判斷是否有進位,以采取響應的操作,既減少了接口,又簡化了設計。其VHDL源程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JFQ IS PORT(RST: IN STD_LOGIC; ADD: IN S

13、TD_LOGIC; CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0); OUT1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY JFQ ; ARCHITECTURE ART OF JFQ IS BEGIN PROCESS(RST,ADD,CHOS) IS VARIABLE POINTS_A0: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_B0: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_C0: STD_LOGIC_VECTOR

14、(3 DOWNTO 0); VARIABLE POINTS_D0: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF (ADDEVENT AND ADD=1) THEN IF RST=1 THEN POINTS_A0:=0000; POINTS_B0:=0000; POINTS_C0:=0000; POINTS_D0:=0000; ELSIF CHOS=0001 THEN IF POINTS_A0=1001 THEN POINTS_A0:=0000; ELSE POINTS_A0:=POINTS_A0+1; END IF; ELSIF CHOS=0010 THEN

15、IF POINTS_B0=1001 THEN POINTS_B0:=0000; ELSE POINTS_B0:=POINTS_B0+1; END IF; ELSIF CHOS=0011 THEN IF POINTS_C0=1001 THEN POINTS_C0:=0000; ELSE POINTS_C0:=POINTS_C0+1; END IF; ELSIF CHOS=0100 THEN IF POINTS_D0=1001 THEN POINTS_D0:=0000; ELSE POINTS_D0:=POINTS_D0+1; END IF; END IF; END IF; IF chos=000

16、1 then out1=POINTS_a0;ELSIF chos=0010 then out1=POINTS_b0;ELSIF chos=0011 then out1=POINTS_c0;ELSIF chos=0100 then out1=POINTS_D0;ELSIF chos=0000 then out1DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=; END CASE; END PROCESS; END ARCHITECTURE ART; 圖2.5.0 譯碼器顯示模塊(YMQ)仿真波形圖2.5.1譯碼器顯示模塊(YMQ)框

17、圖六、搶答器的動態(tài)實現(xiàn)的程序和仿真1、記時功能LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jfq ISPORT(rst: IN STD_LOGIC;add:IN STD_LOGIC;chos:IN STD_LOGIC_VECTOR (3 DOWNTO 0);PP2,PP1,PP0:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END ENTITY jfq;ARCHITECTURE art OF jfq ISSIGNAL aa2,aa1,aa0,bb2,bb1

18、,bb0: STD_LOGIC_VECTOR (3 DOWNTO 0);SIGNAL cc2,cc1,cc0,dd2,dd1,dd0: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGIN PROCESS(rst,add,chos) ISVARIABLE points_a2,points_a1: STD_LOGIC_VECTOR (3 DOWNTO 0);VARIABLE points_b2,points_b1: STD_LOGIC_VECTOR (3 DOWNTO 0);VARIABLE points_c2,points_c1: STD_LOGIC_VECTOR (3 DO

19、WNTO 0);VARIABLE points_d2,points_d1: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINIF(ADDEVENT AND ADD=1) THENIF RST=1THENPOINTS_A2:=0001;POINTS_A1:=0000;POINTS_B2:=0001;POINTS_B1:=0000;POINTS_C2:=0001;POINTS_C1:=0000;POINTS_D2:=0001;POINTS_D1:=0000;ELSIF CHOS=0001THENIF POINTS_A1=1001THENPOINTS_A1:=0000;IF P

20、OINTS_A2=1001THENPOINTS_A2:=0000;ELSEPOINTS_A2:=POINTS_A2+1;END IF;ELSEPOINTS_A1:=POINTS_A1+1;AA2=points_A2;AA1= points_A1;AA0=0000;PP2=AA2;PP1=AA1;PP0=AA0;END IF;ELSIF CHOS=0010THENIF POINTS_B1=1001THENPOINTS_B1:=0000;IF POINTS_B2=1001THENPOINTS_B2:=0000;ELSEPOINTS_B2:=POINTS_B2+1;END IF;ELSEPOINTS

21、_B1:=POINTS_B1+1;BB2= points_B2;BB1= points_B1;BB0=0000;PP2=BB2;PP1=BB1;PP0=BB0;END IF;ELSIF CHOS=0100THENIF POINTS_C1=1001THENPOINTS_C1:=0000;IF POINTS_C2=1001THENPOINTS_C2:=0000;ELSEPOINTS_C2:=POINTS_C2+1;CC2= points_C2;CC1= points_C1;CC0=0000;PP2=CC2;PP1=CC1;PP0=CC0;END IF;ELSEPOINTS_C1:=POINTS_C

22、1+1;END IF; ELSIF chos=1000 THENIF points_D1=1001 THENPoints_D1:=0000; IF points_D2=1001 THENPoints_D2:=0000;ELSEPoints_D2:=points_D2+1; END IF; ELSEPoints_D1:=points_D1+1;DD2= points_D2;DD1= points_D1;DD0=0000; PP2=DD2;PP1=DD1;PP0=DD0;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE art; 圖3.1 記分模塊

23、(jfq)仿真波形2、 記分功能LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jsq ISPORT(clr,ldn,en,clk: IN STD_LOGIC;TA,Tb: IN STD_LOGIC;Qa: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);Qb: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END ENTITY jsq;ARCHITECTURE art OF jsq ISSignal da: STD_LOGIC_VECTOR

24、 (3 DOWNTO 0);Signal db: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINPROCESS (ta,tb,clr) ISBEGIN IF clr=1 THEN Da=0000;db=0000;ELSEIF ta=1 THEN da=da+1;END IF;IF tb=1 THENdb=db+1;END IF;END IF;END PROCESS;PROCESS (clk) ISvariable tmpa: STD_LOGIC_VECTOR (3 DOWNTO 0);variable tmpb: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINIF clr=1 THEN tmpa:=0000;tmpa:=0110; ELSIF clkevent and clk=1 THENIF ldn=1 THEN tmpa:=da;tmpb:=db;ELSIF en=1 THENIF tmpa=0000 THENtmpa:=1001;IF tmpb=0000 THEN tmpb:=0110;ELSE tmpb:=tmpb-1;END IF; ELSE tmpa:=tmpa-1;END IF;END IF;END IF;qa=tmpa; qb=tmpb; END PROCESS;END ARC

溫馨提示

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

最新文檔

評論

0/150

提交評論