九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

數(shù)字電路課程設(shè)計(jì):基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)的設(shè)計(jì)

上傳人:good****022 文檔編號(hào):116636524 上傳時(shí)間:2022-07-06 格式:DOC 頁(yè)數(shù):28 大?。?43.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)字電路課程設(shè)計(jì):基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)的設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共28頁(yè)
數(shù)字電路課程設(shè)計(jì):基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)的設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共28頁(yè)
數(shù)字電路課程設(shè)計(jì):基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)的設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共28頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《數(shù)字電路課程設(shè)計(jì):基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)字電路課程設(shè)計(jì):基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)的設(shè)計(jì)(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、數(shù)字電路課程設(shè)計(jì)項(xiàng)目名稱:基于FPGA和VHDL語(yǔ)言的智能搶答器控制系統(tǒng)設(shè)計(jì)設(shè)計(jì)者:劉偉謙學(xué)號(hào):20080711210同組成員:陳顯富 倪文斌設(shè)計(jì)時(shí)間:2010年12月(1)智能搶答器功能描述: 通過(guò)實(shí)驗(yàn)平臺(tái)的鍵盤和LED顯示器來(lái)模擬實(shí)際場(chǎng)景中的搶答過(guò)程,所有功能在實(shí)驗(yàn)平臺(tái)上都已模擬通過(guò),其具體功能如下:1 根據(jù)設(shè)計(jì)要求設(shè)計(jì)8個(gè)搶答鍵、1個(gè)主持人開(kāi)始搶答鍵、1個(gè)答題正確加分鍵、1個(gè)答題錯(cuò)誤減分鍵、1個(gè)復(fù)位鍵。2 主持人開(kāi)始搶答鍵按下后,系統(tǒng)可以鎖存最先按下?lián)尨疰I組的信息,并在LED上顯示。3 在答題完成后,主持人可以根據(jù)答題正確與否,進(jìn)行加減分操作,在LED上顯示分?jǐn)?shù)。4 可以在LED上顯示搶

2、答和答題時(shí)間。5 主持人按下開(kāi)始搶答鍵前,若有搶答鍵被按下,則會(huì)在LED上顯示犯規(guī)組號(hào),同時(shí)蜂鳴器發(fā)聲。6 實(shí)現(xiàn)系統(tǒng)總清零。7 具有一定擴(kuò)展功能。(2)設(shè)計(jì)要求:1.分析設(shè)計(jì)任務(wù),擬定多種設(shè)計(jì)方案,根據(jù)當(dāng)時(shí)的制作條件,選定適合的方案繪制框圖和設(shè)計(jì)流程。2.設(shè)計(jì)各部分單元電路或編寫(xiě)VHDL描述程序。3.對(duì)制作的電路進(jìn)行功能測(cè)試,分析各項(xiàng)技術(shù)指標(biāo);或?qū)υO(shè)計(jì)的電路進(jìn)行功能仿真,分析仿真波形。4.總結(jié)設(shè)計(jì)資料,但因包括原理電路、VHDL描述、仿真波形的設(shè)計(jì)報(bào)告,校驗(yàn)并演示電路裝置。(3)程序說(shuō)明1.搶答器主模塊程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE

3、 IEEE.STD_LOGIC_UNSIGNED.ALL;entity qdq isport(cpin,zx,rin,win,RET,over:in std_logic; FAIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); F1,F2,F3,F4,F5,F6,F7,F8:OUT STD_LOGIC_VECTOR( 7 DOWNTO 0); zhout:out std_logic_vector(3 downto 0); timeout:out std_logic_vector(7 downto 0); ledout:out std_logic_vector( 7 down

4、to 0); RST,feng:out std_logic; TH:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ROUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ZXOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );end qdq;以上為程序端口定義部分,注意看清端口類型,其作用會(huì)在下面程序中說(shuō)明。architecture tran of qdq istype states is (s0,S1,s2,s3,s4,s5,S6,s7); signal s: states; -定義狀態(tài) signal xtzz: STD

