EDA课程设计四路智能抢答器_第1页
EDA课程设计四路智能抢答器_第2页
EDA课程设计四路智能抢答器_第3页
EDA课程设计四路智能抢答器_第4页
EDA课程设计四路智能抢答器_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上一、课题简介在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等各种手段批示出第一抢答者。同时,还可以设置计分、犯规及奖惩记录等各种功能。本设计的具体要求是: 设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。(2) 电路具有第一抢答信号的鉴别和锁存功能。(3)系统具有计时功能(4)系统具有计分电路。 二、课题背景数字电路产品在生活中有着极其广泛的应用,包括计算机、数字通信、智能仪器仪表、自动控制及航天等领域中。这些给人们生活,工作等方面带来了极大的方便。数字电路设备实现简单,速度和可靠性好

2、。智力竞赛是一种能锻炼人的头脑开发人的IQ的一种大众化游戏,也起到娱乐的作用。现在智力竞赛越来越被多数人喜爱和娱乐,而且国内外各地电视台、工厂、学校等单位也会常常举办类似的智力竞赛活动,然而智力竞赛抢答器是必要设备。 在有些地方举行的各种智力竞赛游戏中我们经常看到有抢答的环节,举办方大多数采用让选手通过举答题板的方法或者是举手的方式判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。三、课题在国内外的研究现状 抢答器一般分为电子抢答器和电脑抢答器。电子抢答器的中心构造一般都是由抢答器由数字电子集成

3、电路组成,其搭配的配件不同又分为,非语音非记分抢答器和语音记分抢答器。非语音记分抢答器构造很简单,就是一个抢答器的主机和一个抢答按钮组成,在抢答过程中选手是没有记分的显示屏。语音记分抢答器是由一个抢答器的主机、主机的显示屏以及选手的记分显示屏等构成,具有记分等功能。电子抢答器多适用于学校和企事业单位举行的简单的抢答活动。电脑抢答器又分为无线电脑抢答器和有线电脑抢答器。无线电脑抢答器的构成是由:主机和抢答器专用的软件和无线按钮。无线电脑抢答器利用电脑和投影仪,可以把抢答气氛活跃起来,一般多使用于电台等大型的活动。有线电脑抢答器也是由主机和电脑配合起来,电脑再和投影仪配合起来,利用专门研发的配套的

4、抢答器软件,可以十分完美的表现抢答的气氛。 抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使用的抢答器有的电路较复杂不便于制作,可靠性低,实现起来很困难;有的则用一些专用的集成块 ,而专用集成块的购买又很困难。四、课题设计意义 在这个竞争激烈的社会中,知识竞赛,评选优胜,选拔人才之类的活动俞动愈加频繁。在竞赛中,都是多个选手一起参加,如果采用举手回答问题的这个方式来进行竞赛已不适应社会的需要。并且在主持人提出问题时候,如果让选手用举手的方式来抢答,这在某种程度上会因主持人的主观误断造成比赛的不公平性。而在当今社会里,比赛要追求准确、公正、直观地判断第一抢答者,这时候抢答

5、器就派上用场了。 随着科技的发展,现在的抢答器向着数字化、智能化的方向发展,这是必然提高了智能抢答器的制造成本,鉴于现在小规模的知识竞赛越来越多,操作简单,经济适用的小型抢答器肯定很有市场。五、设计内容1、课题阐述 根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口LEDA、LESB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干

6、,各组计分动态显示的控制信号若干。 电路有三个主要模块:抢答鉴别模块QDJB;计时模块JSQ;记分模块JFQ。可用静态显示,使用4个数码管,两个显示计时,一个显示组别,一个显示分数本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计时功能;各组得分的累加和动态显示功能。2、顶层原理图文件3、模块的介绍3.1抢答鉴别模块QDJB 在抢答鉴别电路设计中,A、B、C、D四组抢答,理论上应该有16种可能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成功的可能性非常小,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。图2.2 QDJB3.2计时模块JSQ 本系统中的计时

7、器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中初始值的预置功能是将时间的两位数(单位为秒)分解成两个数分别进行预置,默认时间为60秒倒计时。TA、TB端分别预置两位数值,再经过LDN端确认所置时间,EN端为高电平后开始计时。每个数的预置则采用高电平计数的方式进行,CLK接时钟信号,操作简洁。 图2.3 JSQ3.3记分模块JFQ 在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示分变得越来越麻烦。因此为了减少译码显示的麻烦,一般是将一个大的进制数分解成数个十进制以内的时制数,计数器串级连接。但随

