八路數字搶答器控制系統(tǒng)_第1頁
八路數字搶答器控制系統(tǒng)_第2頁
八路數字搶答器控制系統(tǒng)_第3頁
八路數字搶答器控制系統(tǒng)_第4頁
八路數字搶答器控制系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題目:八路數字搶答器控制系統(tǒng)

一、大作業(yè)摘要74系列常用集成電路設計的數碼顯示八路搶答器電路組成、設計思路及功能。該搶答器除具有基本的搶答功能外,還具有定時、計時和報警功能。主持人通過時間預設開關預設供搶答的時間,系統(tǒng)將完成自動倒計時。若在規(guī)定的時間內有人搶答,則計時將自動停止;若在規(guī)定的時間內無人搶答,則系統(tǒng)中的蜂鳴器將發(fā)響,提示主持人本輪搶答無效,實現報警功能。。二、設計的背景、目的和意義

1.隨著科技的發(fā)展,現在的搶答器向著數字化、智能化的方向發(fā)展。這就必然提高了智能搶答器的制造成本2.鑒于現在小規(guī)模的知識競賽越來越多,操作簡單,經濟實用的小型搶答器肯定很有市場。因此,我選擇簡易邏輯數字搶答器這一課題。

三、設計任務及要求一般來說,設計一臺數字搶答器,必須能夠準確判斷出第一位搶答者,并且通過數顯、蜂鳴這些途徑能讓人們很容易得知誰是搶答成功者,并設置一定的回答限制時間,讓搶答者在規(guī)定時間內答題,主持人根據答題結果控制搶答器的清零復位,掌握比賽的進程。所以我在設計8路數字搶答器的模塊需要滿足鑒別、搶答報警、回答倒計時、數顯等功能,具體設計要求如下:(1)搶答器可容納八組選手,并為每組選手設置一個按鈕供搶答者使用;為主持人設置一個控制按鈕,用來控制系統(tǒng)清零(組別顯示數碼管滅燈)和搶答開始;(2)電路具有對第一搶答信號的鎖存、鑒別和顯示等功能。在主持人將系統(tǒng)復位并發(fā)出搶答指令后,若參賽選手按下?lián)尨鸢粹o,則該組別的信號立即被鎖存,并在組別顯示器上顯示該組別,同時揚聲器也給出音響提示,此時,電路具備自鎖功能,使其他搶答按鈕不起作用。(3)搶答器具有限時回答問題的功能,當主持人啟動倒計時開始鍵后,要求計時器采用倒計時,同時最后計時器倒計時到00時揚聲器會發(fā)出聲響提示;。

四、確定輸入和輸出變量

輸入:各組的搶答按鈕keyin1、keyin2、keyin3、keyin4、keyin5、keyin6、keyin7,clk:時鐘信號。rst:復位信號輸出:各組的搶答按鈕顯示端sel【2:0】數碼管選擇輸出display【7:0】數碼管顯示輸出六、整體設計框圖七、輸入和輸出變量對應部件說明input:clk:時鐘信號rst:復位信號keyin[7:0]:八位搶答按鍵output:sel【2:0】數碼管選擇輸出display【7:0】數碼管顯示輸出八、方案論證方案1:基于單元電路原理實現方案2:基于verilog原理實現方案論證以上兩種實現方法中,第一種方法電路較復雜不便于制作,可靠性低,實現起來很困難;而第二種方法只需要軟件仿真出來,在一塊EDA實驗箱上就能實現,制作簡單,而且成本低。綜合比較之下,我決定采用第二種方案實現本課題。根據第二種方案的的框圖所示,整個系統(tǒng)分為以下幾個模塊來分別實現:1.搶答判別模塊:它的功能是鑒別八組中是那組搶答成功并且把搶答成功的組別信號輸出給鎖存模塊。2.復位控制模塊:給節(jié)目主持人設置一個控制開關,用來控制系統(tǒng)的清零和搶答的開始。3.鎖存模塊:該電路的作用是當第一個搶答者搶答后,對第一個搶答者的組別進行鎖存并顯示在數碼管上,后面的搶答者信號全都無響應,直到主持人按下復位鍵。4.顯示報警模塊:就是把各個模塊的輸入的不同信號經過譯碼成BCD碼然后直接在數碼管上顯示,還可以加上蜂鳴器的聲音,更能給觀眾一個準確、簡明的數字。5.在以上功能實現后,還可以擴展實現一些其他功能,比如答題倒計時等功能。4.搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如,30秒)。當主持人啟動"開始"鍵后,定時器進行減計時。5.參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。

狀態(tài)圖

