




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計報告專業(yè)班級課 程 FPGA/CPLD原理及應(yīng)用題 目四路電子搶答器設(shè)計學(xué) 號姓 名同組人成 績2013年5月一、設(shè)計目的1 .進(jìn)一步掌握QUARTUS軟件的使用方法;2 .會使用VHDI®言設(shè)計小型數(shù)字電路系統(tǒng);3 .掌握應(yīng)用QUARTUS軟件設(shè)計電路的流程;4 .掌握電子搶答器的設(shè)計方法。二、設(shè)計要求1.系統(tǒng)總體設(shè)計(1)設(shè)計一個可以容納四組參賽隊進(jìn)行比賽的電子搶答器。(2)具有第一搶答信號的鑒別和鎖存功能。在主持人發(fā)出搶答指令后,若有 參賽者按搶答器按鈕,則該組指示燈亮,顯示器顯示出搶答者的組別。同時,電 路處于自鎖存狀態(tài),使其他組的搶答器按鈕不起作用。(3)具有計時功
2、能。在初始狀態(tài)時,主持人可以設(shè)置答題時間的初始值。在 主持人對搶答組別進(jìn)行確認(rèn),并給出倒計時記數(shù)開始信號以后, 搶答者開始回答 問題。此時,顯示器從初始值開始倒計時,計到 0時停止計數(shù),同時揚(yáng)聲器發(fā)出 超時警報信號。若參賽者在規(guī)定的時間內(nèi)回答完問題, 主持人可以給出計時停止 信號,以免揚(yáng)聲器鳴叫。(4)具有計分功能。在初始狀態(tài)時,主持人可以給每組設(shè)置初始分值。每組 搶答完畢后,由主持人打分,答對一次加 1分,答錯一次減1分。(5)設(shè)置一個系統(tǒng)清除開關(guān),該開關(guān)由主持人控制 。(6)具有犯規(guī)設(shè)置電路。超時搶答者,給予鳴喇叭警示,并顯示規(guī)范組別。2. 設(shè)計方案系統(tǒng)的輸入信號有:各組的搶答按鈕 A、B
3、、G D,系統(tǒng)允許搶答信號STA系統(tǒng)清零信號RST計分時鐘信號CLK加分按鈕端ADD en,減分端SUB sta , 計時使能端en 時鐘信號 clk, 復(fù)位 rst ;系統(tǒng)的輸出信號有:四個組搶答成功與否的指示燈控制信號輸出口可用 a1、 b1、 c1、 d1 表示,四個組搶答時的計時數(shù)碼顯示控制信號,搶答成功組別顯示的控制信號,各組計分顯示的控制信號。 整 個系統(tǒng)至少有三個主要模塊:搶答鑒別模塊;搶答計時模塊;搶答計分模塊,其他功能模塊(輸出顯示模塊) 。3. 如圖為流程圖:開始-搶答-搶答鑒別-回答-加減分?jǐn)?shù)-顯示倒計時倒計時犯規(guī)搶答或搶答后答題時間超時鳴喇叭警告。4. 搶答器的頂層原理
4、圖設(shè)計:三、 詳細(xì)設(shè)計(一)搶答鑒別及鎖存模塊搶答隊伍共分為四組 A,B,C,D0當(dāng)主持人按下STA鍵后,對應(yīng)的start指示燈亮,四組隊伍才可以按搶答鍵搶答,即搶答信號A,B,C,D 輸入電路中后,通過判斷是哪個信號最先為 1得出搶答成功的組別 1, 2, 3 或 4 組,將組別號輸出到相應(yīng)端A1,B1,C1,D1, 并將組別序號換算為四位二進(jìn)制信號輸出到STATES3.0端鎖存,等待輸出到計分和顯示單元。同時 RING端在有成功搶答的情況下發(fā)出警報。其模塊如下:搶答鑒別模塊1 搶答鑒別及鎖存源程序library ieee;use ieee.std_logic_1164.all;use ie
5、ee.std_logic_unsigned.all;entity qdjb isport(STA,RST:in std_logic;A,B,C,D:in std_logic;A1,B1,C1,D1,START:out std_logic;STATES:out std_logic_vector(3 downto 0);end qdjb;architecture one of qdjb issignal sinor,ringf,tmp,two:std_logic;beginsinor<=(A XOR B) XOR (C XOR D);two<=A and B;process(A,B,C
6、,D,RST,tmp)beginif RST='1' thentmp<='1'A1<='0'B1<='0'C1<='0'D1<='0'START<='0'STATES<="0000"elsif tmp='1' thenif STA='1' thenSTART<='1'if (A='1'AND B='0'AND C='0'A
7、ND D='0' ) thenA1<='1' B1<='0'C1<='0' D1<='0' STATES<="0001"tmp<='0'ELSIF (A='0'AND B='1'AND C='0'AND D='0') THENA1<='0'B1<='1'C1<='0'D1<='0'STATES&
8、lt;="0010"tmp<='0'ELSIF (A='0'AND B='0'AND C='1'AND D='0') THENA1<='0' B1<='0'C1<='1' D1<='0' STATES<="0011"tmp<='0'ELSIF (A='0'AND B='0'AND C='0'AND D=
9、9;1') THENA1<='0'B1<='0'C1<='0'D1<='1'STATES<="0100"tmp<='0'else tmp<='1'STATES<="0000"end if ;ELSE START<='0'END IF;end if;end process;end one;(二)計分模塊在計分器電路的設(shè)計中, 按照一般的設(shè)計原則, 按一定數(shù)進(jìn)制進(jìn)行加減即可,但是隨著計數(shù)
10、數(shù)目的增加, 但由于實驗板上數(shù)碼管數(shù)目的限制在, 每組都猜用十進(jìn)制數(shù)計分,這種電路連線簡單方便。clr 為復(fù)位端,將計分起始分?jǐn)?shù)設(shè)為 3。 CHOS3.0 端功能是鎖存已搶答成功的組別序號,當(dāng)接加分按鈕 ADD后,將給CHOS3.0所存的組別加分。每按一次加 1 分,每組的分?jǐn)?shù)將在對應(yīng)的數(shù)碼管上顯示。計分模塊1 、計分模塊源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jf ISPORT(chos : in STD_LO
11、GIC_VECTOR (3 downto 0);CLK: IN STD_LOGIC;en : IN STD_LOGIC;sta : IN STD_LOGIC;ADD: IN STD_LOGIC;SUB: IN STD_LOGIC;A: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);B: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);C: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);D: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END jf;ARCHITECTURE ART OF jf ISSIGNAL
12、AA: STD_LOGIC_VECTOR(3 DOWNTO 0);-SIGNALSIGNAL BB: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL CC: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL DD: STD_LOGIC_VECTOR(3 DOWNTO 0);signal q0:std_logic;signal n:integer range 0 to 3;signal i:std_logic;BEGINPOR1:PROCESS(ADD,SUB)BEGINi <= add or sub;if clk'event and
13、clk='1'thenif i='0' then q0<='0'n<=0;elsif n<=3 and i='1' thenq0<=not q0;n<=n+1;else q0<='0'end if;end if;IF(q0'EVENT AND q0='1') THENIF( ADD='1' AND SUB='1') THENAA<="0101" BB<="0101" CC&
14、lt;="0101" DD<="0101"- 賦初值 均為 5ELSIF(ADD='1' AND SUB='0') THEN if en='1' thenIF(chos="1000") THENAA<=AA+"0001" BB<=BB; CC<=CC; DD<=DD;ELSIF(chos="0100") THENAA<=AA; BB<=BB+"0001" CC<=CC; DD<
15、;=DD;ELSIF(chos="0010") THENAA<=AA; BB<=BB; CC<=CC+"0001" DD<=DD;ELSIF(chos="0001") THENAA<=AA; BB<=BB; CC<=CC; DD<=DD+"0001"ELSEAA<=AA; BB<=BB; CC<=CC; DD<=DD;END IF;end if; - 加分程序elsIF(SUB='1' AND ADD='0')
16、THENif sta='1' thenIF(chos="1000") THENAA<=AA-"0001" BB<=BB; CC<=CC; DD<=DD;ELSIF(chos="0100") THENAA<=AA; BB<=BB-"0001" CC<=CC; DD<=DD;ELSIF(chos="0010") THENAA<=AA; BB<=BB; CC<=CC-"0001" DD<=DD;
17、ELSIF(chos="0001") THENAA<=AA; BB<=BB; CC<=CC; DD<=DD-"0001"ELSEAA<=AA; BB<=BB; CC<=CC; DD<=DD;END IF;end if;ELSEAA<=AA; BB<=BB; CC<=CC; DD<=DD;END IF;ELSEAA<=AA; BB<=BB; CC<=CC; DD<=DD;END IF;A<=AA; B<=BB; C<=CC; D<=DD;
18、END PROCESS;END ARCHITECTURE ART;(三)計時模塊本系統(tǒng)中的計時器電路既有計時初始值的預(yù)置功能, 又有減計數(shù)功能, 功能比較齊全。其中將初始值設(shè)置為9秒,clk為時鐘信號,EN端為高電平后開始計 時, rst 為復(fù)位端,操作簡潔。其模塊如下:計時模塊1. 計時源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt isport(clk,en,rst:in std_logic;ring:out std_logic;data:out std_logic
19、_vector(3 downto 0);end cnt;architecture bhv of cnt issignal a:std_logic_vector(3 downto 0);beginprocess(clk)beginif rst='1' thena<="1001"ring<='0'elsif clk'event and clk='1' thenif en='1' thena<="1001" a<=a-1;if a="0000"
20、thena<="0000"ring<='1'end if;end if;end if;end process;data<=a;end bhv;(四)位選顯示模塊用于將搶答鑒別模塊搶答成功的組別和計時器的時間進(jìn)行顯示, 。 其模塊如下:2. 位選模塊源程序library ieee;use ieee.std_logic_1164.all;USE ieee.std_logic_UNSIGNED.all;entity seltime isport(clr,clk: in std_logic;dain0,dain1,dain2,dain3,dain4
21、,dain5:in std_logic_vector(3downto 0);sel: out std_logic_vector(2 downto 0);daout:out std_logic_vector(3 downto0);end seltime;architecture a of seltime issignal temp:integer range 0 to 5;beginprocess(clk)beginif (clr='1') thendaout<="0000"sel<="000"temp<=0;elsif
22、(clk='1'and clk'event) thenif temp=5 then temp<=0;else temp<=temp + 1;end if;case temp iswhen 0=>sel<="000"daout<=dain0;when 1=>sel<="001"daout<=dain1;when 2=>sel<="010"daout<=dain2;when 3=>sel<="011"daout<
23、=dain3;when 4=>sel<="100"daout<=dain4;when 5=>sel<="101"daout<=dain5;end case;end if;end process;end a;3. 顯示模塊源程序library ieee;use ieee.std_logic_1164.all;entity deled isport(num:in std_logic_vector(3 downto 0);led:out std_logic_vector(6 downto 0);end deled ;arch
24、itecture a of deled isbeginprocess(num)begincase num iswhen"0000"=>led<="0111111"3FHwhen"0001"=>led<="0000110"06Hwhen"0010"=>led<="1011011"5BHwhen"0011"=>led<="1001111"4FHwhen"0100"=>
25、led<="1100110"66Hwhen"0101"=>led<="1101101"6DHwhen"0110"=>led<="1111101"7DHwhen"0111"=>led<="0100111"27Hwhen"1000"=>led<="1111111"7FHwhen"1001"=>led<="1101111&quo
26、t;6FHwhen others=>led<="0000000"00Hend case;end process;end a;四、仿真分析1. 搶答鑒別及鎖存波形仿真:2. 計分模塊波形仿真:3. 計時模塊波形仿真:四、實習(xí)總結(jié)通過對 Quartus 軟件仿真, 證明了本產(chǎn)品在實際運(yùn)用中的正確性, 完全可以 實現(xiàn)預(yù)期任務(wù)的要求, 在有一組信號搶答成功后數(shù)碼管顯示相應(yīng)的組別, 在兩組或兩組以上信號同時搶答時視搶答無效。 且計分器在實現(xiàn)計分功能時能夠準(zhǔn)確記錄每組的成績并將分?jǐn)?shù)通過對應(yīng)的數(shù)碼管呈一位數(shù)顯示, 計時器在按下計時開始按鈕后可以從9 秒倒計時并通過譯碼器實時顯示計時結(jié)果。 如果在 9 秒時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西醫(yī)結(jié)合耳鼻咽喉科學(xué)知到課后答案智慧樹章節(jié)測試答案2025年春湖南中醫(yī)藥大學(xué)
- 2017-2018學(xué)年高中化學(xué)必修2課時訓(xùn)練第二章第一節(jié)化學(xué)能與熱能
- 2025年拖拉機(jī)及農(nóng)林牧漁用掛車項目發(fā)展計劃
- 2017-2018學(xué)年人教A版高中數(shù)學(xué)選修2-3檢測第三章統(tǒng)計案例能力深化提升
- 2025年原油降凝降粘劑項目合作計劃書
- 天線近場測試儀系統(tǒng)總控軟件2
- 乙方提供材料合同范例
- 板模板施工方案
- 企業(yè) 入職合同范例
- 臨床試驗合同范例
- 電子教案-《3D打印技術(shù)概論》
- JBT 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規(guī)程
- 2024年全國版圖知識競賽(小學(xué)組)考試題庫大全(含答案)
- 2024年北京控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 健康教育護(hù)理服務(wù)質(zhì)量評價標(biāo)準(zhǔn)
- [合同協(xié)議]車輛掛靠協(xié)議書
- MT_T 1175-2019 輸送瓦斯用鋼管_(高清版)
- 電子商務(wù)基礎(chǔ)與實務(wù)PPT課件
- 印刷產(chǎn)品表面處理檢驗方法與品質(zhì)標(biāo)準(zhǔn)
評論
0/150
提交評論