數(shù)字式競(jìng)爭(zhēng)搶答器_第1頁
數(shù)字式競(jìng)爭(zhēng)搶答器_第2頁
數(shù)字式競(jìng)爭(zhēng)搶答器_第3頁
數(shù)字式競(jìng)爭(zhēng)搶答器_第4頁
數(shù)字式競(jìng)爭(zhēng)搶答器_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)課 程_EDA技術(shù)課程設(shè)計(jì)題 目數(shù)字式競(jìng)爭(zhēng)搶答器院 系電子科學(xué)學(xué)院專業(yè)班級(jí)電子信息工程學(xué)生姓名學(xué)生學(xué)號(hào)指導(dǎo)教師2011年3月11日大學(xué)課程設(shè)計(jì)任務(wù)書課程 EDA技術(shù)課程設(shè)計(jì) 題目數(shù)字式競(jìng)賽搶答器 專業(yè)電子信息工程姓名 學(xué)號(hào) 主要內(nèi)容、基本要求、主要參考資料等 主要內(nèi)容:設(shè)計(jì)一個(gè)可容納6組參賽的數(shù)字式搶答器,當(dāng)?shù)谝粋€(gè)人按下?lián)尨鸢粹o時(shí),其他組的按鈕不起作用。當(dāng) 主持人按下復(fù)位”按鈕,所有組的按鍵才可用?;疽螅?、設(shè)計(jì)一個(gè)可容納6組參賽的數(shù)字式搶答器,每組設(shè)一個(gè)按鈕,供搶答使用。2、搶答器具有第一信號(hào)鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。3、設(shè)置一個(gè)主持人 復(fù)位”按鈕。4、主持

2、人復(fù)位后,開始搶答,第一信號(hào)鑒別鎖存電路得到信號(hào)后,有指示燈顯示搶答組別,揚(yáng)聲器 發(fā)出2-3秒的音響。5、 設(shè)置一個(gè)計(jì)分電路,每組開始預(yù)置100分,由主持人記分,答對(duì)一次加10分,答錯(cuò)一次減10分。主要參考資料:1 潘松著.EDA技術(shù)實(shí)用教程(第二版).北京:科學(xué)出版社,2005.2 康華光主編電子技術(shù)基礎(chǔ) 模擬部分.北京:高教出版社,2006.3 閻石主編.數(shù)字電子技術(shù)基礎(chǔ).北京:高教出版社,2003.完成期限指導(dǎo)教師專業(yè)負(fù)責(zé)人2011年3月7日1. 基本原理在許多比賽活動(dòng)中,為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,通常設(shè) 置一臺(tái)搶答器,通過數(shù)顯、燈光及音響等多種手段指示出第一搶答者。同時(shí)還

3、 可以設(shè)置記分、犯規(guī)及獎(jiǎng)勵(lì)記錄等多種功能。該設(shè)計(jì)就是針對(duì)上述各種要求設(shè) 計(jì)出的供 6 名選手參賽使用的數(shù)字式競(jìng)賽搶答器。該電路的根本任務(wù)時(shí)準(zhǔn)確的 判斷出第一搶答者的信號(hào)并將其鎖存。實(shí)現(xiàn)這一功能可用觸發(fā)器和鎖存器等。 在得到第一信號(hào)后應(yīng)立即將電路的輸入封鎖,即使其他組再次發(fā)出搶答信號(hào)也 無效。同時(shí)還必須注意,第一搶答信號(hào)應(yīng)該在主持人發(fā)出搶答命令之后才有效。 當(dāng)電路形成第一搶答信號(hào)之后,用編碼、譯碼及數(shù)碼顯示電路顯示出搶答者的 組別,也可以用發(fā)光二級(jí)管直接指示出組別。還可以用鑒別出的第一搶答信號(hào) 控制一個(gè)具有兩種工作頻率的交替變化的音頻振蕩器工作,使其推動(dòng)揚(yáng)聲器發(fā) 出兩個(gè)笛音音響,表示該題搶答有效

