篮球计分系统Verilog代码Quartus 开发板

本文详细描述了一款使用Verilog语言编写的篮球计分系统,通过Quartus开发板进行验证。该系统支持红绿两队得分,拨动开关启动计分,按键控制得分,最终根据分数高低控制LED灯闪烁。
摘要由CSDN通过智能技术生成

名称:篮球计分系统Verilog代码Quartus  开发板(文末获取)

软件:Quartus

语言:Verilog

代码功能:

要求:

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

本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:

QQ图片20240113132437.png

1. 工程文件

2. 程序文件

3. 程序编译

4. 顶层block图

5. 管脚图

6. 仿真图

分频模块

消抖模块

加分模块

显示模块

部分代码展示:

//分数累加模块
module add_score(
input clk_1KHz,//1KHz
input K1,//拨动开关K1后开始计分
input clk_2Hz,//2Hz信号
input S1_add,//红队加1分
input S2_add,//红队加2分
input S3_add,//红队加3分
input S4_add,//绿队加1分
input S5_add,//绿队加2分
input S6_add,//绿队加3分
output reg LED_red,//红队灯
output reg LED_green,//绿队灯
output [7:0] score_red,//红队分
output [7:0] score_green//绿队分
);
reg [7:0] score_red_buf=8'd0;//红队分
reg [7:0] score_green_buf=8'd0;//绿队分
always@(posedge clk_1KHz)
if(K1==1)//计分使能
if(S1_add)
score_red_buf<=score_red_buf+1;//红队加1分
else if(S2_add)
score_red_buf<=score_red_buf+2;//红队加2分
else if(S3_add)
score_red_buf<=score_red_buf+3;//红队加3分
always@(posedge clk_1KHz)
if(K1==1)//计分使能
if(S4_add)
score_green_buf<=score_green_buf+1;//绿队加1分
else if(S5_add)
score_green_buf<=score_green_buf+2;//绿队加2分
else if(S6_add)
score_green_buf<=score_green_buf+3;//绿队加3分
assign score_red=score_red_buf;
assign score_green=score_green_buf;
//LED灯控制
always@(posedge clk_1KHz)
if(K1==1)//亮
begin
LED_red<=1;
LED_green<=1;
end
else //分数高的闪烁
if(score_red>score_green)
begin
LED_red<=clk_2Hz;//红灯闪烁
LED_green<=1;
end
else if(score_red<score_green)
begin
LED_red<=1;
LED_green<=clk_2Hz;//绿灯闪烁
end
endmodule
源代码

 扫描文章末尾的公众号二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值