您的当前位置:首页正文

电子技术课程设计数字式竞赛抢答器

来源:个人技术集锦


电子技术课程设计

——数字式竞赛抢答器

学院:

专业、班级:

姓名:

学号:

指导老师:

目录

一、 设计任务与要求··························1

二、 总体框图 ··························1 三、 选择器件 ··························2 四、 功能模块 ··························3 五、 总体设计电路图··························10

设计心得体会 ························

数字式竞赛抢答器

一、 设计任务与要求

在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。 同时,还可以设置计分、犯规及奖惩记录等多种功能。本设计的具体要求是:

(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源程序 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JFQ IS

PORT(RST:IN STD_LOGIC; ADD:IN STD_LOGIC;

CHOS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

AA2,AA1,AA0,BB2,BB1,BB0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CC2,CC1,CC0,DD2,DD1,DD0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY JFQ;

ARCHITECTURE ART OF JFQ IS BEGIN

PROCESS(RST,ADD,CHOS)IS

VARIABLE POINTS_A2,POINTS_A1:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_B2,POINTS_B1:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_C2,POINTS_C1:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_D2,POINTS_D1:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

IF(ADD'EVENT AND ADD='1') THEN IF RST='1' THEN

POINTS_A2:=\"0001\";POINTS_A1:=\"0000\"; POINTS_B2:=\"0001\";POINTS_B1:=\"0000\"; POINTS_C2:=\"0001\";POINTS_C1:=\"0000\"; POINTS_D2:=\"0001\";POINTS_D1:=\"0000\"; ELSIF CHOS=\"0001\" THEN IF POINTS_A1=\"1001\"THEN POINTS_A1:=\"0000\"; IF POINTS_A2=\"1001\"THEN POINTS_A2:=\"0000\"; ELSE

POINTS_A2:=POINTS_A2+'1'; END IF; ELSE

POINTS_A1:=POINTS_A1+'1'; END IF;

ELSIF CHOS=\"0010\"THEN IF POINTS_B1=\"1001\"THEN POINTS_B1:=\"0000\"; IF POINTS_B2=\"1001\"THEN POINTS_B2:=\"0000\"; ELSE

POINTS_B2:=POINTS_B2+'1'; END IF; ELSE

POINTS_B1:=POINTS_B1+'1'; END IF;

ELSIF CHOS=\"0100\"THEN IF POINTS_C1=\"1001\"THEN POINTS_C1:=\"0000\"; IF POINTS_C2=\"1001\"THEN POINTS_C2:=\"0000\"; ELSE

POINTS_C2:=POINTS_C2+'1'; END IF; ELSE

POINTS_C1:=POINTS_C1+'1';

END IF;

ELSIF CHOS=\"1000\"THEN IF POINTS_D1=\"1001\"THEN POINTS_D1:=\"0000\"; IF POINTS_D2=\"1001\"THEN POINTS_D2:=\"0000\"; ELSE

POINTS_D2:=POINTS_D2+'1'; END IF; ELSE

POINTS_D1:=POINTS_D1+'1'; END IF; END IF; END IF;

AA2<=POINTS_A2;AA1<=POINTS_A1;AA0<=\"0000\"; BB2<=POINTS_B2;BB1<=POINTS_B1;BB0<=\"0000\"; CC2<=POINTS_C2;CC1<=POINTS_C1;CC0<=\"0000\"; DD2<=POINTS_D2;DD1<=POINTS_D1;DD0<=\"0000\"; END PROCESS; END ARCHITECTURE ART;

功能仿真如下

计分器电路JFQ仿真图

当复位端清零,四位选手各组别分数将为零,当给A加分时,POINTS-A2=1,POINTS-A1=0,实现了加分功能。

2、抢答鉴别电路QDJB的VHDL源程序 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS

PORT(CLR: IN STD_LOGIC; A,B,C,D: IN STD_LOGIC; A1,B1,C1,D1: OUT STD_LOGIC;

STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY QDJB;

ARCHITECTURE ART OF QDJB IS

CONSTANT W1: STD_LOGIC_VECTOR:=\"0001\"; CONSTANT W2: STD_LOGIC_VECTOR:=\"0010\"; CONSTANT W3: STD_LOGIC_VECTOR:=\"0100\"; CONSTANT W4: STD_LOGIC_VECTOR:=\"1000\"; BEGIN

PROCESS(CLR,A,B,C,D)IS BEGIN

IF CLR='1'THEN STATES<=\"0000\";

ELSIF (A='1'AND B='0'AND C='0'AND D='0') THEN A1<='1'; B1<='0'; C1<='0'; D1<='0';STATES<=W1; ELSIF (A='0'AND B='1'AND C='0'AND D='0') THEN A1<='0'; B1<='1'; C1<='0'; D1<='0';STATES<=W2; ELSIF (A='0'AND B='0'AND C='1'AND D='0') THEN A1<='1'; B1<='0'; C1<='1'; D1<='0';STATES<=W3; ELSIF (A='0'AND B='0'AND C='0'AND D='1') THEN A1<='0'; B1<='0'; C1<='0'; D1<='1';STATES<=W4; END IF; END PROCESS; END ARCHITECTURE ART;

功能仿真如下:

抢答鉴别电路QDJB仿真图

当CLR为=0,A=1,B=0,C=0,D=0时;则A1=1,B1=0,C1=0,D1=0,此

模块实现了鉴别功能。

3、译码器电路YMQ的VHDL源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS

PORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END YMQ;

ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS

WHEN\"0000\"=>DOUT7<=\"0111111\"; WHEN\"0001\"=>DOUT7<=\"0000110\"; WHEN\"0010\"=>DOUT7<=\"1011011\"; WHEN\"0011\"=>DOUT7<=\"1001111\"; WHEN\"0100\"=>DOUT7<=\"1100110\"; WHEN\"0101\"=>DOUT7<=\"1101101\"; WHEN\"0110\"=>DOUT7<=\"1111101\"; WHEN\"0111\"=>DOUT7<=\"0000111\"; WHEN\"1000\"=>DOUT7<=\"1111111\"; WHEN\"1001\"=>DOUT7<=\"1101111\"; WHEN OTHERS=>DOUT7<=\"0000000\"; END CASE; END PROCESS; END ARCHITECTURE ART;

功能仿真如下:

译码电路YMQ仿真图 当AIN4为0000时输出DOUT7为3F。 当AIN4为0001时输出DOUT7为06。 当AIN4为0010时输出DOUT7为5B。 当AIN4为0011时输出DOUT7为4F。 当AIN4为0100时输出DOUT7为66。 当AIN4为0101时输出DOUT7为6D。 当AIN4为0110时输出DOUT7为7D。 当AIN4为0111时输出DOUT7为07。 当AIN4为1000时输出DOUT7为7F。 当AIN4为1001时输出DOUT7为6F。

由以上的仿真结果与译码器的功能能够对应上的。由此证明了此模块是正确的。可以在下面的实验中直接调出使用。

QDJB的STATE[3..0]与JFQ的CHOS[3..0]和YMQ的AIN4[3..0]连接。

五、 总体设计电路图

抢答器顶层电路原理图

A、B、C、D四位选手谁最先抢答成功,则此选手的台号灯(LEDA-LEDD)就变亮,若选手回答问题正确,将对其进行加分,若回答错误,则给抢答成功组减分,并将该组的总分显示在对应的选手计分数码管JF2_A-JF0_A、JF2_B-JF0B、JF2_C-JF0C、JF2_D-JF0_D上。完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。

抢答器整个系统的仿真图

由仿真图可知,当RST=1,CLR=1,ADD=0,A=1,B=0,C=0,D=0,则LEDA=1。ZBXS[6..0]=8F,JF2-A[3..0]=0,JF1-A[3..0]=0,JF-A[3..0]=0。

由于管脚太多,实验箱上只能接有限多个管脚,管脚分配情况如下: 管脚编号 27 28 29 30 38 42 44 47 48 49 50 59 60 61 62 管脚定位 CLR A B C D RST ADD LEDA LEDB LEDC LEDD JF2_A3 JF2_A2 JF2_A1 JF2_A0 管脚分配图

在EDA实验箱上验证所设计的电路,CLR接高频率,A、B、C、D四个选手接高低电平,鉴别器的输出分别接指示灯,译码器的输出接LED数码管,加分器的输出将接计分显示译码器。当主持人按下使能端时,四个选手同时开始进行抢答,若A第一个抢答时,即当A接到高电平时,A灯将变亮,若回答问题正确,则主持人将对其进行加分,显示在该组别的译码器上。

六、 设计心得体会

三周的课程设计,给我印象最深的是要设计一个成功的电路, 必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路单元的连接及电路的细节设计上 ,如每个模块都必须通过VHDL语言来生成,以便调用。在多种方案的选择中,我仔细比较分析其原理以及可行的原因,最后还是在老师的耐心指导下,使整个电路可稳定工作。

通过课程设计,使我们将课堂上的理论知识有了进一步的了解,并增强 了我对数字电子技术这门课程的兴趣。此次实验还运用了EDA的知识,对MAXPLUSⅡ进行了进一步利用和掌握,操作更加熟练。了解了更多元器件的工作原理。但同时也表明了我在知识方面掌握的不足,在此次设计过程中,由于频繁使用MAXPLUSⅡ,因此使我在电脑操作上有了进一步的提高。

整个实验过程中,我深刻体会到在设计过程中,需要反复实践,其过程 很可能及其烦琐,有时花很长时间才能设计出来所需的电路,那时心中未免有些灰心,有时还特别想放弃,此时更加需要静下心来,查找原因 。对于不明白的地方,要虚心的向同学请教,直到搞明白为止。

尽管这次设计性试验做的不够理想,但我毕竟努力尝试过了,我会在以 后的学习和生活中继续努力,对于欠缺不足的地方,我会努力改正,努力学习培养独立思考的能力,从而为以后的设计性实验奠定基础。

因篇幅问题不能全部显示,请点此查看更多更全内容