数字式竞赛抢答器设计
题目:数字式竞赛抢答器设计(4人抢答器)
一、需求分析
1、问题描述:
设计一个可容纳不低于四组参赛者同时抢答的数字抢答器,可判断第一抢答者并报警指示抢答成功,其他组抢答均无效。用数码管显示成功抢答者的组号,若提前抢答则对相应的抢答组发出警报。
2、基本要求:
a 裁判按下开始按钮之后方可开始抢答,当裁判按下开始之后抢答开始且提示灯变亮。1、2、3、4,4名选手开始抢答并按下自己对应的按钮,当第一选手成功抢答后蜂鸣器报警提示、对应选手指示灯变量且数码管显示成功抢答者的编号,之后其他选手操作均无效。
b 裁判未按下开始按钮之前若有人抢答视为犯规,犯规提示灯变亮、蜂鸣器报警提示、对应选手指示灯变量且数码管显示犯规者的编号。
c 每完成一轮抢答后,需要裁判按重置按钮才可以进行下一轮抢答。否则任何操作均无效。
(1) 输入形式
裁判:开始按钮
重置按钮
选手;1号抢答按钮
2号抢答按钮
3号抢答按钮
4号抢答按钮
(2) 输出形式
开始提示灯
4位选手对应的指示灯
蜂鸣器
犯规报警提示灯
数码管
(3) 程序所能达到的功能
可判断第一抢答者并报警指示抢答成功,其他组抢答均无效。用数码管显示成功抢答者的组号,若提前抢答则犯规且犯规警告灯发亮、蜂鸣器报警且数码管会显示抢答者编号。
二、设计概要
N
Y
Y
N
在实际实验中,用k0,k1,k2,k3代表四位选手,k5,k6分别代表裁判和重置复位,d0,d1,d2,d3为四名选手抢答成功的指示,此外,数码管会显示具体选手,有人抢答蜂鸣器(d6)就会报警,d9亮则证明选手是违规抢答。
三、程序设计
module qdq(clk,k1,k2,k3,k4,o1,o2,o3,o4,out,start,reset,sign,qout);
input clk,k1,k2,k3,k4,start,reset;
output o1,o2,o3,o4,out,sign