EDA技術(shù)課程設(shè)計數(shù)字式競賽搶答器_第1頁
EDA技術(shù)課程設(shè)計數(shù)字式競賽搶答器_第2頁
EDA技術(shù)課程設(shè)計數(shù)字式競賽搶答器_第3頁
EDA技術(shù)課程設(shè)計數(shù)字式競賽搶答器_第4頁
EDA技術(shù)課程設(shè)計數(shù)字式競賽搶答器_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程 eda技術(shù)課程設(shè)計題目 數(shù)字式競賽搶答器專業(yè) 電子信息工程 主要內(nèi)容、基本要求、主要參考資料等主要內(nèi)容:設(shè)計一個可容納6組參賽的數(shù)字式搶答器,當?shù)谝粋€人按下?lián)尨鸢粹o時,其他組的按鈕不起作用。當主持人按下“復(fù)位”按鈕,所有組的按鍵才可用?;疽螅?、設(shè)計一個可容納6組參賽的數(shù)字式搶答器,每組設(shè)一個按鈕,供搶答使用。2、搶答器具有第一信號鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。3、設(shè)置一個主持人“復(fù)位”按鈕。4、主持人復(fù)位后,開始搶答,第一信號鑒別鎖存電路得到信號后,有指示燈顯示搶答組別,揚聲器發(fā)出2-3秒的音響。5、設(shè)置一個計分電路,每組開始預(yù)置100分,由主持人記分,答對一次加

2、10分,答錯一次減10分。主要參考資料:1 潘松著.eda技術(shù)實用教程(第二版). 北京:科學出版社,2005.2 康華光主編.電子技術(shù)基礎(chǔ) 模擬部分. 北京:高教出版社,2006.3 閻石主編.數(shù)字電子技術(shù)基礎(chǔ). 北京:高教出版社,2003.完成期限 2011.3.11 指導教師 專業(yè)負責人 2011年 3月7日一、總體設(shè)計思想1.基本原理本設(shè)計為六路智能搶答器,所以這種搶答器要求有六路不同組別的搶答輸入信號,并能識別最先搶答的信號,直觀地通過數(shù)顯和蜂鳴等方式顯示出組別;對回答問題所用的時間進行計時、顯示、超時報警、預(yù)置答題時間,同時該系統(tǒng)還應(yīng)有復(fù)位、倒計時啟動功能。搶答過程:主持人按下系統(tǒng)

3、復(fù)位鍵(rst),系統(tǒng)進入搶答狀態(tài),計時模塊和計分模塊輸出初始信號給數(shù)碼顯示模塊并顯示出初始值。當某參賽組搶先將搶答鍵按下時,系統(tǒng)將其余三路搶答信號封鎖,同時揚聲器發(fā)出聲音提示,組別顯示模塊送出信號給數(shù)碼顯示模塊,從而顯示出該搶答成功組臺號,并一直保持到下一輪主持人將系統(tǒng)清零為止。主持人對搶答結(jié)果進行確認,隨后,計時模塊送出倒計時計數(shù)允許信號,開始回答問題,計時顯示器則從初始值開始以計時,在規(guī)定的時間內(nèi)根據(jù)答題的正誤來確定加分或減分,并通過數(shù)碼顯示模塊將成績顯示出來。計時至0時,停止計時,揚聲器發(fā)出超時報警信號,以中止未回答完問題。當主持人給出倒計時停止信號時,揚聲器停止鳴叫。若參賽者在規(guī)定時

4、間內(nèi)回答完為題,主持人可給出倒計時計數(shù)停止信號,以免揚聲器鳴叫。主持人按下復(fù)位鍵,即rst為高電平有效狀態(tài),清除前一次的搶答組別,又可開始新的一輪的搶答。此搶答器的設(shè)計中采用自頂向下的設(shè)計思路,運用vhdl硬件描述語言對各個模塊進行層次化、系統(tǒng)化的描述,并且先設(shè)計一個頂層文件,再把各個模塊連接起來。2.設(shè)計框圖搶答按鈕優(yōu)先編碼電路鎖存器譯碼電路顯示電路顯示電路譯碼電路計分電路預(yù)制報警電路控制電路主持人控制開關(guān)主電路二、設(shè)計步驟和調(diào)試過程總體設(shè)計電路1、 模塊設(shè)計和相應(yīng)模塊程序?qū)⒃撊蝿?wù)分成幾個模塊進行設(shè)計,分別為:搶答器鑒別模塊、搶答器記分模塊、譯碼模塊、數(shù)選模塊、報警模塊,最后是撰寫頂層文件。

