My title page contents

智能电子抢答器设计Verilog代码Quartus仿真

名称:智能电子抢答器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

智能电子抢答器的设计。

智能电子抢答器可容纳4组参赛者抢答,每组设

一个抢答器;在主持人将复位按钮按下后开始抢答,并用数码管显示抢答者的序号,同时扬声器发出声音,并维持3秒钟,此时电路自锁,不再接受其他选手的抢答信号;设置计分电路,每组开始时设置为5分,抢答后由主持人计分,答对一次加1分,错一次减1分。采用 Verilog语言设计此控制系统,通过仿真验

证,最后编程下载到指定的FPGA芯片中。

要求.jpg

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

1. 工程文件

Quartus9.0版本


2. 程序文件





3. 程序编译


4. RTL图


5. 仿真图



部分代码展示:

module qiandda_ctrl(
input clk,//1Hz
input reset_n,//复位
//抢答按键
input key_1,
input key_2,
input key_3,
input key_4,
output beep,//扬声器
output [3:0] qiangda//正常抢答
);
reg [3:0] qiangda_temp;//正常抢答
assign qiangda=qiangda_temp;
parameter s_idle=4'd0;
parameter s_start=4'd1;
parameter s_qiangda=4'd2;
parameter s_qianda_1=4'd7;
parameter s_qianda_2=4'd8;
parameter s_qianda_3=4'd9;
parameter s_qianda_4=4'd10;
parameter s_huida_time=4'd12;
reg [3:0] state=4'd0;
reg [7:0] huida_time=8'd0;
always@(posedge clk or negedge reset_n)
if(!reset_n)
huida_time3)//维持3秒
huida_time<=huida_time;
else
huida_time=1 && huida_time<=3)?1:0;//扬声器发声3秒。
assign state_out=state;
always@(posedge clk or negedge reset_n)
if(!reset_n)
state<=s_idle;
else
case(state)
s_idle://开始抢答
state<=s_start;
s_start:
state<=s_qiangda;//抢答
s_qiangda:
if(key_1==1)
state<=s_qianda_1;//1号抢答
else if(key_2==1)
state<=s_qianda_2;//2号抢答
else if(key_3==1)
state<=s_qianda_3;//3号抢答
else if(key_4==1)
state<=s_qianda_4;//4号抢答

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 智能电子抢答器设计Verilog代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员