4、。2.設(shè)計(jì)框圖CPLD為復(fù)雜可編程邏輯器件,通過 EDA技術(shù)對(duì)其進(jìn)行編程,可將一個(gè)較復(fù) 雜的數(shù)字系統(tǒng)集成于一個(gè)芯片中,制成專用集成電路芯片,并可隨時(shí)在系統(tǒng)修 改其邏輯功能。智力競(jìng)賽搶答器,分為 5 個(gè)模塊:選手搶答模塊、搶答啟動(dòng)模塊、加減 分模塊、顯示模塊、蜂鳴器控制模塊。搶答啟動(dòng)模塊包括:復(fù)位和記時(shí),用于啟動(dòng)搶答和啟動(dòng)定時(shí)。輸出信號(hào)給 選手識(shí)別模塊,并顯示剩余時(shí)間。選手搶答模塊具有識(shí)別與鎖存功能,并輸出 選手號(hào)給顯示模塊。加減分模塊用于存儲(chǔ)各個(gè)選手的分?jǐn)?shù),并輸出給顯示模塊 蜂鳴器控制模塊則對(duì)超時(shí)和搶答成功鳴聲報(bào)警。顯示模塊用于輸出搶答剩余時(shí) 間、搶答模塊、選手得分。、設(shè)計(jì)步驟和調(diào)試過程1、總

5、體設(shè)計(jì)電路MH MMaBM:MMMV MM sjLW1Fuiir砂一嚴(yán) nirir一_rT打ZfLflTEfiS r.JJEI hS.Ka叩HCOOP”P_VJtf Eflp 町SCDFBp q 5StiF3P.lI岀f.刃 TMW. JI niaj|gm2、模塊設(shè)計(jì)和相應(yīng)模塊程序(1)搶答啟動(dòng)模塊搶答啟動(dòng)模塊由控制搶答啟動(dòng)的復(fù)位鍵和控制定時(shí)的兩個(gè)定時(shí)啟動(dòng)鍵。定 時(shí)時(shí)間為 5秒和 20秒兩種,分別由兩個(gè)鍵控制。主持人按下復(fù)位鍵啟動(dòng)搶答, 并完成置數(shù)。定時(shí)啟動(dòng)鍵則在置數(shù)信號(hào)有效的情況下,讀入定時(shí)初值,進(jìn)行減 1 操作,開始倒計(jì)時(shí)。本模塊程序:搶答啟動(dòng)LIBRARY IEEE;USE IEEE.S

6、TD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY START_5_20 ISPORT(CLK1,RST,START5,START20:IN STD_LOGIC;B,A:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); 輸-出定時(shí)初值S_FLAG:OUT STD_LOGIC);- 置數(shù)信號(hào)END ENTITY;ARCHITECTURE ONE OF START_5_20 ISSIGNAL DATAIN:STD_LOGIC_VECTOR(1 DOWNTO 0);TYPE ST_TYPE IS (ST0,ST1,ST2

7、); - 定義狀態(tài)SIGNAL C_ST:ST_TYPE;BEGINDATAIN=START5&START20; - 兩個(gè)輸入信號(hào)放在PROCESS(RST,CLK1)BEGINIF RST=0 THEN -B=0000;A=0000;C_ST=ST0;S_FLAG IF DATAIN=01 THEN起判斷復(fù)位S_FLAG=1;-置數(shù)信號(hào)有效B=0000;A=0101; -定時(shí)初值“ 05”ELSIF DATAIN=10 THENC_ST=ST2; -輸入信號(hào)為 10,S_FLAG=1;-置數(shù)信號(hào)有效B=0010;A=0000; -定時(shí)初值“ 20”C_ST二ST1;-輸入信號(hào)為01,轉(zhuǎn)ST1

8、狀態(tài)轉(zhuǎn) ST1 狀態(tài)ELSE C_STIF DATAIN=11 THENC_ST=ST0;-防按鍵抖動(dòng),為11時(shí)才轉(zhuǎn)ST0狀態(tài)S_FLAG=0;-置數(shù)信號(hào)無效ELSE C_STIF DATAIN=11 THEN C_ST=ST0;S_FLAG=0;ELSE C_STC_ST=ST0;B=0000;A=0000;END CASE;END IF;END PROCESS;END ARCHITECTURE;定時(shí)控制LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DE_COUNT ISPORT

9、(CLK2,LOAD,L_CR,RST:IN STD_LOGIC;B,A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEB,TIMEA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEOUT,SR1:OUT STD_LOGIC);END ENTITY;ARCHITECTURE TWO OF DE_COUNT ISBEGINPROCESS(LOAD,L_CR,RST,CLK2)VARIABLE P1,P0:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF LOAD=1 THENP1:=B;P0:=A; - 指數(shù)信號(hào)有效,