5、搶答器鑒別模塊:在這個模塊中主要實現(xiàn)搶答過程中的搶答功能,并能對超前搶答進行警告,還能記錄無論是正常搶答還是超前搶答者的臺號,并且能實現(xiàn)當有一路搶答按鍵按下時,該路搶答信號將其余過濾搶答封鎖的功能。其中有六個搶答信號s0、s1、s2、s3、s4、s5;搶答使能信號s;搶答狀態(tài)顯示信號states;搶答與警報時鐘信號clk2;系統(tǒng)復(fù)位信號rst;警報信號tmp。搶答鑒別模塊圖rst states3.0clk2 tmps0s1s2s3s4s5 qdjbvhdl源程序library ieee;-搶答鑒別模塊use ieee.std_logic_1164.all;use ieee.std_logic_

6、unsigned.all;entity qdjb isport(rst,clk2:in std_logic; s0,s1,s2,s3,s4,s5:in std_logic; states:buffer std_logic_vector(5 downto 0);tmp:out std_logic);end qdjb;architecture one of qdjb issignal st:std_logic_vector(5 downto 0);beginp1:process(s0,rst,s1,s2,s3,s4,s5,clk2) begin if rst=0 then tmp=0;st=000

7、0; elsif clk2event and clk2=1 then if (s0=1 or st(0)=1)and not( st(1)=1 or st(2)=1 or st(3)=1 or st(4)=1 or st(5)=1 ) then st(0)=1; end if ; if (s1=1 or st(1)=1)and not( st(0)=1 or st(2)=1 or st(3)=1 or st(4)=1 or st(5)=1) then st(1)=1; end if ; if (s2=1 or st(2)=1)and not( st(0)=1 or st(1)=1 or st(

8、3)=1 or st(4)=1 or st(5)=1) then st(2)=1; end if ; if (s3=1 or st(3)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 or st(4)=1 or st(5)=1) then st(3)=1;if (s4=1 or st(4)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 or st(3)=1 or st(5)=1) then st(4)=1; end if ; if (s5=1 or st(5)=1)and not( st(0)=1 or st(1)=1 o

9、r st(2)=1 or st(3)=1 or st(5)=1) then st(5)=1; end if ;tmp=s0 or s1 or s2 or s3 or s4 or s5;end if ;end process p1;p2:process(states(0),states(1),states(2),states(3) ,states(4),states(5) begin if (st=0000) then states=0000; elsif (st=0001) then states=0001;elsif (st=0010) then states=0010; elsif (st

10、=0100) then states=0011;elsif (st=0100) then states=0100; elsif (st=0101) then states=0101; elsif (st=1000) then states=0110; end if; end process p2;end one;數(shù)據(jù)選擇模塊:在這個模塊中主要實現(xiàn)搶答過程中的數(shù)據(jù)輸入功能,輸入信號a3.0、b3.0、c3.0;計數(shù)輸出信號s;數(shù)據(jù)輸出信號y;計數(shù)脈沖clk2,實現(xiàn)a、b、c按脈沖輪流選通,在數(shù)碼管上顯示。a3.0 s1.0b3.0 y3.0c3.0clk2rst sjxz數(shù)據(jù)選擇模塊vhdl源程

11、序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sjxz is port (a,b,c: in std_logic_vector(3 downto 0);clk2,rst: in std_logic; s: out std_logic_vector(1 downto 0); y: out std_logic_vector(3 downto 0) ); end sjxz;architecture body_chooser of

12、 sjxz is signal count: std_logic_vector (1 downto 0); begin s=count; process(clk2,rst) begin if(rst=0)then count=10)then count=00; else countyyynull; end case; end process; end body_chooser報警模塊:在這個模塊中主要實現(xiàn)搶答過程中的報警功能,當主持人按下控制鍵,有限時間內(nèi)有人搶答,有效電平輸入信號i;狀態(tài)輸出信號q;計數(shù)脈沖clk2。報警模塊圖clk oialarmvhdl源程序library ieee;us

