名称: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
阅读全文
855