名称:4人抢答器设计Verilog代码Quartus? 实验箱
软件:Quartus
语言:Verilog
代码功能:
4人抢答器
设计要求
1.此抢答器可供4组选手参加比赛使用。每组选手控制一个按钮,用以发出抢答信号。
2.开始抢答后,最先发出抡抢答信号组所对应的LED灯点亮,并发出声音表示抢答成功,此时其他三组的按钮不再起作用。
3.主持人可通过另一按钮将其进行复位。
4.增加计分模块,每个选手的计分用两位数码管显示。自定义其它功能。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在实验箱验证,实验箱如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真图
整体仿真图
分频模块
抢答控制模块
分数控制模块
显示模块
部分代码展示:
module?display ( input?clk, input?[3:0]?time_down,//倒计时10_0 input?[3:0]?responder_num,//抢答指示1~4 input?[7:0]?score_1,//1号分数 input?[7:0]?score_2,//2号分数 input?[7:0]?score_3,//3号分数 input?[7:0]?score_4,?//4号分数 output?reg?[7:0]?weixuan,//位选,低亮 output?reg?[7:0]?duanxian//段选,低亮 ); reg[15:0]jishu='d0; always@(posedge?clk) begin jishu<=jishu+16'd1; end reg?[3:0]?display_data=4'd0; always@(posedge?clk) begin case(jishu[15:13])//显示 3'd0:display_data<=time_down%10;//倒计时个位 3'd1:display_data<=time_down/10;//倒计时十位 3'd2:display_data<=responder_num;//抢答指示1~6 3'd3:display_data<=4'd0; 3'd4:display_data<=score_1[3:0]; 3'd5:display_data<=score_2[3:0]; 3'd6:display_data<=score_3[3:0]; 3'd7:display_data<=score_4[3:0]; ??????default:; endcase end always@(posedge?clk) begin case(jishu[15:13])//位选,低亮 3'd0:?weixuan<=8'b1111_1110; 3'd1:?weixuan<=8'b1111_1101; 3'd2:?weixuan<=8'b1111_1011; 3'd3:?weixuan<=8'b1111_1111; 3'd4:?weixuan<=8'b1110_1111; 3'd5:?weixuan<=8'b1101_1111; 3'd6:?weixuan<=8'b1011_1111; 3'd7:?weixuan<=8'b0111_1111; default:weixuan<=8'b1111_1111; endcase case(display_data)//段选,低亮 0?:?duanxian=?(8'hc0);? 1?:?duanxian=?(8'hf9);? 2?:?duanxian=?(8'ha4);
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1052
阅读全文