My title page contents

基于FPGA的电子抢答器设计Verilog代码Quartus仿真

名称:基于FPGA的电子抢答器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

基于FPGA的电子抢答器

设计一款基于FPGA的四路智力抢答器设计,具备系统复位、30秒倒计时、数码管显示等功能。抢答器通过按键消抖、控制、分数管理和显示控制四大模块实现,适用于竞赛活动,支持主持人控制和选手抢答,具有锁存和显示成功抢答者号码及分数的能力。


演示视频


1、工程文件

编辑

2、程序文件

编辑

编辑

编辑

3、程序编译

编辑

4、RTL图

编辑

5、仿真图

整体仿真图

编辑

编辑

按键消抖模块

编辑

编辑

控制模块

编辑

编辑

计时模块

编辑

编辑

分数控制模块

编辑

编辑

数码管显示模块

编辑

编辑

部分代码展示:

/抢答控制模块
module qiangda_ctrl(
input clk,
input reset_n,//复位抢答状态
input start_p,//开始控制按键
//4个抢答按键
input key_1,
input key_2,
input key_3,
input key_4,
//4灯指示4个选手
output reg led_1,
output reg led_2,
output reg led_3,
output reg led_4,
output reg led_tiqian,//提前抢答报警
output reg led_overtime,//超时报警
output [4:0]state_out,//输出状态
input [7:0] time_done,//倒计时
output  reg beep,//抢答成功提示音
output [3:0] tiqian_qiangda,//提前抢答
output [3:0] qiangda//正常抢答
);
parameter s_idle=5'd0;
parameter s_start=5'd1;
parameter s_timedown=5'd2;
parameter s_tiqian_1=5'd3;
parameter s_tiqian_2=5'd4;
parameter s_tiqian_3=5'd5;
parameter s_tiqian_4=5'd6;
parameter s_qianda_1=5'd7;
parameter s_qianda_2=5'd8;
parameter s_qianda_3=5'd9;
parameter s_qianda_4=5'd10;
parameter s_overtime=5'd11;
reg [4:0] state=5'd0;
reg [7:0] time_cnt=8'd20;
assign state_out=state;
always@(posedge clk or negedge reset_n)
if(!reset_n)
state<=s_idle;
else
case(state)
s_idle://空闲状态,还没开始抢答
if(start_p)//开始抢答按键
state<=s_start;
else
if(key_1==0)
state<=s_tiqian_1;//1号提前抢答
else if(key_2==0)
state<=s_tiqian_2;//2号提前抢答
else if(key_3==0)
state<=s_tiqian_3;//3号提前抢答
else if(key_4==0)
state<=s_tiqian_4;//4号提前抢答
else
state<=s_idle;
s_start:
state<=s_timedown;//开始倒计时
s_timedown:
if(key_1==0)
state<=s_qianda_1;//1号抢答
else if(key_2==0)
state<=s_qianda_2;//2号抢答


代码文件(付费下载):


1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于FPGA的电子抢答器设计Verilog代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员