8、着位数的增加,电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,而且由于设计要求加减分均为10的倍数故而可以将个位一直设为0,这样既减少了接口,又大大地简化了设计。 图2.4 JFQ3.4译码器显示模块YMQ 本译码器用于将抢答鉴别模块抢答成功的组别和计时器的时间进行显示,AIN43.0端输入需显示的二进制数组,DOUT76.0端输出显示在数码管,显示显示范围为09。 图2.5 YMQ4、 VHDL源程序4.1抢答鉴别模块QDJBLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS  PORT(

9、CLR:  IN STD_LOGIC;        A, B, C, D:  IN STD_LOGIC; -4个组       A1,B1,C1,D1:  OUT STD_LOGIC;        STATES:  OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY QDJB; ARCHITECTURE ART OF QDJB

10、 ISsignal a_1,b_1,c_1,d_1: STD_LOGIC;  BEGIN  PROCESS(CLR,A,B,C,D) IS  BEGINIF CLR='1' THEN STATES<="0000"a_1<='0'b_1<='0'c_1<='0'd_1<='0'-清零ELSIF a_1='1' or b_1='1' or c_1='1' or d_1='1'

11、then null;-锁存,当有一组选中时其他组再抢答没作用ELSIF a='1' then a_1<='1'STATES <="0001"ELSIF b='1' then b_1<='1'STATES <="0010"ELSIF c='1' then c_1<='1'STATES <="0011"ELSIF d='1' then d_1<='1'STATES <

12、;="0100"END IF;a1<=a_1;b1<=b_1;c1<=c_1;d1<=d_1;  END PROCESS; END ARCHITECTURE ART;4.2计时模块JSQLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ IS PORT(CLR,LDN,EN,CLK: IN STD_LOGIC; TA,TB: IN STD_LOGIC; QA: OUT STD_LOGIC_VECTOR(3 DOWNTO

13、0); QB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY JSQ; ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DB: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(TA,TB,CLR) IS BEGIN IF CLR='1' THEN DA<="0000" DB<="0000" ELSEIF TA='1' THEN

14、DA<=DA+'1' ; END IF; IF TB='1' THEN DB<=DB+'1' END IF; END IF; END PROCESS; PROCESS(CLK) VARIABLE TMPA: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE TMPB: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLR='1' THEN TMPA:="0000" TMPB:="0110" ELSIF CLK'E

15、VENT AND CLK='1' THEN IF LDN='1' THEN TMPA:=DA; TMPB:=DB; ELSIF EN='1' THEN IF TMPA="0000" THEN TMPA:="1001" IF TMPB="0000" THEN TMPB:="0110" ELSE TMPB:=TMPB-1; END IF; ELSE TMPA:=TMPA-1; END IF; END IF; END IF; QA<=TMPA; QB<=TMPB

16、; END PROCESS; END ART; 4.3记分模块JFQLIBRARY 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_LO

17、GIC_VECTOR(3 DOWNTO 0); END ENTITY JFQ ; ARCHITECTURE ART OF JFQ IS BEGIN PROCESS(RST,ADD,CHOS) 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,POINT

18、S_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&

19、quot; POINTS_D1:="0000" ELSIF CHOS="0001" THENIF 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="

20、;0010" THENIF 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" THE

21、N 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="

22、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

23、<=POINTS_C1; CC0<="0000" DD2<=POINTS_D2; DD1<=POINTS_D1; DD0<="0000" END PROCESS; END ART;4.4译码器显示模块YMQLIBRARY 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(

24、6 DOWNTO 0); END YMQ; ARCHITECTURE ART OF YMQ ISBEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS WHEN "0000"=>DOUT7<="" -0 WHEN "0001"=>DOUT7<="" -1 WHEN "0010"=>DOUT7<="" -2 WHEN "0011"=>DOUT7<="" -3 WHEN

25、"0100"=>DOUT7<="" -4 WHEN "0101"=>DOUT7<="" -5 WHEN "0110"=>DOUT7<="" -6WHEN "0111"=>DOUT7<="" -7 WHEN "1000"=>DOUT7<="" -8 WHEN "1001"=>DOUT7<="&quo

26、t; -9 WHEN OTHERS=>DOUT7<="" END CASE; END PROCESS; END ART;5、仿真波形5.1抢答鉴别模块QDJB5.2计时模块JSQ5.3记分模块JFQ5.4 译码显示模块YMQ 5.5仿真波形图释 对于抢答鉴别模块,CLR低电平有效,当其为高电平时,输出无效。当其为低电平时,A,B,C,D哪一个为高电平则输出哪个,对应的LED灯亮。对于计时模块,CLR低电平有效,当CLR为高电平时,电路不工作。当CLR为低电平时开始计时。如没人抢答,时间到后发出提示音。如有人抢答,答题时间到后,发出提示音。输入:QA个位,QB十位,输出:TA个位,TB十位。对于计分模块,初始分数为100分,当ADD经过第一个上升沿时,CHOS【3】输出高电平,则对应的给D加上10分。对于译码器模块,显示电路由LED共阴极译码器构成。其十进制数09对应的二进制表示和LED共阴极译码器输出如表1所示。6、引脚设置Node NameDirectionLocation1AInputPIN_N262A1OutputPIN_H173BInputPIN_N254B1OutputPIN_E205CInputPIN_P266C1OutputPIN_D217DInputPIN_P258D1OutputPIN_AE5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论