EDA實驗四人搶答器報告_第1頁
EDA實驗四人搶答器報告_第2頁
EDA實驗四人搶答器報告_第3頁
EDA實驗四人搶答器報告_第4頁
EDA實驗四人搶答器報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河海大學(xué)本科課程設(shè)計報告PAGE-成績指導(dǎo)教師日期張歆奕20五邑大學(xué)實驗報告實驗課程名稱:電子系統(tǒng)EDA院系名稱:信息學(xué)院專業(yè)名稱:電子信息工程實驗項目名稱:四人搶答器班級:學(xué)號:報告人:設(shè)計方案設(shè)計是以VerilogHDL語言為基礎(chǔ)設(shè)計的電子搶答器,在設(shè)計過程中先將系統(tǒng)模塊化,然后逐步實現(xiàn),根據(jù)設(shè)計功能要求,該設(shè)計主要包括按鍵搶答輸入,數(shù)碼管顯示組號,蜂鳴器報警電路,倒計時電路和數(shù)碼管顯示倒計時電路。搶答器整體結(jié)構(gòu)圖,如圖1蜂鳴器搶答成功信號搶答模塊K1停止倒計時信號二進制組號或超時K3K4蜂鳴器搶答成功信號搶答模塊K1停止倒計時信號二進制組號或超時K3K4K2譯碼模塊數(shù)碼數(shù)碼管顯示組號LED1倒計時倒計時模塊超時超時信號STARTSTARTClk_Clk_1s時鐘信號分頻器分頻器數(shù)碼管數(shù)碼管顯示倒計時LED2圖1該系統(tǒng)可實現(xiàn)要求中的基本功能,K1,K2,K3,K4為搶答開關(guān),按下該鍵(Ki=0)進行搶答,釋放該鍵(Ki=1)不搶答;按下START鍵后,20秒倒計時開始,由倒計時模塊輸出時間到譯碼模塊,譯碼模塊控制LED2顯示倒計時間。在20秒內(nèi),當(dāng)有一路搶答鍵最先按下,搶答成功者組號由搶答模塊直接輸出組號對應(yīng)的數(shù)碼管的二進制編碼,使數(shù)碼管LED1直接顯示其組號,SPEAKER鳴響,停止倒計時,同時封鎖其它各路搶答信號;若在20秒內(nèi)沒有搶答鍵按下,LED2顯示00,LED1顯示“F”,表示超時,封鎖所有搶答信號,需按下START,才可以開始下一次搶START為搶答開始開關(guān)。設(shè)計的實現(xiàn)搶答模塊程序代碼:moduleqiangda(clk,start,key,seg_zuhao,s_out,chaoshi,block);inputclk,start,chaoshi;//定義時鐘信號,搶答開始信號,超時信號輸入input[3:0]key;////四路搶答輸入端口outputreg[7:0]seg_zuhao;//輸出七段數(shù)碼管outputregs_out,block;//輸出鎖存信號和蜂鳴器信號reg[3:0]out;regspeaker;//蜂鳴器控制integeri;always@(posedgeclkornegedgestartorposedgechaoshi)beginif(!start)beginseg_zuhao=8'b10111111;//數(shù)碼管顯示“-”block=0; out=4'd0; speaker=1'b0;endelseif(chaoshi==1)beginblock<=1;seg_zuhao<=8'b10001110;endelseif(!block)beginif(key==4'b0111) beginout=4'd1; seg_zuhao=8'b11111001;//數(shù)碼管顯示組號“1”block=1;//封鎖其它人搶答speaker=1'b1;//蜂鳴器endelseif(key==4'b1011)beginout=4'd2;seg_zuhao=8'b10100100;//數(shù)碼管顯示組號“2”block=1;speaker=1'b1;endelseif(key==4'b1101)beginout<=4'd3;seg_zuhao=8'b10110000;//數(shù)碼管顯示組號“3”block=1;speaker=1'b1;endelseif(key==4'b1110)beginout=4'd4;seg_zuhao=8'b10011001;//數(shù)碼管顯示組號“4”block=1;speaker=1'b1;endelseseg_zuhao=8'b11111111;endendalways@(posedgeclk)//蜂鳴器部分beginif(speaker==1)beginif(i<25000000)begins_out<=1;i<=i+1;end//設(shè)計蜂鳴時長為0.5秒elses_out<=0;endelsebegins_out<=0;i<=0;endendendmodule說明:本段程序?qū)崿F(xiàn)基本的搶答功能,block為鎖存信號,當(dāng)有一組按下?lián)尨鸢粹o后,系統(tǒng)鎖存,其他組別搶答無效;同時通過speaker向蜂鳴器發(fā)出信號,蜂鳴器響一下表示搶答成功;于此同時信號block輸送給倒計時模塊,用于停止倒計時;seg_zuhao為靜態(tài)顯示搶答成功的組號,預(yù)置數(shù)為”-”;當(dāng)接受到超時信號chaoshi時,系統(tǒng)鎖存,所有組搶答無效,同時seg_zuhao輸出“F”,表示超時。PAGEPAGE7分頻器程序代碼:moduletime_1s(clk,clk_1s);inputclk;outputregclk_1s;integerm;always@(posedgeclk)beginif(m<'d25000000)m<=m+'d1;elsebeginm<='d0;clk_1s<=~clk_1s;endendendmodule說明:輸入時鐘信號和搶答模塊的一樣都是50MHZ,通過計數(shù)25000000次翻轉(zhuǎn)一次電平實現(xiàn)分頻,以此達到輸出一秒時鐘周期的時鐘信號,用于計時模塊。倒計時模塊程序代碼:moduledaojishi20(clk_1s,ji20_gewei,ji20_shiwei,chaoshi,start,block);inputclk_1s,start,block;outputreg[3:0]ji20_gewei,ji20_shiwei;outputregchaoshi;reg[5:0]ji20;always@(posedgeclk_1s,negedgestart)beginif(start==0)beginji20=6'd20;ji20_gewei=4'd0;ji20_shiwei=4'd2;chaoshi=0;endelseif(!block)beginif(ji20==0)beginji20_gewei=0;ji20_shiwei=0;chaoshi=1;endelseif(ji20<11)beginji20=ji20-6'b1;ji20_gewei=ji20;ji20_shiwei=4'd0;endelsebeginji20=ji20-6'b1;ji20_gewei=ji20-6'd10;ji20_shiwei=4'd1;endendendendmodule說明:該部分有倒計時功能和將兩位倒計時時間轉(zhuǎn)化輸出到譯碼模塊的功能。當(dāng)start為高電平時,開始搶答,20秒倒計時開始,在此期間,若有人搶答成功則停止計時,否則一直計時至0;當(dāng)ji20為20時,ji20_shiwei輸出2,ji20_gewei輸出4'd0,ji20自減一;當(dāng)ji20小于20時,ji20_shiwei輸出1,ji20_gewei輸出ji20-6'd10,ji20自減一;當(dāng)ji20小于10時,ji20_shiwei輸出0,ji20_gewei輸出ji20,ji20自減一;當(dāng)ji20等于0時,ji20_shiwei輸出0,ji20_gewei輸出0,并且輸出超時信號到搶答模塊,用于停止搶答。當(dāng)start為低電平時,ji20重置為20,超時信號重置為0。譯碼模塊程序代碼:moduleyimaqi(datain,dataout);input[3:0]datain;outputreg[7:0]dataout;always@(*)begincase(datain)4'd0:dataout=8'b11000000;//04'd1:dataout=8'b11111001;//14'd2:dataout=8'b10100100;//24'd3:dataout=8'b10110000;//34'd4:dataout=8'b10011001;//44'd5:dataout=8'b10010010;//54'd6:dataout=8'b10000010;//64'd7:dataout=8'b11111000;//74'd8:dataout=8'b10000000;//84'd9:dataout=8'b10010000;//9default:dataout=8'b11111111;endcaseendendmodule說明:功能主要是將接收到的數(shù)字信號,轉(zhuǎn)化成七段數(shù)碼管可以顯示出來的七位二進制數(shù)字。設(shè)計的結(jié)果搶答器原理圖,如圖2所示圖2原理圖仿真圖圖320秒內(nèi)無人搶答仿真圖圖4幾人搶答仿真圖分析:zuohao_display顯示的組號是對應(yīng)七段數(shù)碼管的,time_d_shiwei和time_d_gewei分別對應(yīng)倒計時的十位和各位,只是用觀測倒計時輸出的時間是否正確,要想在數(shù)碼管上顯示還必須通過譯碼模塊譯碼才可以,time_display_shiwei和time_display_gewei則是譯碼之后的對應(yīng)七段數(shù)碼管的二進制數(shù)。Clk_1s為了驗證分頻輸出的時鐘是否為1秒的周期信號。從圖3可以看出,20秒內(nèi)無人搶答,倒計時正常計數(shù),雖然20秒后有人搶答,但是無效。從圖4可以看出,20秒內(nèi)有四人都搶答,但是只有第一個搶答的第一組有效,蜂鳴器也響了0.5秒。設(shè)計完成度從總體情況來看,設(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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論