用VHDL语言实现四人智力竞赛抢答器的设计,高分寻高人解答

来源:百度知道 编辑:UC知道 时间:2024/04/29 07:37:12
一、问题描述:
设计一个4人参加的智力竞赛抢答计时器。电路具有回答问题时间控制功能。要求回答问题时间小于等于100妙(显示为0~99),时间显示采用倒计时方式。当达到限定时间时,发出声响以示警告;当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。

二、功能要求:
1、用feng模块将选手按下按键信号输出高电平给锁存模块lockb,进行锁存的同时发出aim信号实现声音提示,并使count模块进行答题时间的倒计时,在计满100妙后送出声音提示;
2、用ch41a模块将抢答结果转换为二进制数;
3、用sel模块产生数码管片选信号;
4、用ch42a模块将对应数码管片选信号,送出需要的显示信号;
5、用七段译码器dispa模块进行译码。

要求给出完整,且已经经过调试正确的代码,代码中说明文字要详细,标出相关模块。以及详细原理图

高手 速度!分不是问题 如果回答的好 会继续加分

各模块VHDL源代码
1、抢答鉴别模块FENG的VHDL源程序
--feng.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY FENG IS
PORT(CP,CLR:IN STD_LOGIC;
Q :OUT STD_LOGIC);
END FENG;
ARCHITECTURE FENG_ARC OF FENG IS
BEGIN
PROCESS(CP,CLR)
BEGIN
IF CLR='0'THEN
Q<='0';
ELSIF CP'EVENT AND CP='0'THEN
Q<='1';
END IF;
END PROCESS;
END FENG_ARC;

2、片选信号产生模块SEL的VHDL源程序
--sel.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SEL IS
PORT(CLK:IN STD_LOGIC;
a:OUT INTEGER RANGE 0 TO 7);
END SEL;
ARCHITECTURE SEL_ARC OF SEL IS 片选信号产生模块SEL
BEGIN
PROCESS(CLK)
VARIABLE AA:INTEGER RANGE 0 TO 7;
BEGIN