5、_LOGIC_VECTOR(7 DOWNTO 0); signal cpct: integer range 0 to 10000000; signal cpct20:integer range 0 to 10000000; signal cp: STD_LOGIC; SIGNAL cp20: STD_LOGIC:=0; signal js0h: std_logic_vector(3 downto 0):=0000; SIGNAL JS0L:STD_LOGIC_VECTOR(3 DOWNTO 0):=1001; signal js2h: std_logic_vector (3 downto 0)

6、:=0001; SIGNAL JS2L:STD_LOGIC_VECTOR( 3 DOWNTO 0):= 1001; signal jsret0,Jsret2: std_logic; SIGNAL zhin:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL EN:STD_LOGic; signal CLR: STD_LOGIC ; SIGNAL DIR:STD_LOGIC; SIGNAL RCPPJ,RCP:STD_LOGIC; SIGNAL CPJJ:STD_LOGIC; SIGNAL FENJ:STD_LOGIC; SIGNAL F1H,F1L,F2H,F2L,F3H

7、,F3L,F4H,F4L,F5H,F5L,F6H,F6L,F7H,F7L,F8H,F8L: STD_LOGIC_VECTOR(3 DOWNTO 0); signal ledout1: std_logic_vector(7 downto 0); SIGNAL CPFENGM,CPFENGMF: STD_LOGIC; SIGNAL CPFENGM0: INTEGER RANGE 0 TO 100000; SIGNAL CPFM,CPFMF,CPEN: STD_LOGIC; SIGNAL CPFM0: INTEGER RANGE 0 TO 100000; SIGNAL ZDFP:STD_LOGIC_

8、VECTOR(2 DOWNTO 0);程序中間信號(hào)量定義部分,注意看清變量類型,具體作用會(huì)在下面程序中說(shuō)明。 - - -begin dir=rin; feng=cpfm; LEDOUT=LEDOUT1;將輸入端口rin信號(hào)傳給dir,dir作為分?jǐn)?shù)加減的方向信號(hào)。將cpfm賦給輸出端口feng,feng為蜂鳴器的控制信號(hào)。Ledout1賦給輸出端口ledout,ledout為led燈控制信號(hào)。- PROCESS(CPIN,WIN,RIN) BEGIN IF RCPPJ=1 THEN CPJJ=0; ELSIF RISING_EDGE(CPIN) THEN CPJJ=WIN OR RIN; EN

9、D IF;END PROCESS;進(jìn)程1:獲取一個(gè)加減脈沖信號(hào)cpjj,給分?jǐn)?shù)加減提供脈沖,rcppj為此脈沖的復(fù)位信號(hào),“1”有效。 -PROCESS(CPIN) BEGIN IF CPFENGMF=1 THEN CPFENGM=0; ELSIF rising_edge(cpin) then if CPFENGM0=4999 THEN CPFENGM0=0; CPFENGM= NOT CPFENGM; ELSE CPFENGM0=CPFENGM0+1; END IF; end if;END PROCESS;進(jìn)程2:獲取一個(gè)2khz的脈沖cpfengm,其中cpfengmf為此脈沖的復(fù)位信號(hào),

10、“1”有效。PROCESS(CPFENGM) BEGIN IF CPFMF=1 THEN CPFM=0; ELSIF RISING_EDGE(CPFENGM) THEN IF CPEN=0 THEN IF CPFM0=ZDFP THEN CPFM0=0; CPFM=NOT CPFM; ELSE CPFM0=CPFM0+1; END IF; END IF;END IF; END PROCESS;進(jìn)程3:獲取一個(gè)動(dòng)態(tài)分頻信號(hào)cpfm,具體的頻率和變量zdfp有關(guān),cpfmf為復(fù)位信號(hào),“1”有效。 -process(cpin)begin If rising_edge(cpin) then if c