10、將 B、A 值讀入 P1、P0ELSIF L_CR=O THEN -有選手搶答成功,L_CF輸入為0,定時(shí)時(shí)間清0 P1:=0000;P0:=0000;TIMEOUT=0;SR1=1;ELSIFRST=0THENP1:=0000;P0:=0000;TIMEOUT=0;SR10 THENP1:=P1-1;P0:=1001; - 若個(gè)位為 0,十位減 1,個(gè)位賦為 9END IF;ELSEP0:=P0-1;-若個(gè)位不為 0,個(gè)位直接減一IF P0=0000 AND P1=0000 THENTIMEOUT=0;SR1=1;- 若時(shí)間到,輸出鎖存信號(hào)END IF;END IF;END IF;TIMEB

11、=P1;TIMEA=P0;END PROCESS;END ARCHITECTURE;實(shí)現(xiàn)兩個(gè)子模塊組合LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DE_COUNT ISPORT(CLK2,LOAD,L_CR,RST:IN STD_LOGIC;B,A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEB,TIMEA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEOUT,SR1:OUT STD_LOGIC);END ENTITY;AR

12、CHITECTURE TWO OF DE_COUNT ISBEGINPROCESS(LOAD,L_CR,RST,CLK2)VARIABLE P1,P0:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF LOAD=1 THENP1:=B;P0:=A; - 指數(shù)信號(hào)有效,將 B、A 值讀入 P1、P0ELSIF L_CR=O THEN -有選手搶答成功,L_CF輸入為0,定時(shí)時(shí)間清0P1:=0000;P0:=0000;TIMEOUT=0;SR1=1;ELSIFRST=0THENP1:=0000;P0:=0000;TIMEOUT=0;SR10 THENP1:=P1-1;P0:

13、=1001; - 若個(gè)位為 0,十位減 1,個(gè)位賦為 9 END IF;ELSEP0:=P0-1; -若個(gè)位不為 0,個(gè)位直接減一IF P0=0000 AND P1=0000 THENTIMEOUT=0;SR1=1; - 若時(shí)間到,輸出鎖存信號(hào) END IF;END IF;END IF;TIMEB=P1;TIMEA=P0;END PROCESS;END ARCHITECTURE;2、選手搶答模塊選手有 6 名,在一個(gè)結(jié)構(gòu)體中用 6 個(gè)進(jìn)程同時(shí)對(duì) 6 個(gè)選手按鍵電平變化的 監(jiān)測(cè)是不可實(shí)現(xiàn)的,因?yàn)槿舫霈F(xiàn)檢測(cè)上升沿或下降沿的語句,編譯軟件會(huì)認(rèn)為 所檢測(cè)的信號(hào)為實(shí)體的時(shí)鐘信號(hào),而一個(gè)實(shí)體只允許用一個(gè)時(shí)

14、鐘信號(hào)控制。故 可將本模塊分為兩部分:?jiǎn)蝹€(gè)選手按鍵和判斷搶答。將 6 位選手按鍵模塊和判 斷選手連接起來得到整個(gè)選手搶答模塊。本模塊程序如下:?jiǎn)蝹€(gè)選手按鍵模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BUTTON1 ISPORT(LOCK , BUTTON , RST :IN STD_LOGIC;PRESSED:OUT STD_LOGIC);END ENTITY;ARCHITECTURE B1 OF BUTTON1 ISBEGINPROCESS(RST , BUTTON) - 使用進(jìn)程時(shí)刻監(jiān)測(cè)RST BUTTO信號(hào)BEGINIF RST=0

15、 THENPRESSED=0;-復(fù)位ELSIF BUTTONEVENT AND BUTTON=0 THENIF LOCK二1 THEN-鍵被按下并且LOCK言號(hào)無效PRESSED=1;-則輸出信號(hào)給判斷模塊END IF;END IF;END PROCESS;END ARCHITECTURE;判斷選手模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY IDENTIFIER ISPORT(PP1,PP2,PP3,PP4,PP5,PP6,PP7,PP8:IN STD_LOGIC;P_NUM:OUT STD_LOGIC_VECTOR(3 DOWNTO 0

16、);LOCK,SR1:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ONE OF IDENTIFIER ISSIGNAL P:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPP_NUM=0001;LOCK=0;SR1P_NUM=0010;LOCK=0;SR1P_NUM=0011;LOCK=0;SR1P_NUM=0100;LOCK=0;SR1P_NUM=0101;LOCK=0;SR1P_NUM=0110;LOCK=0;SR1P_NUM=0000;LOCK=1;SR1LOCK,B=P1,RST=RST,PRESSED=a1); U2:BUTTO