顯示倒計時倒計時停止顯示序號報警燈報警倒計時停止不再顯示任何編號有人搶答鍵按下上電復位有人搶答鍵按下倒計時小于5秒初始30秒結束moduleqiangdaqi(//模塊聲明,input表示輸入,output表時輸出inputclk,//主時鐘輸入,時序邏輯電路得根本inputrst,//復位,按下按鍵則程序回歸到上電時的初始狀態(tài)input[7:0]keyin,//八個按鍵輸入outputreg[3:0]disp_en,//3位輸出outputreg[7:0]display,//數碼管輸出outputregout_led);reg[2:0]sel;reg[9:0]count;//計數器計數寄存器regclk_1hz,flag;//clk_1hz:主時鐘經過2000分頻后的信號reg[4:0]t;//30秒倒計時reg[3:0]disp;//數碼管顯示數據存儲reg[3:0]data;//按鍵號存儲reg[16:0]count_1k;regclk_1k;always@(posedgeclkornegedgerst)beginif(!rst)beginclk_1k<=0;count_1k<=0;endelseif(count_1k==16'd25000)begincount_1k<=0;clk_1k<=~clk_1k;endelsecount_1k<=count_1k+1;endalways@(posedgeclk_1k)//第一個ALWAYS語句塊,主時鐘CLK的下降沿觸發(fā),if(count<500)//實現計數器的計數count=count+1;//如果count<=999,就一直往上加elseebegincount=0;//知道加到1000,就把count清零,clk_1hz取反clk_1hz=~clk_1hz;//從而實現主時鐘的2000分頻endalways@(posedgeclkornegedgerst)//第二個ALWAYS語句塊,CLK上升沿及RST下降begin//沿觸發(fā)if(!rst)begindata<=4'b1010;//如果按下復位鍵rst,則把數據位清零flag<=1'b0;//把FLAG標志信號清零endelseif(!flag&&t)//如果沒有按下復位鍵而且t不為0case(keyin[7:0])//根據按鍵的不同來實現不同的輸出,同時把標志8'b00000001:begindata<=4'b0001;flag<=1;end//位FLAG置1.8'b00000010:begindata<=4'b0010;flag<=1;end8'b00000100:begindata<=4'b0011;flag<=1;end8'b00001000:begindata<=4'b0100;flag<=1;end8'b00010000:begindata<=4'b0101;flag<=1;end8'b00100000:begindata<=4'b0110;flag<=1;end8'b01000000:begindata<=4'b0111;flag<=1;end8'b10000000:begindata<=4'b1000;flag<=1;enddefault:begindata<=data;flag<=flag;end//不是上述情況,維持DATAendcase//以及FLAG不變else//這兩句沒有用處endalways@(posedgeclk_1hzornegedgerst)//第三個always語句塊,clk_1hzbegin//上升沿以及rst下降沿觸發(fā)if(!rst)beginout_led<=1;//如果復位鍵按下,則把t初始為30t<=30;endelseif(t>0&&!flag)//如果t比0大,而且flag為0t<=t-1;

elsebegin//t減一t<=t;end //對于其他情況,維持t之前的值endalways@(posedgeclk_1kornegedgerst)//產生數碼管掃描信號,經三八譯碼器輸出數碼begin//管位選信號//第四個ALWAYS語句塊,CLK上升沿及RST下降if(!rst)sel[2:0]<=3'b000;//把sel計數器初始化為0elsebeginsel[2:0]<=sel[2:0]+3'b001;//每來一個個時鐘增加一endendalways@(*)//*表示有變化,程序里所有的信號只要有變化begin//本語句就會被觸發(fā)case(sel[2:0])3'b000:begindisp[3:0]=t/10;disp_en[3:0]=4'b1110;end//當sel是000的時候,取倒計時t的十位3'b001:begindisp[3:0]=t%10;disp_en[3:0]=4'b1101;end//001時,取倒計時的各位3'b010:begindisp[3:0]=4'b1111;disp_en[3:0]=4'b1111;end//010時,配合下面的always語句塊,實現全滅3'b011:begindisp[3:0]=4'b1010+clk_1hz;disp_en[3:0]=4'b1111;end//配合clk_1hz,以及下面的語句塊,3'b100:begindisp[3:0]=4'b1010+clk_1hz;disp_en[3:0]=4'b1111;end//實現,倒計時中‘?!拈W爍3'b101:begindisp[3:0]=4'b1010+clk_1hz;disp_en[3:0]=4'b1011;end3'b110:begindisp[3:0]=4'b1111;disp_en[3:0]=4'b1111;end//110時,配合下面的always語句塊,實現全滅

溫馨提示

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

評論

0/150

提交評論