11、pct20=499999 then cp20=not cp20; cpct20=0; else cpct20=cpct20+1; end if;end if;end process;進(jìn)程4:獲取一個(gè)鍵盤掃描頻率cp20,cp20初值為“0”,頻率為20hz,此進(jìn)程為復(fù)位信號(hào)。 -process(cpin) begin IF CPIN=1 AND CPIN EVENT THEN IF CPCT=9999999 THEN CPCT=0; CP= NOT CP; ELSE CPCTzhinzhinzhinzhinzhinzhinzhinzhin zhin=0000; END CASE; END IF

12、; END PROCESS;進(jìn)程6:對(duì)每個(gè)組進(jìn)行編碼。Fain為輸入端口信號(hào),此信號(hào)從鍵盤輸入,經(jīng)過(guò)鍵盤模塊后輸出只有一個(gè)高電平的8位2進(jìn)制碼,進(jìn)入主程序模塊后進(jìn)行編碼,分別賦給zhin,具體編碼如程序。-進(jìn)程7:此進(jìn)程為此模塊的主進(jìn)程。process(cp,OVER,ret) begin if ret=1 then xtzz=x00;RST=1; zhout=0000; CLR=1; FENJ=0; RCPPJ=1;RCP=0; CPFMF=1;CPFENGMF=1;復(fù)位操作:外部端口ret輸入復(fù)位信號(hào)“1”,題目對(duì)應(yīng)指針xtzz回零;rst輸出“1”提供給后面模塊復(fù)位;組號(hào)輸出端清零;cl

13、r為“1”,分?jǐn)?shù)復(fù)位;rxppj為“1”,cppj脈沖復(fù)位;cpfengm復(fù)位;cpfm復(fù)位;同時(shí)fenj和rcp賦“0”。 s CPEN=1; ledout1(0)= not ledout1(0); S ledout1(1)=not ledout1(1); RST=0; en=0;CLR=0;RCPPJ=0; TIMEOUT=X00; FENJ=0; js0h=0000;js0l=1001; js2h=0001;js2l=1001; CPEN=1; CPFMF=0; CPFENGMF=0; S ledout1(2)=not ledout1(2); if over=1 then s=s7; e

14、lsif zx=1 and zhin=0000 then s=s4; elsif zx=0 and zhin/=0000 then s=s3; elsif zx=0 and zhin=0000 then - s ledout1(3)=not ledout1(3); CPEN=0;ZDFP=000; IF XTZZ( 3 DOWNTO 0)=1001 THEN XTZZ( 3 DOWNTO 0) =0000; XTZZ( 7 DOWNTO 4)=XTZZ( 7 DOWNTO 4)+1; ELSE XTZZ( 3 DOWNTO 0 )=XTZZ( 3 DOWNTO 0)+1; END IF; s

15、ledout1(4)=not ledout1(4); TIMEOUT=JS0H&JS0L; if jsret0=1 then - js0h=0000;js0l=1001; elsif zhin/=0000 and js0l/=0000 then en=1; zhout=zhin; s=s5; elsif js0l=0000 and js0h=0000 then js0l=1001;js0h=0000; IF XTZZ( 3 DOWNTO 0)=1001 THEN XTZZ( 3 DOWNTO 0) =0000; XTZZ( 7 DOWNTO 4)=XTZZ( 7 DOWNTO 4)+1; EL

16、SE XTZZ( 3 DOWNTO 0 )=XTZZ( 3 DOWNTO 0)+1; END IF; CPEN=0;ZDFP=010 ; s=s1; ELSE JS0L ledout1(5)=not ledout1(5); timeout=js2h&js2l; FENJ=1; if jsret2=1 then js2h=0001;js2l=1001; elsif (js2h/=0000 OR js2l/=0000) AND (RIN=1 OR WIN=1) then ZHOUT=0000; IF XTZZ( 3 DOWNTO 0) = 1001 THEN XTZZ( 3 DOWNTO 0)=