17、N1 PORT MAP(LOCK=LOCK,B=P2,RST=RST,PRESSED=a2);U3:BUTTON1 PORT MAP(LOCK=LOCK,B=P3,RST=RST,PRESSED=a3);U4:BUTTON1 PORT MAP(LOCK=LOCK,B=P4,RST=RST,PRESSED=a4);U5:BUTTON1 PORT MAP(LOCK=LOCK,B=P5,RST=RST,PRESSED=a5);U6:BUTTON1 PORT MAP(LOCK=LOCK,B=P6,RST=RST,PRESSED=a6); U7:IDENTIFIERPORT MAP(PP1=a1,PP2

18、=a2,PP3=a3,PP4=a4,PP5=a5,PP6=a6,PP7=a7,PP8=a8,P_NUM=P_NUM,LOCK=LOCK_S,SR1=SR1);END ARCHITECTURE;3、加減分模塊加減分模塊分別由加 10 分按鍵與減 10 分按鍵控制,采用狀態(tài)識(shí)別機(jī)的方 式來識(shí)別。搶答選手有 6 位,若每一個(gè)選手都分配一個(gè)寄存器來保存分?jǐn)?shù),每個(gè)人的 分?jǐn)?shù)有 3 位數(shù),每個(gè)數(shù)用 4 位二進(jìn)制表示,那么 6 個(gè)選手的分?jǐn)?shù)需要 12*6=72 根線輸出,加上其它的管腳,將可能超過一個(gè) FPGA芯片可用的管教數(shù),編譯時(shí) 就會(huì)報(bào)錯(cuò)。故采用分組的方法把 6 個(gè)選手依次分成 3 組,每組兩個(gè)人。分

19、數(shù)以 組的單位分配,搶答成功時(shí)只顯示組的分?jǐn)?shù)。本模塊由三個(gè)子模塊組成:組別判斷子模塊,加減分寄存器子模塊,分?jǐn)?shù) 選擇輸出子模塊。組別判斷模塊根據(jù)搶答成功的選手編號(hào),判斷出該選手屬于 哪組,并輸出使能信號(hào)允許該組的分?jǐn)?shù)寄存器進(jìn)行加減操作。加減分寄存器用 狀態(tài)機(jī)來識(shí)別,狀態(tài)機(jī)狀態(tài)的轉(zhuǎn)換由 CLK信號(hào)來控制。只有在EN信號(hào)有效的情 況下,加分或減分按鍵的按下才會(huì)起作用。每次加 10 分或減 10 分。分?jǐn)?shù)選擇 輸出模塊只顯示當(dāng)前搶答成功選手分?jǐn)?shù),使用 3個(gè) 7段數(shù)碼管顯示。本模塊程序:組別判斷LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECODE

20、 ISPORT(CLK:IN STD_LOGIC;P_NUM:IN STD_LOGIC_VECTOR(3 DOWNTO 0);EN1,EN2,EN3,EN4:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ONE OF DECODE ISSIGNAL E:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK) - 引入時(shí)鐘信號(hào),協(xié)調(diào)各部分電路的工作BEGINIF CLKEVENT AND CLK=1 THENCASE P_NUM ISWHEN 0001=EEEEEEE=0000; -其他情況則四個(gè)分?jǐn)?shù)鎖存器都不工作 END C

21、ASE;END IF;END PROCESS;EN4=E(3);EN3=E(2);EN2=E(1);EN1=E(0);END ARCHITECTURE;加減分寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER1 ISPORT(CLK,EN:IN STD_LOGIC;ADD,SUB:IN STD_LOGIC;AA2,AA1,AA0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF COUNT

22、ER1 ISSIGNAL A:STD_LOGIC_VECTOR(1 DOWNTO 0);TYPE ST_TYPE IS (ST0,ST1,ST2);SIGNAL C_ST:ST_TYPE;BEGINAIF A二01 THEN -A 為“ 01”,說明 ADD按下 C_ST=ST1;-下一狀態(tài)轉(zhuǎn)ST1,以等待按鍵彈起 IF P0=0101 THENP0:=0000; - 若個(gè)位為 5,加 5 后變?yōu)?0,高位進(jìn)1IF P1=1001 THENP1:=0000; - 十位為 9,進(jìn) 1 為 0,再向百位進(jìn)1IF P2=1001 THENP2:=0000;- 百位為 9,進(jìn)一為 0ELSE P2:=

