文档介绍:-
. z.
四人抢答器设计
一、设计任务及要求:
〔1〕设计用于竞赛抢答的四人抢答器;
①有多路抢答,抢答台数为8;
②具有抢答开场后20秒倒计时,20秒倒="0000";
Elsif(Enable_Flag='1') then
if(S1='0') then
D(0)<='1';
G<='0';
elsif(S2='0') then
D(1)<='1';
G<='0';
elsif(S3='0') then
-
. z.
D(2)<='1';
G<='0';
elsif(S4='0') then
D(3)<='1';
G<='0';
end if;
dout<=d;
end if;
end process;
process(d) --显示抢答成功者
begin
case d is
when "0000"=>ledag<="0111111";
when "0001"=>ledag<="0000110";
when "0010"=>ledag<="1011011";
when "0100"=>ledag<="1001111";
when "1000"=>ledag<="1100110";
when others=>ledag<="0000000";
end case;
end process;
end behave;
以上VHDL程序的系统框图如图2所示。
图2 抢答局部框图
通过MA*+PLUSⅡ软件仿真结果如图3所示。从图中可看出S1和S2选手抢答情况,在K为高电平时,S1选手为低电平,抢答成功,报警信号G为低电平,给出报警信号,同时七段数码管译码为06H,显示1。
图3 抢答局部仿真图
2、抢答倒计时程序
此模块为抢答20s倒计时程序,在主持人按下按钮K后此模块即开场工作,在20s倒计时完后会有声音提示,G为声音报警信号。
LIBRARY IEEE;
USE ;
USE ;
ENTITY COUNT IS
PORT(CLK,Enable_Flag: IN STD_LOGIC;
H,L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
G:OUT STD_LOGIC); --声音报警
END COUNT;
ARCHITECTUR