基于FPGA的四路抢答器的VerilogHDL代码

基于FPGA的四路抢答器的VerilogHDL代码

ID:43768048

大小:75.50 KB

页数:6页

时间:2019-10-14

基于FPGA的四路抢答器的VerilogHDL代码_第1页
基于FPGA的四路抢答器的VerilogHDL代码_第2页
基于FPGA的四路抢答器的VerilogHDL代码_第3页
基于FPGA的四路抢答器的VerilogHDL代码_第4页
基于FPGA的四路抢答器的VerilogHDL代码_第5页
资源描述:

《基于FPGA的四路抢答器的VerilogHDL代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、moduleqiangda4(clk,clr,inputEn,add,stu,inputLlJnputL2JnputL3,inputL4,Ledl,Led2,Led3,Buzzer);//开始声明各个端口〃输入口inputclk,cIr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4;〃输出口output[0:7]Ledl;output[0:7]Led2;output[0:7]Led3;outputBuzzer;〃倒计时时使用的LED控制端〃数码管控制端〃分数显示数码管控制端〃蜂鸣器〃各个寄存器变量声明reg[0:7]Ledl;r

2、eg[0:7]Led2;reg[0:7]Led3;regcnt=32'b0;regBuzzer;regscore=4,hf;//分数显示寄存器〃配置寄存器,EnFlat是表明开始抢答的标志位regEnFlat=l*bO;//BuClk是蜂鸣器的标志位regBuClk=rb0;//BuL是做蜂鸣器的延时用reg[0:7]BuL=8*d0;〃抢答选手标志位reganswer=3,d0;〃各组分数标志位regscore1=4^5;regscore2=4,d5;regscore3=4'd5;regscore4=4,d5;//■初始化模块always@(posedgeelk)//捕捉时钟

3、begin〃初始化各按键并开始抢答beginif(inputEn=lfb0)begin〃初始化各个标志位和参数EnFlat=rbl;〃倒计时开始时8个Led灯全亮Ledl^blll11111;〃组号显示静态数码管(数码管为共阳极)的控制端,有8位Led2=8,bllllllll;〃分数显示数码管控制端Led3=8'bllllllll;〃蜂鸣器标志位BuClk=rbO;〃蜂鸣器的控制管脚,低电平为发声音Buzzer=Tbl;endend//抢答模块——beginif(EnFlat==rbl)begin〃如果按键1按下if(inputLl==rbO)begin〃禁止其他选手抢答En

4、Flat=PbO;〃选手标志位改变,用于加减分数模块answer=3,dl;〃静态数码管显示序号T,及显示选手对应的组号Led2=8'hf9;〃指示蜂鸣器发声BuClk=rbl;end〃如果按键2按下elseif(inputL2==rbO)begin〃禁止其他选手抢答EnFlat=rbO;answer=3,d2;Led2=8*ha4;BuClk=rbl;end〃如果按键3按下elseif(inputL3==rbO)begin〃禁止其他选手抢答EnFlat=rbO;answer=3'd3;Led2=8'hbO;BuClk=rbl;end〃如果按键4按下elseif(inputL4

5、==1'bO)begin〃禁止其他选手抢答EnFlat=rbO;answer#d4;Led2=8'h99;BuClk=rbl;endendend//加减分数模块〃第一组加减分if(answer==3,dl)beginif(add)score1=score1+1;〃当主持人判定选手的回答正确时,按下add键进行加分操作elseif(stu)score1=score1-1;〃当主持人判定选手的回答错误时,按下Stu键进行减分操作score=score1;〃把第一组的分数赋值给分数寄存器end〃第二组加减分if(answer=3'd2)beginif(add)score2=score

6、24-1;〃当主持人判定选手的回答正确时,按下add键进行加分操作elseif(stu)score2=score2-1;〃当主持人判定选手的回答错误时,按下SU1键进行减分操作score=score2;end〃第三组加减分if(answer=3'd3)beginif(add)score3=score3+l;〃当主持人判定选手的回答正确时,按下add键进行加分操作elseif(stu)score3=score3・1;〃当主持人判定选手的冋答错误吋,按下Stu键进行减分操作score=score3;end〃第四组加减分if(answer=3'd4)beginif(add)score

7、4=score4+1;〃当主持人判定选手的回答正确时,按下add键进行加分操作elseif(stu)score4=score4-1;〃当主持人判定选手的回答错误时,按下Stu键进行减分操作score=score4;end//倒计时模块beginif(EnFlat==rbl)beginif(cnt!=32^48000000)//计时实现1HZ分频cnt=cnt+32'd1;elsebegincnt=32*d0;Ledl=8,bllllllll«rbl;//Ledl左移一个单位,实现一秒的倒计时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。