EDA八路抢答器的设计Word下载.docx

上传人:b****4 文档编号:18168049 上传时间:2022-12-13 格式:DOCX 页数:7 大小:475.52KB
下载 相关 举报
EDA八路抢答器的设计Word下载.docx_第1页
第1页 / 共7页
EDA八路抢答器的设计Word下载.docx_第2页
第2页 / 共7页
EDA八路抢答器的设计Word下载.docx_第3页
第3页 / 共7页
EDA八路抢答器的设计Word下载.docx_第4页
第4页 / 共7页
EDA八路抢答器的设计Word下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

EDA八路抢答器的设计Word下载.docx

《EDA八路抢答器的设计Word下载.docx》由会员分享,可在线阅读,更多相关《EDA八路抢答器的设计Word下载.docx(7页珍藏版)》请在冰豆网上搜索。

EDA八路抢答器的设计Word下载.docx

完成时间2012年12月25日

八人抢答器

1、八人抢答器设计题目与要求

1、1基本要求

(1)给主持人设置一个开关,用来控制系统的清零和抢答器的开始。

(2)抢答器具有锁存和显示的功能。

抢答开始后,若有选手按动抢答器按钮,编号立即锁存,并在LED数码管上显示选手的编号,此外,要封锁输入电路,禁止其他选手抢答。

优先抢答选手的编号一直保持到主持人将系统清零为止。

1、2我的设计功能

(1)八路智力抢答器,同时供8个选手参赛,编号分别为1到8。

每位选手用一个答题按钮和LED灯,选手按下时其灯亮。

(2)给主持人一个控制开关,实现系统的清零和抢答的开始。

具有数据锁存和显示功能。

(3)抢答开始后,如果有选手按下了抢答按钮,其编号立即锁存并显示在LCD液晶显示屏上。

此外,禁止其他选手再次抢答。

选手的编号一直保存直到主持人清除。

2、抢答器整体设计

2、1设计思路

(1)、基本原理

本系统共由抢答鉴别模块(jdjb.vhdl)、计时模块(js.vhdl)、计分模块(jf.vhdl)和LCD译码显示模块等四部分组成。

抢答过程:

主持人按下系统复位键(RST),系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。

当某参赛组抢先将抢答键按下时,系统将其余七路抢答信号封锁,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组别号,并一直保持到下一轮主持人将系统清零为止。

随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。

计时至0时,停止计时,以中止未回答完问题。

若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号。

主持人按下复位键,即RST为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。

·

抢答鉴别模块

抢答鉴别模块用来准确直观地判断八组抢答者谁最先按下按钮,并为显示端送出信号,通过LCD显示使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。

同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。

抢答鉴别模块的元件图如下图所示:

计时模块

当抢答鉴别模块成功判别出最先按下抢答按钮的参赛组后,在成功鉴别出哪组最先抢答后,由锁存器输出的计时使能信号使能,进入计时状态。

计时模块可分作两部分:

(1)预置数;

(2)60秒倒计时。

计时模块开始工作从预置初始值开始以秒计时,计时至0秒时停止,以中止答题。

时间通过LCD显示。

元件图如下:

计分模块

计分模块的运行方式是按照十进制进行加减,即当时钟出现上升沿时就进行加一或者减一的操作。

记分模块为哪组进行记分取决于鉴别模块的输入信号STATE,当STATE=0001时表示A0组最先抢答,则在此模块中为A组记分,当G=0010时表示A1组最先抢答,则在此模块中为A1组记分等等。

以A0组为例来说明此模块的设计,当复位信号RST=1时,系统复位且A组的分值显示初始值,为100分。

当RST=0时,如果该组选手答题正确,则主持人按下加分键,即PLUS=1,此时对该组进行加分操作;

如果该组选手答题错误,则主持人按下减分键,即MINUS=1,此时对该组进行减分操作。

译码显示模块

该模块将抢答成功的组别,时间及各组分数译码送LCD显示,这里采用了实验室资料里的程序。

系统总图如下:

3、程序与仿真波形

moduleqianda(DATA,SET,C0);

inputSET;

input[7:

0]DATA;

output[3:

0]C0;

reg[3:

0]C0,C1;

reg[7:

0]TEP;

regT0,T1;

rega;

//wire[3:

0]C3;

always@(posedgeSET)begin//设置开启开关/清零开关a

a=~a;

if(a)T0=1;

//主持人开启开关,设置触发开关参数

elsebeginT0=0;

C1=0;

end//主持人关闭开关,关闭触发开关

end

always@(DATA)begin

if(a)beginT1=T0;

//主持人开关是开还是清零状态

if(T1)begin//触发开关T1开否?

TEP=DATA;

case(TEP)

8'

b00000001:

beginC0=1;

T1=0;

end//条件满足,关闭开关,封锁输入

b00000010:

beginC0=2;

end

b00000100:

beginC0=3;

b00001000:

beginC0=4;

b00010000:

beginC0=5;

b00100000:

beginC0=6;

b01000000:

beginC0=7;

b10000000:

beginC0=8;

default:

beginC0=C0;

T1=T1;

endcase

elsebeginC0=C0;

end//触发开关关

elseC0=0;

//主持人开关管事情零状态

endmodule

仿真效果:

4、设计心得与体会

这次课程设计总共经历了好几星期的时间,从功能需求分析到功能时序逻辑分析,从程序的设计到程序的调试,从系统的仿真到系统的调试、下载,最后终于完成了这次具有实际使用价值的课程设计。

在这次实验中,我收获颇多。

首先是对实际中的工程设计有了深刻的了解,熟练掌握了verilog语言编程的方法与特点以及集成开发环境QuartusⅡ的基本实验操作。

其次是增强了自己动手,解决实际问题的能力。

一开始因为对怎么做一个实际项目一无所知,在设计中遇到了不少麻烦。

但在慢慢地摸索中,渐渐养成了比较好的习惯,比如做事情要分主次,条理清晰,在QuartusⅡ中要深刻理解工程的概念,一些小细节,比如同一个工程下的文件要集中放在一起,文件名不要有中文等等,遇到不懂的问题,要积极寻找多种途径解决,可以问别人,更多的要自己查找资料。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1