EDA课程设计竞赛抢答器Word文档下载推荐.docx
- 文档编号:18198240
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:10
- 大小:258.88KB
EDA课程设计竞赛抢答器Word文档下载推荐.docx
《EDA课程设计竞赛抢答器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA课程设计竞赛抢答器Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
指导教师
专业负责人
2011年3月7日
一、总体设计思想
1.基本原理
根据系统设计要求可知,系统的输入信号有:
各组的抢答按钮ABCDEF,系统清零信号CLR,系统时钟信号CLK,计分复位端rst,加分按钮ADD,减分按钮ACC,系统的输出信号有:
六个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD、LEDE、LEDF,六个组抢答时的抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
本系统应具有的功能有:
第一抢答信号的鉴别和锁存功能;
抢答计分功能;
各组得分的累加和动态显示功能。
根据以上分析,我们可将整个系统分为三个主要模块:
抢答鉴别模块QDJB;
抢答计分模块JFQ;
显示译码模块YMQ。
系统的工作原理如下:
当主持人按下使能端CLR时,抢答器开始工作,ABCDEF六个抢答者谁先抢答成功则此选手的台号灯(LEDA-LEDF)将点亮,并且主持人前的组别显示数码将显示出抢答成功者的台号,扬声器发出2-3秒的音响。
接下—来主持人提问若回答正确,主持人按加分按钮ADD,若回答错误,按减分按钮ACC,抢答计分模块JFQ将给对应的组加分或者减分,并将组该的总分显示在对应的选手计分数码管上。
完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。
2.设计框图
二、设计步骤和调试过程
1、总体设计电路
2、模块设计和相应模块程序
●抢答鉴别模块
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityqdjbis
port(rst,clk2:
instd_logic;
s0,s1,s2,s3,s4,s5:
states:
bufferstd_logic_vector(5downto0);
tmp:
outstd_logic);
endqdjb;
architectureoneofqdjbis
signalst:
std_logic_vector(5downto0);
begin
p1:
process(s0,rst,s1,s2,s3,s4,s5,clk2)
ifrst='
0'
thentmp<
='
;
st<
="
0000"
elsifclk2'
eventandclk2='
1'
then
if(s0='
orst(0)='
)andnot(st
(1)='
orst
(2)='
orst(3)='
orst(4)='
orst(5)='
)thenst(0)<
endif;
if(s1='
orst
(1)='
)andnot(st(0)='
)thenst
(1)<
if(s2='
)thenst
(2)<
if(s3='
)thenst(3)<
if(s4='
)thenst(4)<
if(s5='
)thenst(5)<
tmp<
=s0ors1ors2ors3ors4ors5;
endif;
endprocessp1;
p2:
process(states(0),states
(1),states
(2),states(3),states(4),states(5))
begin
if(st="
)thenstates<
elsif(st<
0001"
0010"
0100"
0011"
0101"
1000"
0110"
endif;
endprocessp2;
endone;
抢答鉴别模块用来准确直观地判断A、B、C、D、E、F六组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。
同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。
●计分器模块
entityjsis
port(clk,rst,s,stop:
warn:
outstd_logic;
ta,tb:
bufferstd_logic_vector(3downto0));
endjs;
architectureoneofjsis
signalco:
std_logic;
process(clk,rst,s,stop,ta)
orstop='
ta<
elsifclk'
eventandclk='
co<
ifs='
ifta="
1001"
co<
elseta<
=ta-1;
endif;
process(co,rst,s,stop,tb)
tb<
elsifco'
eventandco='
iftb="
thentb<
elsetb<
=tb-1;
计分模块的运行方式是按照十进制进行加减,即当时钟出现上升沿时就进行加一或者减一的操作。
●译码器模块
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYYMQIS
PORT(AIN4:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDYMQ;
ARCHITECTUREARTOFYMQIS
BEGIN
PROCESS(AIN4)
BEGIN
CASEAIN4IS
WHEN"
=>
DOUT7<
1111110"
--0
0110000"
--1
1101101"
--2
1111001"
--3
0110011"
--4
1011011"
--5
1011111"
--6
0111"
1110000"
--7
1111111"
--8
1111011"
--9
WHENOTHERS=>
0000000"
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREART;
在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。
3、仿真及仿真结果分析
●抢答鉴别模块仿真图
●译码模块仿真图
●计分器模块仿真图
3、实验调试结果
抢答鉴别模块:
第一个按下键的小组,抢答信号判定电路LOCK通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示、计时和计分会保存到主持人对系统进行清零操作时为止。
当INI=1时系统复位,使组别显示信号G=0000,各组的指示灯信号A1=0,B1=0,C1=0,D1=0;
当INI=0,即低电平有效,使其进入抢答鉴别状态,到CLK的上升沿到来时,以A组抢答成功为例,当输入信号为A=1,B=0,C=0,D=0,输出信号G=1000,A1=1,即为鉴别出A组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。
同理其他组别抢答成功也是这样的鉴别过程。
记分模块为哪组进行记分取决于鉴别模块的输入信号G,当G=1000时表示A组最先抢答,则在此模块中为A组记分,当G=0100时表示B组最先抢答,则在此模块中为B组记分,当G=0010时表示C组最先抢答,则在此模块中为C组记分,当G=0001时表示D组最先抢答,则在此模块中为D组记分。
以A组为例来说明此模块的设计,当复位信号RST=1时,系统复位且A组的分值显示初始值,为100分。
当RST=0时,如果该组选手答题正确,则主持人按下加分键,即ADD=1,此时对该组进行加分操作;
如果该组选手答题错误,则主持人按下减分键,即SUB=1,此时对该组进行减分操作。
三、结论及心得体会
通过这次对抢答器的设计和实践,学到了很多的东西,不仅巩固了以前所学的知识,而且学到了书本上没有的东西,在调试中每修改一个小的错误,自己心中的成就感就徒增。
在这次设计,把理论与实践信结合起来,在老师的指导下和视频学习下,有些关键的问题才得以解决,锻炼了自己的能力,对以后走的路有了更清楚的认识,同时有了更多的信心。
参考资料
[2]江国强:
《EDA技术习题与实验》,电子工业出版社
[3]曹昕燕,周风臣,聂春燕:
《EDA技术试验与课程设计》,清华大学出版社
[4]黄仁欣:
《EDA技术实用教程》,清华大学出版社
[5]汉泽西.EDA技术与应用【M】.北京:
北京航空航天大学出版社,2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 竞赛 抢答
![提示](https://static.bdocx.com/images/bang_tan.gif)