八路抢答器.docx
- 文档编号:2969035
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:20
- 大小:104.01KB
八路抢答器.docx
《八路抢答器.docx》由会员分享,可在线阅读,更多相关《八路抢答器.docx(20页珍藏版)》请在冰豆网上搜索。
八路抢答器
课程设计实习报告
设计课题:
数字式八路竞赛抢答器
一.学习目标设计
1.能力目标
⑴会综合应用键盘、LED小灯、蜂鸣器、LED数码管等外围接口进行产品设计
2.知识目标
⑴掌握键盘、LED小灯、蜂鸣器、LED数码管等外围接口的VHDL语言编程;
⑵掌握各种外围接口的灵活运用;
3.素质目标
1培养实验的仿真及下载技能;
2培养互帮互助的同学关系。
二.设计任务及设计分析
1设计任务
在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等各种手段批示出第一抢答者。
同时,还可以设置计分、犯规及奖惩记录等各种功能。
本课题基本要求是:
1.设计一个可容纳八组参赛的抢答器,每组设置一个抢答开关。
2.设置主持人控制键,J0用于控制整个系统清0的按钮,J1是用于发布抢答命令开始的按钮。
同时设置抢答定时电路,且计时起点于抢答命令J1同步,计时终点是第一个抢答者的抢答信号到来,超时而无人抢答则题目作废。
3.系统具有第一抢答信号的鉴别和锁存功能。
在主持人发出抢答指令后,若有一组先按下抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别,同时扬声器发出音响,并封锁其他各组按,使他组的抢答开关不起作用。
4.具有计分功能,使每组在开始时的分数预置成10分,设置两个按钮R,W,抢答后由主持人计分,答对一次加1分,打错一次减一分。
2.设计分析:
(1)功能分析
抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮无效;设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,用指示灯显示抢答组别,蜂鸣器发出1~5s的音响。
设置一个计分电路,每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分。
(2)设计思路
此设计问题可分为第一信号鉴别与锁存模块、答题计时电路模块、计分电路模块,按键模块,蜂鸣器模块和LCD显示模块六部分。
第一信号鉴别锁存模块的关键是准确判断出第一抢答者并将其锁存,在得到第一信号后,将输入端封锁,使其他组的抢答信号无效,可以用触发器或锁存器实现。
设置抢答按钮S0,S1、S2、S3、S4,S5,S6,S7主持人复位信号J0,蜂鸣器驱动信号BAOJING;J1=1时,开始抢答,由第一信号鉴别锁存电路形成第一抢答信号,进行组别显示,控制蜂鸣器发出声响,并启动答题计时电路,若计时时间到,由蜂鸣器发出犯规示警声。
计分电路是一个相对独立的模块,采用十进制加/减计数器、LCD显示,设置复位信号CLEAR、加减分信号R,S,CLEAR=1时所有得分回到起始分(10分),且加、减分信号无效;CLEAR=0时,由第一信号鉴别、锁存电路的输出信号选择进行加减分的组别,按一次R,第一抢答组加1分;按一次W,则减1分。
三、系统模块划分:
将整个系统分为六个主要模块:
1.抢鉴别模块;
2.抢答计时模块;
3.抢答计分模块;
4.蜂鸣器模块;
5.LCD模块;
6.按键模块。
四.设计原理图:
系统总体电路图
五、系统单元电路设计及工作原理
1.第一鉴别及锁存单元
CLEAR为复位端,将输出信号复位或停止警报声。
CLK为警报时钟信号。
老师按下WARN键,即WARN=0,开始抢答。
待测信号,即抢答信号S0,S1,S2,S3,S4,S5,S6,S7输入电路中后,通过判断是哪个信号最先为‘1’得出抢答成功的组别1,2,3,4,5,6,7,8组(一旦有组抢到,其他组则不能再抢),并将组别序号换算为四位二进制信号输出到ZB[3..0]端锁存,LED对应的灯亮,等待输出到计分和计时单元。
同时BAOJING在有成功抢答的情况下发出警报。
2.计分单元
CLEAR为复位端,计分起始分数设为10。
ZB[3..0]端功能是锁存已抢答成功的组别序号,当老师按下加分按钮R后,将给ZB[3..0]所存的组别加分。
每按一次加1分,按下减分按钮W时,则相反。
3.计时单元
CLEAR是复位端,计时起始时间设为30S。
当老师按下STOP键,即STOP=1时,开始倒计时。
倒计时到零时BAOJING信号响。
期间当有组别抢答时,报警响并停止倒计时。
六、主要VHDL源程序
1.第一鉴别及锁存电路的VHDL源程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYLOCKIS
PORT(CLK,CLEAR:
INSTD_LOGIC;
WARN:
INSTD_LOGIC;
S0,S1,S2,S3,S4,S5,S6,S7:
INSTD_LOGIC;
ZB:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
STOP:
OUTSTD_LOGIC;
LED:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
BAOJING:
OUTSTD_LOGIC);
ENDLOCK;
ARCHITECTUREONEOFLOCKIS
SIGNALG:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(CLEAR,CLK,S0,S1,S2,S3,S4,S5,S6,S7)
BEGIN
IFCLEAR='1'THENG<="00000000";LED<="00000000";STOP<='0';
ELSIFCLK'EVENTANDCLK='1'THEN
IFWARN='0'THEN
IF(S7='1')ANDNOT(G(0)='1'ORG
(1)='1'ORG
(2)='1'ORG(3)='1'ORG(4)='1'ORG(5)='1'
ORG(6)='1')THEN
G(7)<='1';LED(7)<='1';BAOJING<='1';
ELSIF(S6='1')ANDNOT(G(0)='1'ORG
(1)='1'ORG
(2)='1'ORG(3)='1'ORG(4)='1'ORG(5)='1'
ORG(7)='1')THEN
G(6)<='1';LED(6)<='1';BAOJING<='1';
ELSIF(S5='1')ANDNOT(G(0)='1'ORG
(1)='1'ORG
(2)='1'ORG(3)='1'ORG(4)='1'ORG(6)='1'
ORG(7)='1')THEN
G(5)<='1';LED(5)<='1';BAOJING<='1';
ELSIF(S4='1')ANDNOT(G(0)='1'ORG
(1)='1'ORG
(2)='1'ORG(3)='1'ORG(5)='1'ORG(6)='1'
ORG(7)='1')THEN
G(4)<='1';LED(4)<='1';BAOJING<='1';
ELSIF(S3='1')ANDNOT(G(0)='1'ORG
(1)='1'ORG
(2)='1'ORG(4)='1'ORG(5)='1'ORG(6)='1'
ORG(7)='1')THEN
G(3)<='1';LED(3)<='1';BAOJING<='1';
ELSIF(S2='1')ANDNOT(G(0)='1'ORG
(1)='1'ORG(3)='1'ORG(4)='1'ORG(5)='1'ORG(6)='1'
ORG(7)='1')THEN
G
(2)<='1';LED
(2)<='1';BAOJING<='1';
ELSIF(S1='1')ANDNOT(G(0)='1'ORG
(2)='1'ORG(3)='1'ORG(4)='1'ORG(5)='1'ORG(6)='1'
ORG(7)='1')THEN
G
(1)<='1';LED
(1)<='1';BAOJING<='1';
ELSIF(S0='1')ANDNOT(G
(1)='1'ORG
(2)='1'ORG(3)='1'ORG(4)='1'ORG(5)='1'ORG(6)='1'
ORG(7)='1')THEN
G(0)<='1';LED(0)<='1';BAOJING<='1';
ENDIF;
STOP<=G(0)ORG
(1)ORG
(2)ORG(3)ORG(4)ORG(5)ORG(6)ORG(7);
ENDIF;
ENDIF;
CASEGIS
WHEN"00000001"=>ZB<="0001";
WHEN"00000010"=>ZB<="0010";
WHEN"00000100"=>ZB<="0011";
WHEN"00001000"=>ZB<="0100";
WHEN"00010000"=>ZB<="0101";
WHEN"00100000"=>ZB<="0110";
WHEN"01000000"=>ZB<="0111";
WHEN"10000000"=>ZB<="1000";
WHENOTHERS=>ZB<="0000";
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREONE;
2.计时电路模块的VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityJISHIis
port(CP,CLEAR:
INSTD_LOGIC;
STOP:
INSTD_LOGIC;
TM:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
BAOJING:
OUTSTD_LOGIC);
endJISHI;
architectureAofJISHIIS
SIGNALYH,YL:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(CP,CLEAR)
BEGIN
IF(CLEAR='1')THEN
YH<="0011";YL<="0000";BAOJING<='0';
ELSIF(CP='1'ANDCP'EVENT)THEN
IFSTOP='0'THEN
IF(YL="0000")THEN
YL<="1001";
IF(YH="0000"ANDYL="0000")THEN
YH<="0000";YL<="0000";BAOJING<='1';
ELSE
YH<=YH-1;
ENDIF;
ELSE
YL<=YL-1;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(YH,YL)
BEGIN
TM<=YH&YL;
ENDPROCESS;
ENDARCHITECTUREA;
3.计时电路JISHI的VHDL源程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
useieee.std_logic_unsigned.all;
ENTITYJSQIS
PORT(CLR,LDN,EN,CLK:
INSTD_LOGIC;
TA,TB:
INSTD_LOGI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八路 抢答