13、e ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,i:in std_logic; q:out std_logic);end alarm;architecture behave of alarm is signal warn:std_logic; signal n:integer range 0 to 20;begin q= warn; process(clk) begin if clkevent and clk=1 then if i=0 then warn =0; elsif(i

14、=1and n=19)then warn =not warn; n=n+1; else warn dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7=0000000; end case; end process;end architecture art;譯碼顯示電路圖頂層文件:在這個模塊中是對前面模塊的綜合編寫的頂層文件。vhdl源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all

15、;entity qiangdaqi is port(clk,clk2,s,s0,s1,s2,s3,s4,s5,stop,rst:in std_logic; n,k,q_out:out std_logic; m:out std_logic_vector(1 downto 0); a,b,c,d,e,f,g:out std_logic);end qiangdaqi;architecture bhv of qiangdaqi iscomponent qdjb is port(clk2,rst:in std_logic; s0,s1,s2,s3,s4,s5:in std_logic; tmp:out

16、std_logic; states:out std_logic_vector(5 downto 0);end component;component js is port(clk,rst,s,stop:in std_logic; warn:out std_logic; ta,tb:buffer std_logic_vector(5 downto 0);end component;component sjxz is port(clk2,rst:in std_logic; s:out std_logic_vector(1 downto 0); a,b,c:in std_logic_vector(3

17、 downto 0); y:out std_logic_vector(3 downto 0);end component;component ymq is port(ain4: in std_logic_vector (3 downto 0); dout7: out std_logic_vector (6 downto 0);end component;component alarm is port(clk,i:in std_logic; q:out std_logic);end component;signal states_out,ta_out,tb_out,y_out:std_logic

18、_vector(3 downto 0);signal ledout:std_logic_vector(6 downto 0);signal w:std_logic;begina=ledout(6);b=ledout(5);c=ledout(4);d=ledout(3);e=ledout(2);f=ledout(1);gk,states=states_out);u2:js port map(clk,rst,s,stop,warn=n,ta=ta_out,tb=tb_out);u3:sjxz port map(clk2=clk2,rst=rst,s=m,a=states_out,b=ta_out,

19、c=tb_out,y=y_out);u4:ymq port map(ain4=y_out,dout7=ledout);u5:alarm port map(clk2,s,q_out);end bhv;2、 仿真及仿真結(jié)果分析搶答鑒別模塊仿真圖數(shù)據(jù)選擇模塊仿真圖報警模塊仿真圖譯碼模塊仿真圖頂層文件仿真圖clk接高電平,s0,s1,s2,sl3,s4,s5六個選手接低電平,鑒別器的輸出接指示燈,譯碼器的輸出接led數(shù)碼管,計分器的輸出接顯示譯碼器。當主持人按下使能端時,六個選手同時搶答。如圖所示,若s0搶答,即為高電平時,s0燈亮,若回答正確,對其加分,即當時鐘出現(xiàn)上升沿時就進行加一或者減一的操作。

20、3、 實驗調(diào)試結(jié)果按下rst鍵清零,按下s鍵,觀察數(shù)碼管是否開始倒計時,揚聲器是否發(fā)出報警聲,按下s0,觀察數(shù)碼管是否顯示1和搶答的時間,再按s1,s2,s3,s4.s5均不改變顯示,按下rst鍵,觀察是否清零,再按s鍵,不按別的,直到計時時間到,觀察是否顯示00,揚聲器是否發(fā)出報警第一個按下鍵的小組,搶答信號判定電路lock通過緩沖輸出信號的反饋將本參賽組搶先按下按鍵的信號鎖存,并且以異步清零的方式將其他參賽組的鎖存器清零,組別顯示、計時和計分會保存到主持人對系統(tǒng)進行清零操作時為止。當ini=1時系統(tǒng)復(fù)位,使組別顯示信號g=0000,各組的指示燈信號s0=0,s1=0,s2=0,s3=0,s4=0,s5=0;當ini=0,即低電平有效,使其進入搶答鑒別狀態(tài),到clk的上升沿到來時,以a組搶答成功為例,當輸入信號為a=1,b=0,c=0,d=0,輸出信號g=1000,a1=1,即為鑒別出a組搶答成功,同時屏蔽其他組的輸入信號,以免發(fā)生錯誤。三、結(jié)論及心得體會這次eda課程設(shè)計了一個星期,在這期間學到了很多很多的東西,同時不僅可以鞏

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論