智力抢答器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一:摘要
抢答器是在智力竞赛中为了答题时方便进行抢答而设计的一种优先判决器电路,本次的课程设计要求是可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。电路具有第一抢答信号的鉴别和锁存功能。在主持人将系统复位并发出抢答指令后,若参加者按抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别。此时,电路具备自锁功能,使别组的抢答开关不起作用。设置记分电路。每组在开始时预置成100分,抢答后主持人记分,答对依次加10分。设置犯规电路。对提前抢答和超时抢答的组别鸣喇叭示警,并由组别显示电路显示出犯规组别。按照这样的规律进行智力竞赛抢答游戏,要完成这些逻辑功能,这个电路应该包括鉴别模块,计数模块,报警模块,译码模块,计分模块,分频模块。
关键词:抢答封锁鉴别计数报警
二:设计要求
1:抢答器同时供四组选手比赛,分别用四个按钮S0,S1,S2,S3表示。
2:设置一个系统清除和开始抢答的总控制开关又主持人作用RST.
3:抢答器具有锁存与显示功能,即锁定最先抢答的选手的编号并由LED显示出来
4:选手的抢答实行优先制,即当第一个选手按下抢答键时,其他选手的按键不再有效直到主持人将系统清楚
5:抢答器具有定时功能,每次抢答时间先前设定,超出抢答时间就会出现报警提示,此轮抢答作废
6:如果答对由主持人记分。初始预置100分,每答对一次加十分
三:方案论述
3.1抢答器的鉴别模块
在这个模块中主要实现的是抢答过程中的前大功能,如果选手出现超前抢答则发出警告报警声,并能记录抢答者编号。实现当有一路抢答器按键按下时,其他抢答器信号将被改抢答器封锁而不能正常抢答。其中四个抢答信号:S0,S1,S2,S3;抢答状态显示信号states 抢答与报警时钟信号clk2;系统复位信号rst;报警信号warm.
3.2抢答器计数模块
在这个模块中主要实现抢答器的计时功能,在有抢答器按键按下后的20秒的倒计时,并且在20秒内倒计时后无人抢答就显示抢答超时并报警提示。在这其中有时钟信号clk1;系
统复位信号ret;抢答是能信号start;无人抢答信号warm;计时终止信号stop;计时十位和计时个位信号tb,ta。
3.3报警模块
在这个模块中主要实现抢答过程中的报警功能。在有限时间内无人抢答或者超前抢答都会用报警声来提示。其中包括计时停止信号stop;状态输出信号alm;计数脉冲clk。
3.4译码模块
在这个模块中主要实现抢答过程中将BCD码转换成7段得功能。
3.5分频模块
在这个模块中主要实现抢答过程中所需要的时钟信号。
3.6记分模块
这个模块主要实现抢答者答对时加十分的功能。
3.7顶层文件
在这个模块中是对前面模块的综合编写
3.8电路图
四:单元电路设计代码实现
4.1抢答器鉴别模块
LINBARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY JIANBIE IS
PORT(CLR: IN STA_LOGIC;
A,B,C,D: IN STD_LOGIC;
A1,B1,C1,D1: OUT STD_LOGIC;
STATES: OUT STD_LOGIC_VECTOR(0 TO 3));
END ENTITY JIANBIE;
ARCHITECTURE ART OF JIANBIE IS
SIGNAL a_1,b_1,c_1,d_1:STD_LOGIC;
BEGIN
PROCESS(CLR,A,B,C,D) IS
BEGIN
IF 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='0'or d_1='0' 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<="0100";
END IF;
a1<=a_1;b1<=b_1;c1<=c_1;d1<=d_1;
END PROCESS;
END ARCHITECTURE ART;
4.2计时模块
LINBARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY JISHI IS
PORT(CLR,LDN,EN,CLK: IN STA_LOGIC;
TA,TB: IN STD_LOGIC_VECTOR(0 TO 3);
QA: OUT STD_LOGIC_VECTOR(0 TO 3); --个位
QB: OUT STD_LOGIC_VECTOR(0 TO 3)); --十位
END ENTITY JISHI;
ARCHITECTURE ART OF JISHI IS
BEGIN
PROCESS(CLK) IS
V ARIABLE TMPA:STD_LOGIC_VECTOR(0 TO 3);
V ARIABLE TMPB:STD_LOGIC_VECTOR(0 TO 3);
BEGIN
IF CLR = '1' THEN TMPA:="0000";TMPB:="0010";--清零倒计时20s ELSIF CLK'EVENT AND CLK='1' THEN
IF LDN='1' THEN TMPA:=TA; TMPB:=TB --置数控制
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;
END PROCESS;
END ARCHITECTURE ART;
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<="0100";
END IF;
a1<=a_1;b1<=b_1;c1<=c_1;d1<=d_1;
END PROCESS;
END ARCHITECTURE ART;
4.3计分模块