17、0000; XTZZ( 7 DOWNTO 4)=XTZZ( 7 DOWNTO 4)+1; ELSE XTZZ( 3 DOWNTO 0 )=XTZZ( 3 DOWNTO 0)+1; END IF; S=S1; elsif js2h=0000 and js2l=0000 then js2h=0001; js2l=1001; S=S6; else IF JS2L=0000 THEN JS2L=1001; IF JS2H=0000 THEN JS2H=0001; ELSE JS2H=JS2H-1; END IF; ELSE js2l ledout1(6)=not ledout1(6); CPEN=0;

18、ZDFP=100; ZHOUT=0000; IF XTZZ( 3 DOWNTO 0)=1001 THEN XTZZ( 3 DOWNTO 0) =0000; XTZZ( 7 DOWNTO 4)=XTZZ( 7 DOWNTO 4)+1; ELSE XTZZ( 3 DOWNTO 0 )=XTZZ( 3 DOWNTO 0)+1; END IF; s CPEN=0;ZDFP=111; ledout1(7)=not ledout1(7); Ss=s0; END CASE; end if; end process ;其它狀態(tài),此進(jìn)程結(jié)束。 -進(jìn)程8:此進(jìn)程主要作用是為各組計(jì)分。 PROCESS(CLR,CP

19、JJ,DIR,zhin) BEGIN IF CLR=1 THEN F1H=0011;F1L=0000; F2H=0011;F2L=0000; F3H=0011;F3L=0000; F4H=0011;F4L=0000; F5H=0011;F5L=0000; F6H=0011;F6L=0000; F7H=0011;F7L=0000; F8H=0011;F8L IF F1L=1001 THEN F1L=0000; F1H=F1H+1; ELSE F1L IF F2L=1001 THEN F2L=0000; F2H=F2H+1; ELSE F2L IF F3L=1001 THEN F3L=0000;

20、F3H=F3H+1; ELSE F3L IF F4L=1001 THEN F4L=0000; F4H=F4H+1; ELSE F4L IF F5L=1001 THEN F5L=0000; F5H=F5H+1; ELSE F5L IF F6L=1001 THEN F6L=0000; F6H=F6H+1; ELSE F6L IF F7L=1001 THEN F7L=0000; F7H=F7H+1; ELSE F7L IF F8L=1001 THEN F8L=0000; F8H=F8H+1; ELSE F8L NULL; END CASE;對(duì)每組而言,答對(duì)后加1分。 ELSE CASE ZHin I

21、S WHEN 0001 = IF F1L=0000 THEN F1L=1001; F1H=F1H-1; ELSE F1L IF F2L=0000 THEN F2L=1001; F2H=F2H-1; ELSE F2L IF F3L=0000 THEN F3L=1001; F3H=F3H-1; ELSE F3L IF F4L=0000 THEN F4L=1001; F4H=F4H-1; ELSE F4L IF F5L=0000 THEN F5L=1001; F5H=F5H-1; ELSE F5L IF F6L=0000 THEN F6L=1001; F6H=F6H-1; ELSE F6L IF F

22、7L=0000 THEN F7L=1001; F7H=F7H-1; ELSE F7L IF F8L=0000 THEN F8L=1001; F8H=F8H-1; ELSE F8L NULL; END CASE; END IF; END IF; END IF;END PROCESS;進(jìn)程9:PROCESS(F1H,F1L,F2H,F2L,F3H,F3L,F4H,F4L,F5H,F5L,F6H,F6L,F7H,F7L,F7H,F8L,F8H) BEGIN F1=F1H&F1L; F2=F2H&F2L; F3=F3H&F3L; F4=F4H&F4L; F5=F5H&F5L; F6=F6H&F6L;

