基于FPGA的四路搶答器的VerilogHDL代碼.doc_第1頁
基于FPGA的四路搶答器的VerilogHDL代碼.doc_第2頁
基于FPGA的四路搶答器的VerilogHDL代碼.doc_第3頁
基于FPGA的四路搶答器的VerilogHDL代碼.doc_第4頁
基于FPGA的四路搶答器的VerilogHDL代碼.doc_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

module qiangda4(clk,clr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4,Led1,Led2,Led3,Buzzer); / 開始聲明各個(gè)端口 /輸入口input clk,clr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4;/輸出口output 0:7Led1; /倒計(jì)時(shí)時(shí)使用的LED控制端output 0:7Led2; /數(shù)碼管控制端output 0:7Led3; /分?jǐn)?shù)顯示數(shù)碼管控制端output Buzzer; /蜂鳴器/各個(gè)寄存器變量聲明reg0:7 Led1;reg0:7 Led2;reg0:7 Led3;regcnt=32b0;reg Buzzer;reg score=4hf;/分?jǐn)?shù)顯示寄存器/配置寄存器,EnFlat是表明開始搶答的標(biāo)志位reg EnFlat=1b0;/BuClk是蜂鳴器的標(biāo)志位reg BuClk=1b0;/BuL是做蜂鳴器的延時(shí)用reg 0:7BuL=8d0;/搶答選手標(biāo)志位reg answer=3d0;/各組分?jǐn)?shù)標(biāo)志位regscore1=4d5;regscore2=4d5;regscore3=4d5;regscore4=4d5;/-初始化模塊-always (posedge clk)/捕捉時(shí)鐘begin/初始化各按鍵并開始搶答begin if(inputEn=1b0) begin/初始化各個(gè)標(biāo)志位和參數(shù)EnFlat=1b1;/倒計(jì)時(shí)開始時(shí)8個(gè)Led燈全亮Led1=8b11111111;/組號(hào)顯示靜態(tài)數(shù)碼管(數(shù)碼管為共陽極)的控制端,有8位Led2=8b11111111;/分?jǐn)?shù)顯示數(shù)碼管控制端Led3=8b11111111;/蜂鳴器標(biāo)志位BuClk=1b0;/蜂鳴器的控制管腳,低電平為發(fā)聲音Buzzer=1b1; endend/-搶答模塊-begin if(EnFlat=1b1) begin/如果按鍵1按下if(inputL1=1b0)begin/禁止其他選手搶答EnFlat=1b0;/選手標(biāo)志位改變,用于加減分?jǐn)?shù)模塊answer=3d1;/靜態(tài)數(shù)碼管顯示序號(hào)1,及顯示選手對(duì)應(yīng)的組號(hào)Led2=8hf9;/指示蜂鳴器發(fā)聲BuClk=1b1;end /如果按鍵2按下else if(inputL2=1b0)begin/禁止其他選手搶答EnFlat=1b0;answer=3d2;Led2=8ha4;BuClk=1b1;end /如果按鍵3按下else if(inputL3=1b0)begin/禁止其他選手搶答EnFlat=1b0;answer=3d3;Led2=8hb0;BuClk=1b1;end /如果按鍵4按下else if(inputL4=1b0)begin/禁止其他選手搶答EnFlat=1b0;answer=3d4;Led2=8h99;BuClk=1b1;end endend/-加減分?jǐn)?shù)模塊-/第一組加減分if(answer =3d1)beginif(add)score1=score1+1;/當(dāng)主持人判定選手的回答正確時(shí),按下add鍵進(jìn)行加分操作elseif(stu)score1=score1-1;/當(dāng)主持人判定選手的回答錯(cuò)誤時(shí),按下stu鍵進(jìn)行減分操作score=score1;/把第一組的分?jǐn)?shù)賦值給分?jǐn)?shù)寄存器end/第二組加減分if(answer =3d2)beginif(add)score2=score2+1;/當(dāng)主持人判定選手的回答正確時(shí),按下add鍵進(jìn)行加分操作elseif(stu)score2=score2-1;/當(dāng)主持人判定選手的回答錯(cuò)誤時(shí),按下stu鍵進(jìn)行減分操作score=score2;end/第三組加減分if(answer =3d3)beginif(add)score3=score3+1;/當(dāng)主持人判定選手的回答正確時(shí),按下add鍵進(jìn)行加分操作elseif(stu)score3=score3-1;/當(dāng)主持人判定選手的回答錯(cuò)誤時(shí),按下stu鍵進(jìn)行減分操作score=score3;end/第四組加減分if(answer =3d4)beginif(add)score4=score4+1;/當(dāng)主持人判定選手的回答正確時(shí),按下add鍵進(jìn)行加分操作elseif(stu)score4=score4-1;/當(dāng)主持人判定選手的回答錯(cuò)誤時(shí),按下stu鍵進(jìn)行減分操作score=score4;end/-倒計(jì)時(shí)模塊-beginif(EnFlat=1b1)beginif(cnt!=32d48000000)/計(jì)時(shí)實(shí)現(xiàn)1HZ分頻cnt=cnt+32d1;elsebegincnt=32d0;Led1=8b111111111b1;/Led1左移一個(gè)單位,實(shí)現(xiàn)一秒的倒計(jì)時(shí)endendif(Led1=8b0)/倒計(jì)時(shí)結(jié)束還沒有按鍵按下,則搶答停止且蜂鳴器響EnFlat=1b0;BuClk=1b1;end/-蜂鳴器模塊-/當(dāng)蜂鳴器標(biāo)志位置1時(shí)/進(jìn)入此蜂鳴器處理程序begin if(BuClk=1b1) begin/蜂鳴器發(fā)聲Buzzer=1b0;/延時(shí)變量加1BuL = BuL + 8d1;/當(dāng)?shù)竭_(dá)延時(shí)的時(shí)間時(shí)關(guān)掉蜂鳴器if(BuL=8d255)begin/延時(shí)變量復(fù)位BuL=8d0;/蜂鳴器標(biāo)志位復(fù)位BuClk=1b0;/蜂鳴器停掉Buzzer=1b1;end endend/-重置模塊-/按下clr鍵以后各組參數(shù)重置,整個(gè)比賽重新開始if(clr)begin/重置各個(gè)標(biāo)志位和參數(shù)EnFlat=1b1;/重置時(shí)8個(gè)Led燈全亮Led1=8b11111111;/選手號(hào)靜態(tài)數(shù)碼管的控制端,有8位Led2=8b11111111;/選手分?jǐn)?shù)顯示數(shù)碼管重置Led3=8b11111111;/蜂鳴器標(biāo)志位重置BuClk=1b0;/蜂鳴器的控制管腳重置,低電平為發(fā)聲音Buzzer=1b1;/各組分?jǐn)?shù)重置score1=4d5;score2=4d5;score3=4d5;score4=4d5;/分?jǐn)?shù)顯示寄存器重置answer=8hff;end/-數(shù)碼顯示模塊-begincase(score)4h0: Led3 = 8hc0;/顯示04h1: Led3 = 8hf9;/顯示14h2: Led3 = 8ha4;/顯示24h3: Led3 = 8hb0;/顯示34h4: Led3 = 8h99;/顯示44h5: Led3 = 8h92;/顯示54h6: Led3

溫馨提示

  • 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. 人人文庫網(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)論