23、P2+1;- 百位不為 9,百位加 1END IF;ELSE P1:=P1+1; - 十位不為 9,加一END IF;ELSE P0:= 5; - 個(gè)位不為 5,個(gè)位變?yōu)?5END IF;ELSIF A二10 THEN -A 為“ 10”,說明 SUB按下C_ST二ST2;-下一狀態(tài)轉(zhuǎn)ST2,以等待按鍵彈起IF (P2/=0 OR P1/=0 OR P0/=0) THENIF P0=0000 THENP0:=0101;- 若個(gè)位為 0,加 5后變?yōu)?5,高位借 1IF P1=0000 THENP1:=1001;- 十位為 0,借 1 后為 9,向百位借 1P2:=P2-1; - 十位向百位借

24、1ELSE P1:=P1-1;- 十位不為 0,直接減 1END IF;ELSE P0:=0000;- 個(gè)位為 5,則個(gè)位直接清 0END IF;END IF;ELSE C_STIF A二11 THEN- A為“ 11”,說明按鍵彈起C_ST二STO;-回到ST0繼續(xù)監(jiān)視按鍵ELSE C_STIF A二11 THEN- A為 “11” 說明按鍵彈起C_ST=STO; -回到STO繼續(xù)監(jiān)視按鍵ELSE C_STC_ST=STO;END CASE;END IF;END IF;AA2=P2;AA1=P1;AAOD2=AA2;D1=AA1;D0D2=AA2;D1=AA1;D0D2=BB2;D1=BB1

25、;D0D2=BB2;D1=BB1;D0D2=CC2;D1=CC1;D0D2=CC2;D1=CC1;D0D2=DD2;D1=DD1;D0D2=0000;D1=0000;D0=0000;END CASE;END PROCESS;END ARCHITECTURE;4、顯示模塊顯示模塊顯示分 3 部分分別顯示:搶答成功選手號(hào),選手分?jǐn)?shù)、倒計(jì)時(shí)時(shí) 間。選手號(hào)有一個(gè) 7 段數(shù)碼管顯示,選手分?jǐn)?shù)由三個(gè) 7 段數(shù)碼管顯示,倒計(jì)顯 示也由兩個(gè)數(shù)碼管顯示。本模塊程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL

26、;ENTITY DISPLAY ISPORT(CLK:IN STD_LOGIC;SCORE2,SCORE1,SCORE0,P_NUMBER,TIMEB,TIMEA:INSTD_LOGIC_VECTOR(3 DOWNTO 0);BT,SG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF DISPLAY ISSIGNAL CNT8:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL A:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS(CLK)BEGINIF

27、CLKEVENT AND CLK=1 THEN - 時(shí)鐘信號(hào)一來,顯示下一位 CNT8BT二10000000;ABT=01000000;ABT=00100000;ABT=00010000;ABT=00001000;ABT=00000100;ABT=00000010;ABT=00000001;ASGSGSGSGSGSGSGSGSGSGSGNULL;END CASE;END PROCESS;END ARCHITECTURE;5、蜂鳴器當(dāng)定時(shí)時(shí)間帶或有選手搶答成功時(shí),SR1輸出信號(hào)給蜂鳴器,時(shí)鐘信號(hào)驅(qū)動(dòng) 蜂鳴器發(fā)聲。本模塊程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164

28、.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SPEAKER ISPORT(CLK1,SR1,CLK2:IN STD_LOGIC;S:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ONE OF SPEAKER ISTYPE ST_TYPE IS (ST0,ST1);SIGNAL C_ST:ST_TYPE;SIGNAL A:STD_LOGIC;BEGINPROCESS(CLK1)VARIABLE P:STD_L0GIC_VECT0R(7 DOWNTO 0);用于定時(shí),使蜂鳴器發(fā) 聲持續(xù)BEGINIF CLK1EVENT A

29、ND CLK1=1 THENCASE C_ST ISWHEN ST0=IF SR1=1 THEN -SR1 信號(hào)有上升沿 P:=00111111;C_ST=ST1;A=1;- 蜂鳴器發(fā)聲,開始定時(shí)ELSE C_ST=ST0;AIF P/=0 THEN - 定時(shí)還沒到,等待 P:=P-1;C_ST=ST1;ELSEA=0; - 定時(shí)到,蜂鳴器停止發(fā)聲IF SR1=1 THENC_ST=ST1; - 等待系統(tǒng)復(fù)位ELSE C_STC_ST=ST0;A=0;END CASE;END IF;END PROCESS;S二CLK2 AND A;-只有A為1時(shí),蜂鳴器才發(fā)聲END ARCHITECTURE;

30、3、仿真及仿真結(jié)果分析(1 )搶答啟動(dòng)子模塊仿真如下:搶答定時(shí)子模塊仿真如下:整個(gè)模塊仿真如下圖:2)單個(gè)選手按鍵模塊仿真圖如下:判斷選手搶答模塊仿真圖如下:整個(gè)模塊仿真圖如下:(七)3)組別判斷子模塊仿真圖如下:加減分寄存器仿真圖如下:分?jǐn)?shù)輸出模塊仿真圖如下:4)顯示模塊仿真如下:此圖表示四號(hào)選手搶答成功,分?jǐn)?shù)為 265,剩余時(shí)間為十七秒(5)模塊仿真圖如下:cmCLK2SH1SimmwMil 制nmiMnrnwimmBioniniiw當(dāng)SR1為上升沿時(shí),S輸出信號(hào)給蜂鳴器,并且持續(xù)一段時(shí)間4、實(shí)驗(yàn)調(diào)試結(jié)果1、我們寫好程序保存好,點(diǎn)擊按鈕“Start compilation ”對(duì)程序進(jìn)行編譯