23、F7=F7H&F7L; F8=F8H&F8L; END PROCESS;將每組的分?jǐn)?shù)值賦給輸出端口,在lcd模塊中會(huì)轉(zhuǎn)換為相應(yīng)的ASC碼。-進(jìn)程10:PROCESS(RIN,WIN) BEGIN IF RIN=1 THEN ROUT=X52; ELSIF WIN=1 THEN ROUT=x57; else rout=x20; END IF; END PROCESS;答對(duì)則在lcd相應(yīng)的顯示區(qū)顯示字符R,答錯(cuò)則顯示W(wǎng)。進(jìn)程11: PROCESS(XTZZ) BEGIN TH=XTZZ;END PROCESS;將題號(hào)輸出。進(jìn)程12: PROCESS(ZX) BEGIN IF ZX=1 THEN Z

24、XOUT=X53 ; ELSE ZXOUT=X20; END IF;END PROCESS;主持人按下開(kāi)始搶答鍵后,在lcd的相應(yīng)顯示區(qū)顯示字符S。end tran;2搶答器鍵盤轉(zhuǎn)換模塊程序鍵盤按鍵如下?lián)尨疰I1搶答鍵2搶答鍵3搶答鍵4搶答鍵5搶答鍵6搶答鍵7搶答鍵8OVERRETRINWINZXLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity PADTOKEY is port (CPIN,R :IN STD_LOGIC; Y: OUT STD_LOGIC_VECTOR(15 DOWNT

25、O 0); ICOL : IN STD_LOGIC_VECTOR(3 DOWNTO 0); OROW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END ENTITY;architecture JGT of PADTOKEY is TYPE STATES IS (S0,S1,S2,S3,S4); SIGNAL S: STATES; SIGNAL SROW : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL CPCT : INTEGER RANGE 0 TO 255; SIGNAL CTDELAY: INTEGER RANGE 0 TO

26、511; SIGNAL CP:STD_LOGIC; BEGIN PROCESS(CPIN) BEGIN IF CPIN=1 AND CPIN EVENT THEN IF CPCT=255 THEN CPCT=0;CP= NOT CP; ELSE CPCT=CPCT+1; END IF; END IF; END PROCESS; PROCESS(CP,R) VARIABLE N:INTEGER RANGE 0 TO 12; BEGIN IF R=1 THEN S=S0;Y=0000000000000000;SROWSOROW=SROW;SSY(3 DOWNTO 0)Y(7 DOWNTO 4)Y(

27、11 DOWNTO 8)Y(15 DOWNTO 12)NULL; END CASE; WHEN S3=IF N=12 THEN N:=0;S=S4;CTDELAY=0;SROW=1110; ELSE N:=N+4;S=S1;SROWIF CTDELAY=511 THEN S=S1;CTDELAY=0; ELSE CTDELAY=CTDELAY+1; END IF; END CASE;END IF;END PROCESS;END JGT;3LED顯示模塊程序01234567891011121314150FS1FS2FS3FS4FS5FS6FS7FS81TM:ZB:RINTHZXIN1. LCD顯

28、示器中各位置的顯示內(nèi)容為表中所示。2. 各符號(hào)說(shuō)明: a. FS1FS8為本模塊中輸入端口輸入的各組分?jǐn)?shù),為2位BCD碼。在本模塊中轉(zhuǎn)換后可以得到相應(yīng)的ASCII碼。 b. TM: ZB: 分別為時(shí)間提示和組號(hào)提示,是不變顯示,其后的顯示單元用來(lái)顯示時(shí)間,組號(hào)。 C. RIN 答題對(duì)錯(cuò)提示區(qū) 若答題正確 則顯示字符R,若答題錯(cuò)誤則顯示字符W。未答題時(shí)提示空(為空格鍵)。 d. TH 題號(hào)顯示區(qū),可顯示一個(gè)2位數(shù)。 e. ZXIN 搶答開(kāi)始提示區(qū),若搶答開(kāi)始,則顯示字符S,否則顯示空(為空格鍵)。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity QDQLCD is port (CPIN,R,BUSY :IN STD_LOGIC; FS1,FS2,FS3,FS4,FS5,FS6,FS7,FS8

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!