篮球计分系统设计Verilog代码Quartus 实验箱

名称:篮球计分系统设计Verilog代码Quartus  实验箱

软件:Quartus

语言:Verilog

代码功能:

(1)向上拨动拨动开关K1后开始计分初始分数均00,红灯和绿灯均同时点亮,按下按键S1,则红队加1分;按下按键S2,红队2分;按下按键S3则红队加3分按下按键S4,绿队1分;按下按键S5则绿队加2分;按下按键S6则绿队加3分。向下拨动回开关K1,计分结束此时不论按任何按键两队分数都不在改变。同时分数高的队伍灯以2HZ频率闪烁

(2外部输入脉冲信号频率为1mhz;

       (3)扩展要求:(a按键消抖


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在实验箱验证,实验箱如下,其他实验箱可以修改管脚适配:实验箱.png

演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件






程序编译

3. 顶层block


4. 管脚图


5. 仿真图

分频模块


控制模块


消抖模块


显示模块



部分代码展示:

//显示模块
module display(
input clk,//1MHz
input K1,//向下拨动分数高的队伍灯以2HZ频率闪烁
input clk_2Hz,//2Hz信号
input [7:0] score_1,//红队分
input [7:0] score_2,//绿队分
output reg LED_1,//红队灯
output reg LED_2,//绿队灯
output reg [7:0] segment,//数码管段
output [2:0] seg_en//数码管位
);
reg [15:0] cnt=16'd0;
reg [2:0] en=3'd0;
always@(posedge clk)
if(cnt>=16'd100)//计数100,分频到10K
cnt<=0;
else
cnt<=cnt+1;
always@(posedge clk)
if(cnt>=16'd100)
en<=en+1;//en =0~7表示8个数码管
assign seg_en=en;
wire [3:0] score_1_ten;//红队分十位
wire [3:0] score_1_one;//红队分个位
wire [3:0] score_2_ten;//绿队分十位
wire [3:0] score_2_one;//绿队分个位
assign score_1_ten=score_1/10;
assign score_1_one=score_1%10;
assign score_2_ten=score_2/10;
assign score_2_one=score_2%10;
reg [3:0] dis_data;
always@(en)
case(en)//依次显示红队分十位红队分个位绿队分十位绿队分个位
3'd0:dis_data<=score_1_ten;
3'd1:dis_data<=score_1_one;
3'd2:dis_data<=score_2_ten;
3'd3:dis_data<=score_2_one;
default:dis_data<=4'd0;
endcase

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 篮球计分系统设计Verilog代码Quartus 实验箱

发表评论

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

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

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