1、电子技术课程设计 数字式竞赛抢答器一、 设计任务与要求1二、 总体框图1三、 选择器件2四、 功能模块3五、 总体设计电路图10六、 设计心得体会11 数字式竞赛抢答器一、 设计任务与要求在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。 同时,还可以设置计分、犯规及奖惩记录等多种功能。本设计的具体要求是:(1) 设计一个可容纳4组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。(2) 电路具有第一抢答信号的鉴别功能。在主持人将系统复位并发出抢答指令后,若参赛者按抢答开关,则该组指示灯亮并用组别显示电路显示抢
2、答者的组别,同时扬声器发出“嘟嘟”的双音音响,且持续2-3秒。此时,电路应具备自锁功能,使别组的抢答开关不起作用。(3) 设置计分电路。每组在开始时预置成00分,抢答后由主持人计分,答对一次加10分,否则减10分。二、 总体框图根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,计分复位端RST,加分按钮ADD;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出端口LEDA、LEDB、LEDC、LEDD,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和琐存功能;各组得分的累加的动态显示功能。由
3、以上分析可知,可将整个系统分为两个主要模块:抢答鉴别模块QDJB;抢答计分模块JFQ。对于需要显示的信息,需要接译码器,进行显示译码。整个系统的组成框图如图(一)所示。 图(一) 数字式抢答器的组成框图系统的设计思路如下:当主持人按下使能端时,A、B、C、D四位抢答者谁最先抢答成功则此选手的台号灯(LEDA-LEDD)将点亮,并且主持人前的组别显示数码管将显示出抢答成功者的台号;接下来主持人提问,若回答正确,主持人按加分按钮ADD,抢答计分模块JFQ将给对应的组加分,并将该组的总分显示在对应的选手计分数码管JF2_A-JF0_A、JF2_B_JF0_B、JF2_C-JF0_C、JF2_D-JF
4、0_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
5、; 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 POINT
6、S_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); BEGINIF(ADDEVENT AND ADD=1) THEN IF RST=1 THEN POINTS_A2:=0001;POINTS_A1:=0000; POINTS_B2:=0001;POINTS_B1:=0000; POINTS_C2:=0001;POINTS_C
7、1:=0000; POINTS_D2:=0001;POINTS_D1:=0000; ELSIF CHOS=0001 THEN IF POINTS_A1=1001THEN POINTS_A1:=0000; IF POINTS_A2=1001THEN POINTS_A2:=0000; ELSE POINTS_A2:=POINTS_A2+1; END IF; ELSE POINTS_A1:=POINTS_A1+1; END IF; ELSIF CHOS=0010THEN IF POINTS_B1=1001THEN POINTS_B1:=0000; IF POINTS_B2=1001THEN POIN
8、TS_B2:=0000; ELSE POINTS_B2:=POINTS_B2+1; END IF; ELSE POINTS_B1:=POINTS_B1+1; END IF; ELSIF CHOS=0100THEN IF POINTS_C1=1001THEN POINTS_C1:=0000; IF POINTS_C2=1001THEN POINTS_C2:=0000; ELSE POINTS_C2:=POINTS_C2+1; END IF; ELSE POINTS_C1:=POINTS_C1+1; END IF; ELSIF CHOS=1000THEN IF POINTS_D1=1001THEN
9、 POINTS_D1:=0000; IF POINTS_D2=1001THEN 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; E
10、ND 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
11、);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=1THEN STATES=0000; ELSIF (A=1AND B=0AND C=0AND D=0) THEN A1=1; B
12、1=0; C1=0; D1=0;STATES=W1; ELSIF (A=0AND B=1AND C=0AND D=0) THEN A1=0; B1=1; C1=0; D1=0;STATES=W2; ELSIF (A=0AND B=0AND C=1AND D=0) THEN A1=1; B1=0; C1=1; D1=0;STATES=W3; ELSIF (A=0AND B=0AND C=0AND D=1) THEN A1=0; B1=0; C1=0; D1=1;STATESDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=000000
13、0; 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。由以上的仿真结果与译码器的功能
14、能够对应上的。由此证明了此模块是正确的。可以在下面的实验中直接调出使用。QDJB的STATE3.0与JFQ的CHOS3.0和YMQ的AIN43.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,
15、ADD=0,A=1,B=0,C=0,D=0,则LEDA=1。ZBXS6.0=8F,JF2-A3.0=0,JF1-A3.0=0,JF-A3.0=0。由于管脚太多,实验箱上只能接有限多个管脚,管脚分配情况如下:管脚编号管脚定位27CLR28A29B30C38D42RST44ADD47LEDA48LEDB49LEDC50LEDD59JF2_A360JF2_A261JF2_A162JF2_A0 管脚分配图在EDA实验箱上验证所设计的电路,CLR接高频率,A、B、C、D四个选手接高低电平,鉴别器的输出分别接指示灯,译码器的输出接LED数码管,加分器的输出将接计分显示译码器。当主持人按下使能端时,四个选手
16、同时开始进行抢答,若A第一个抢答时,即当A接到高电平时,A灯将变亮,若回答问题正确,则主持人将对其进行加分,显示在该组别的译码器上。六、 设计心得体会两周的课程设计,给我印象最深的是要设计一个成功的电路, 必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路单元的连接及电路的细节设计上 ,如每个模块都必须通过VHDL语言来生成,以便调用。在多种方案的选择中,我仔细比较分析其原理以及可行的原因,最后还是在老师的耐心指导下,使整个电路可稳定工作。通过课程设计,使我们将课堂上的理论知识有了进一步的了解,并增强了我对数字电子技术这门课程的兴趣。此次实验还运用了EDA的知识
17、,对MAXPLUS进行了进一步利用和掌握,操作更加熟练。了解了更多元器件的工作原理。但同时也表明了我在知识方面掌握的不足,在此次设计过程中,由于频繁使用MAXPLUS,因此使我在电脑操作上有了进一步的提高。整个实验过程中,我深刻体会到在设计过程中,需要反复实践,其过程很可能及其烦琐,有时花很长时间才能设计出来所需的电路,那时心中未免有些灰心,有时还特别想放弃,此时更加需要静下心来,查找原因 。对于不明白的地方,要虚心的向同学请教,直到搞明白为止。尽管这次设计性试验做的不够理想,但我毕竟努力尝试过了,我会在以后的学习和生活中继续努力,对于欠缺不足的地方,我会努力改正,努力学习培养独立思考的能力,从而为以后的设计性实验奠定基础。