31、。編譯成功后,新建波形文件,設(shè)置好輸入輸出引腳,生成仿真文件。各個(gè) 子模塊都編譯成功生成波形文件,并生成了相應(yīng)的符號(hào)。采用原理圖設(shè)計(jì)方法實(shí)現(xiàn)總系統(tǒng)。首先新建文件File f New選擇“Block Diagram/Schematic File ”, 打開原理圖編輯窗口。接著在編輯窗口空白處右擊選擇“ Insert f Symbo” ,找 到已經(jīng)創(chuàng)建的各個(gè)模塊的符號(hào)所在的文件夾,選擇符號(hào)。各個(gè)模塊的符號(hào)創(chuàng)建好,選擇 “ In sert f Symbol”后,在搜索欄輸入“ in put ”和“ output ”,插入 相應(yīng)的輸入輸出引腳。最后連接好原理圖,保存并編譯。2、進(jìn) 入 調(diào)試階 段 的

32、首先 分配 好管 腳 ,進(jìn)入 Quartus 菜 單 欄中選 擇 “Assignments”宀“ Pin Planner ”,根據(jù)實(shí)驗(yàn)箱中元件與 CPLD芯片管腳的就 近關(guān)系來選擇管腳。3、選擇試驗(yàn)箱右下角的 16 個(gè)指撥開關(guān)的第一排為 6 個(gè)選手的搶答按鍵。 第二排從左至右依次為加 10分鍵、減 10分鍵、復(fù)位鍵、 20秒倒計(jì)時(shí)鍵 和 5秒 倒計(jì)時(shí)鍵。4、因?yàn)殚_關(guān)的按下的電平抖動(dòng)非常大, 所以當(dāng)掃描按鍵的時(shí)鐘頻率過高時(shí), 會(huì)使電路出現(xiàn)錯(cuò)誤動(dòng)作。這里將用于數(shù)碼管掃描顯示的頻率和掃描按鍵輸入的 頻率都連到735Hz用于倒計(jì)時(shí)的時(shí)鐘頻率應(yīng)為 1Hz5、管腳分配完畢后,重新編譯。將試驗(yàn)箱用 USB線

33、連接到電腦,并安裝驅(qū) 動(dòng)程序。安裝成功后,在 Quartus菜單欄中“ Tools ”宀“ Programmer”,準(zhǔn)備 下載程序到芯片上。檢查“ Hardware Setup ”欄是否顯示“ USB”,是則表示 實(shí)驗(yàn)箱與電腦連接成功,否則為失敗,不能進(jìn)行調(diào)試,需重新安裝。點(diǎn)擊“START 按鈕,下載程序,下載完并調(diào)試。6、調(diào)試開關(guān)全部置“ 1”。按下復(fù)位鍵,開始搶答。此時(shí)數(shù)碼管各個(gè)模塊顯示都為“ 0”。按下倒記時(shí) 20 秒鍵,啟動(dòng)記時(shí),搶答開始。若 3 號(hào)選手于 10 秒鐘時(shí)搶答成功,蜂鳴器發(fā)聲,顯示模塊上顯示為“ 3 000 10”。此時(shí)假如按下其他選手搶答鍵,顯示模塊不會(huì)顯示,說明搶答電路已鎖。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論