赞
踩
名称:4人抢答器可加减分数Verilog代码Quartus 实验箱(文末获取)
软件:Quartus
语言:Verilog
代码功能:
4人抢答器可加减分数
1、设计4人抢答器,通过4个按键抢答
2、具有重置按键,重置后重新开始抢答
3、抢答后蜂鸣器提示3秒,对应抢答指示灯亮
4、数码管显示抢答者序号
5、通过加减分数按键控制抢答者得分
本代码已在实验箱验证,实验箱如下,其他实验箱可以修改管脚适配:
1. 仿真工程
2. Testbench
3. 仿真图
整体仿真图
控制模块仿真
分数模块仿真
按键模块仿真
显示模块
部分代码展示:
//硬件连接:电机板子的J3连核心板P3,温度传感器板J3连接核心板P6 module qiangdaqi ( input clk,//时钟 input reset_p,//复位--sw1 input add_key,//加分键 input sub_key,//减分键 input key_1,//抢答键 input key_2,//抢答键 input key_3,//抢答键 input key_4,//抢答键 output beep,//蜂鸣器 //4灯指示4个选手 output led_1, output led_2, output led_3, output led_4, output [2:0] seg_CBA,//数码管位选 output [7:0] segment//数码管段选 ); //按键消抖 wire add_score; wire sub_score; key_debounce iadd_key_debounce( . clk(clk), . button_in(add_key),//输入 . button_neg(add_score)//消抖后按键下降沿 ); key_debounce isub_key_debounce( . clk(clk), . button_in(sub_key),//输入 . button_neg(sub_score)//消抖后按键下降沿 ); wire [3:0] qiangda;//正常抢答 wire [2:0] state;//输出状态 wire [7:0] score_1;//1号分数 wire [7:0] score_2;//2号分数 wire [7:0] score_3;//3号分数 wire [7:0] score_4;//4号分数 //抢答器控制模块 qiandda_ctrl i_qiandda_ctrl( . clk(clk), . reset_p(reset_p), . key_1(key_1), . key_2(key_2), . key_3(key_3), . key_4(key_4), . beep(beep), //3灯指示3个选手 . led_1(led_1), . led_2(led_2), . led_3(led_3), . led_4(led_4), . state_out(state),//输出状态 . qiangda(qiangda)//正常抢答 ); //分数统计模块 score_crtl i_score_crtl( . clk(clk), . state(state),//状态 . add_score(add_score),//加分键 . sub_score(sub_score),//减分键 . score_1(score_1),//1号分数 . score_2(score_2),//2号分数 . score_3(score_3),//3号分数 . score_4(score_4)//4号分数 ); //数码管显示 display i_display( . clk(clk), . state(state),//状态 . qiangda(qiangda),//正常抢答 . score_1(score_1),//1号分数 . score_2(score_2),//2号分数 . score_3(score_3),//3号分数 . score_4(score_4),//4号分数 . seg_CBA(seg_CBA),//位选 . segment(segment)//段选 ); endmodule
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。