EDA课程设计智能抢答器文档格式.docx
- 文档编号:18295400
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:15
- 大小:558.75KB
EDA课程设计智能抢答器文档格式.docx
《EDA课程设计智能抢答器文档格式.docx》由会员分享,可在线阅读,更多相关《EDA课程设计智能抢答器文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
同时,还可
以设置计分、犯规及奖惩记录等各种功能。
本设计的具体要求是:
1.设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
2.电路具有第一抢答信号的鉴别和锁存功能。
在主持人交系统复位并发出抢
答指令后,若抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别,
同时扬声器发出“嘀嘟”的双音音响,且持续2~3秒。
此时,电路应具备自锁功
能,使别组的抢答开关不起作用。
3.设置计分电路。
每组在开始时预置成100分,抢答后由诗人计分,答对一次加10分,否则减10分。
4.设置犯规电路。
对提前抢答和超时抢答的组别鸣喇叭示警,并由组别显示
电路显示出犯规组别。
1.1.2设计分析与设计思路
设计分析与设计思路设计分析与设计思路:
根据系统设计要求可知,系统的输入信号有:
各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;
系统的输出信号有:
四个组抢答成功与否的指示灯控制信号输出口LEDA、LESB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
本系统应具有的功能有:
第一抢答信号的鉴别和锁存功能;
抢答计时功能;
各组得分的累加和动态显示功能;
抢答犯规记录功能。
2抢答器各模块的原理及介绍
2.1系统的框图及介绍
2.1.1结构框图及系统框图
图2.1抢答器系统及结构框图
原理分析:
将电路分为三个主要模块:
抢答鉴别模块QDJB;
计时模块JSQ;
记分模块JFQ。
可用静态显示,使用4个数码管,两个显示计时,
一个显示组别,一个显示分数。
2.2模块的介绍
2.2.1抢答鉴别模块QDJB
图2.2QDJB
在抢答鉴别电路设计中,A、B、C、D四组抢答,理论上应该有16种可
能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成
功的可能性非常小,因此我们可设计成只有四种情况,这大大简化了电路的
设计复杂性。
2.2.2计时模块JSQ
图2.3JSQ
本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,
功能比较齐全。
其中初始值的预置功能是将时间的两位数(单位为秒)分解
成两个数分别进行预置,默认时间为60秒倒计时。
TA、TB端分别预置两位
数值,再经过LDN端确认所置时间,EN端为高电平后开始计时。
每个数的预置则采用高电平计数的方式进行,CLK接时钟信号,操作简洁。
2.2.3记分模块JFQ
图2.4JFQ
在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减
即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显
示分变得越来越麻烦。
因此为了减少译码显示的麻烦,一般是将一个大的进
制数分解成数个十进制以内的时制数,计数器串级连接。
但随着位数的增加,
电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相
应的操作,而且由于设计要求加减分均为10的倍数故而可以将个位一直设为
0,这样既减少了接口,又大大地简化了设计。
2.2.4译码器显示模块YMQ
图2.5YMQ
本译码器用于将抢答鉴别模块抢答成功的组别和计时器的时间进行显
示,AIN4[3..0]端输入需显示的二进制数组,DOUT7[6..0]端输出显示在数
码管,显示显示范围为0~9。
2.3系统的源程序
2.3.1抢答鉴别模块QDJB
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYQDJBIS
PORT(CLR:
INSTD_LOGIC;
A,B,C,D:
--4个组
A1,B1,C1,D1:
OUTSTD_LOGIC;
STATES:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYQDJB;
ARCHITECTUREARTOFQDJBIS
signala_1,b_1,c_1,d_1:
STD_LOGIC;
BEGIN
PROCESS(CLR,A,B,C,D)IS
IFCLR='
1'
THENSTATES<
="
0000"
;
a_1<
='
0'
b_1<
c_1<
d_1<
--清零
ELSIFa_1='
orb_1='
orc_1='
ord_1='
thennull;
--锁存,当有一组选中时其他组再抢答没作用
ELSIFa='
thena_1<
STATES<
0001"
ELSIFb='
thenb_1<
0010"
ELSIFc='
thenc_1<
0011"
ELSIFd='
thend_1<
0100"
ENDIF;
a1<
=a_1;
b1<
=b_1;
c1<
=c_1;
d1<
=d_1;
ENDPROCESS;
ENDARCHITECTUREART;
2.3.2计时模块JSQ
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYJSQIS
PORT(CLR,LDN,EN,CLK:
TA,TB:
QA:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
QB:
baoj:
OUTSTD_LOGIC);
ENDENTITYJSQ;
ARCHITECTUREARTOFJSQIS
SIGNALDA:
STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALDB:
SIGNALQ:
BEGIN
PROCESS(TA,TB,CLR)IS
IFCLR='
THEN
DA<
DB<
ELSE
IFTA='
=DA+'
;
ENDIF;
IFTB='
=DB+'
ENDPROCESS;
PROCESS(CLK)
VARIABLETMPA:
VARIABLETMPB:
THENTMPA:
TMPB:
0110"
baoj<
Q<
ELSIFCLK'
EVENTANDCLK='
ANDQ='
IFLDN='
=DA;
=DB;
ELSIFEN='
IFTMPA="
TMPA:
1001"
IFTMPB="
THENTMPB:
ELSETMPB:
=TMPB-1;
ELSETMPA:
=TMPA-1;
ANDTMPA="
THEN------------------
baoj<
ENDIF;
QA<
=TMPA;
QB<
=TMPB;
ENDART;
2.3.3记分模块JFQ
ENTITYJFQIS
PORT(RST:
ADD:
SUB:
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));
ENDJFQ;
ARCHITECTUREARTOFJFQIS
BEGIN
PROCESS(RST,ADD,SUB,CHOS)
VARIABLEPOINTS_A2,POINTS_A1:
STD_LOGIC_VECTOR(3DOWNTO0);
VARIABLEPOINTS_B2,POINTS_B1:
VARIABLEPOINTS_C2,POINTS_C1:
VARIABLEPOINTS_D2,POINTS_D1:
IFRST='
THEN
POINTS_A2:
POINTS_A1:
POINTS_B2:
POINTS_B1:
POINTS_C2:
POINTS_C1:
POINTS_D2:
POINTS_D1:
--ENDIF;
ELSIFADD='
IFCHOS="
IFPOINTS_A1="
IFPOINTS_A2="
ELSE
=POINTS_A2+"
=POINTS_A1+"
ELSIFCHOS="
IFPOINTS_B1="
IFPOINTS_B2="
=POINTS_B2+"
=POINTS_B1+"
IFPOINTS_C1="
IFPOINTS_C2="
=POINTS_C2+"
=POINTS_C1+"
IFPOINTS_D1="
IFPOINTS_D2="
=POINTS_D2+"
=POINTS_D1+"
ELSIF(SUB='
)THEN
1111"
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<
2.3.4译码器显示模块YMQ
ENTITYYMQIS
PORT(AIN4:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDYMQ;
ARCHITECTUREARTOFYMQIS
PROCESS(AIN4)
CASEAIN4IS
WHEN"
=>
DOUT7<
0111111"
--0
0000110"
--1
1011011"
--2
1001111"
--3
1100110"
--4
0101"
1101101"
--5
1111101"
--6
0111"
0000111"
--7
1000"
1111111"
--8
1101111"
--9
WHENOTHERS=>
0000000"
ENDCASE;
2.3.5顶层原理图文件
图2.6顶层原理图
3仿真波形
3.1仿真波形
3.1.1抢答鉴别模块QDJB
图3.1抢答鉴别模块QDJB
CLR低电平有效,当其为高电平时,输出无效。
当其为低电平时,A,B,
C,D哪一个为高电平则输出哪个,对应的LED灯亮。
3.1.2计时模块JSQ
图3.2计时模块JSQ
CLR低电平有效,当CLR为高电平时,电路不工作。
当CLR为低电平时开始
计时。
如没人抢答,时间到后发出提示音。
如有人抢答,答题时间到后,发出提
示音。
输入:
QA个位,QB十位,输出:
TA个位,TB十位。
3.1.3记分模块JFQ
图3.3记分模块JFQ
初始分数为100分,当ADD经过第一个上升沿时,CHOS【3】输出高电平则对应的给D加上10分
表3.1十进制数字对应的LED译码器表示
十进制
二进制
LED共阴极译码器输出
0000
0111111
1
0001
0000110
2
0010
1011011
3
0011
1001111
4
0100
1100110
5
0101
1101101
6
0110
1111101
7
0111
0000111
8
1000
1111111
9
1001
1101111
4实习总结
4.1实习总结
在这次设计中,我花了不少的时间,其中有苦也有泪。
苦的是我付出了不少
的汗水,乐的是在付出的过程中我得到了许多,也学会了许多。
因为一个人的能力毕竟有限,在设计方面难免会出现这样那样的错误,但正
是这些错误促进了我的进步。
根据电路的特点,我用层次化结构化设计概念,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块合起来联试,这培养了我们合作的精神,同时加深了层次化设计的概念。
在这次课程设计中,我真正体会到了知识的重要性。
在设计的过程中,遇到问题我会先独立思考,到自己不能解决的时候我就会和同学讨论,实在解决不了我就会向指导老师请教,应该说从功能的实现到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚着大家对我的帮助。
最后,在设计的过程中我进一步养成了软件设计的方法,完成一个项目的的程序,进一步了解了设计的步骤,进一步加深了对《EDA技术实用教程》这门课的理解,增强了以后学习的兴趣,为以后的工作积累了一定的经验。
参考文献
(1)、《EDA技术与VHDL》潘松黄继业2009.09
(2)、《EDA技术课程设计》孙俊逸刘江海2009.05
(3)、《EDA技术与VHDL电路开发应用实践》刘欲晓方强2009.04
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 智能 抢答