电子技术课程设计数字式竞赛抢答器Word文件下载.docx
《电子技术课程设计数字式竞赛抢答器Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子技术课程设计数字式竞赛抢答器Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
数字式竞赛抢答器
一、设计任务与要求
在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。
同时,还可以设置计分、犯规及奖惩记录等多种功能。
本设计的具体要求是:
(1)设计一个可容纳4组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
(2)电路具有第一抢答信号的鉴别功能。
在主持人将系统复位并发出抢答指令后,若参赛者按抢答开关,则该组指示灯亮并用组别显示抢答者的组别,同时扬声器发出“嘟嘟”的双音音响,且持续2-3秒。
此时,电路应具备自锁功能,使别组的抢答开关不起作用。
(3)设置计分电路,每组在开始时预置成00分,抢答后由主持人计分,答对一次加10分,否则减10分。
二、总体框图
根据系统设计要求可知,系统的输入信号有:
各组的抢答按钮A、B、C、D,
系统清零信号CLR,计分复位端RST,加分按钮ADD;
系统的输出信号有:
四个组抢答成功与否的指示灯控制信号输出端口LEDA、LEDB、LEDC、LEDD,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
本系统应具有的功能有:
第一抢答信号的鉴别和琐存功能;
各组得分的累加的动态显示功能。
由以上分析可知,可将整个系统分为两个主要模块:
抢答鉴别模块QDJB;
抢答计分模块JFQ。
对于需要显示的信息,需要接译码器,进行显示译码。
整个系统的组成框图如图
(一)所示。
图
(一)数字式抢答器的组成框图
系统的设计思路如下:
当主持人按下使能端时,A、B、C、D四位抢答者谁最先抢答成功则此选手的台号灯(LEDA-LEDD)将点亮,并且主持人前的组别显示数码管将显示出抢答成功者的台号;
接下来主持人提问,若回答正确,主持人按加分按钮ADD,抢答计分模块JFQ将给对应的组加分,并将该组的总分显示在对应的选手计分数码管JF2_A-JF0_A、JF2_B_JF0_B、JF2_C-JF0_C、JF2_D-JF0_D上。
完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。
三、选择器件
在此设计电路中用到的器件有JFQ、QDJB、YMQ。
(1)计分器
当其中一位选手抢答并回答问题正确,此模块实现加分功能。
(2)鉴别器
四位选手谁先抢答,则显示该选手,进行鉴别功能。
(3)译码器
此模块将显示抢答成功者的组别。
四、功能模块
1、计分器电路JFQ的VHDL源程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYJFQIS
PORT(RST:
INSTD_LOGIC;
ADD:
CHOS:
INSTD_LOGIC_VECTOR(3DOWNTO0);
AA2,AA1,AA0,BB2,BB1,BB0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
CC2,CC1,CC0,DD2,DD1,DD0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYJFQ;
ARCHITECTUREARTOFJFQIS
BEGIN
PROCESS(RST,ADD,CHOS)IS
VARIABLEPOINTS_A2,POINTS_A1:
STD_LOGIC_VECTOR(3DOWNTO0);
VARIABLEPOINTS_B2,POINTS_B1:
VARIABLEPOINTS_C2,POINTS_C1:
VARIABLEPOINTS_D2,POINTS_D1:
IF(ADD'
EVENTANDADD='
1'
)THEN
IFRST='
THEN
POINTS_A2:
="
0001"
;
POINTS_A1:
0000"
POINTS_B2:
POINTS_B1:
POINTS_C2:
POINTS_C1:
POINTS_D2:
POINTS_D1:
ELSIFCHOS="
IFPOINTS_A1="
1001"
THEN
POINTS_A1:
IFPOINTS_A2="
ELSE
=POINTS_A2+'
ENDIF;
=POINTS_A1+'
0010"
IFPOINTS_B1="
POINTS_B1:
IFPOINTS_B2="
=POINTS_B2+'
=POINTS_B1+'
0100"
IFPOINTS_C1="
POINTS_C1:
IFPOINTS_C2="
=POINTS_C2+'
=POINTS_C1+'
1000"
IFPOINTS_D1="
POINTS_D1:
IFPOINTS_D2="
=POINTS_D2+'
=POINTS_D1+'
AA2<
=POINTS_A2;
AA1<
=POINTS_A1;
AA0<
BB2<
=POINTS_B2;
BB1<
=POINTS_B1;
BB0<
CC2<
=POINTS_C2;
CC1<
=POINTS_C1;
CC0<
DD2<
=POINTS_D2;
DD1<
=POINTS_D1;
DD0<
ENDPROCESS;
ENDARCHITECTUREART;
功能仿真如下
计分器电路JFQ仿真图
当复位端清零,四位选手各组别分数将为零,当给A加分时,POINTS-A2=1,POINTS-A1=0,实现了加分功能。
2、抢答鉴别电路QDJB的VHDL源程序
ENTITYQDJBIS
PORT(CLR:
INSTD_LOGIC;
A,B,C,D:
A1,B1,C1,D1:
OUTSTD_LOGIC;
STATES:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYQDJB;
ARCHITECTUREARTOFQDJBIS
CONSTANTW1:
STD_LOGIC_VECTOR:
CONSTANTW2:
CONSTANTW3:
CONSTANTW4:
PROCESS(CLR,A,B,C,D)IS
IFCLR='
THENSTATES<
ELSIF(A='
ANDB='
0'
ANDC='
ANDD='
A1<
='
B1<
C1<
D1<
STATES<
=W1;
=W2;
=W3;
=W4;
功能仿真如下:
抢答鉴别电路QDJB仿真图
当CLR为=0,A=1,B=0,C=0,D=0时;
则A1=1,B1=0,C1=0,D1=0,此模块实现了鉴别功能。
3、译码器电路YMQ的VHDL源程序
ENTITYYMQIS
PORT(AIN4:
DOUT7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDYMQ;
ARCHITECTUREARTOFYMQIS
BEGIN
PROCESS(AIN4)
CASEAIN4IS
WHEN"
=>
DOUT7<
0111111"
0000110"
1011011"
0011"
1001111"
1100110"
0101"
1101101"
0110"
1111101"
0111"
0000111"
1111111"
110111