篮球计分系统设计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
本代码已在实验箱验证,实验箱如下,其他实验箱可以修改管脚适配:
演示视频:
设计文档:
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 实验箱
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 篮球计分系统设计Verilog代码Quartus 实验箱
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm