⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shirenqiangdaqi.txt

📁 (1)抢答器同时供4名选手比赛
💻 TXT
字号:
一、设计任务与要求
1.用VHDL语言设计四人抢答器;
2. 分析抢答器的工作过程及时序配合关系;
3.培养数字电路的综合设计能力。
二、设计内容及设计方案 
1.设计内容
设计一台供4名选手参加比赛的数字抢答器。
2.设计内容要求 
  (1)抢答器同时供4名选手比赛,分别用4个按钮S1 ~ S4表示;
(2)设置一个系统清除和抢答控制开关S5,该开关由主持人控制;
(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除。
3.设计方案及工作原理 
    抢答器具有锁存、定时、显示。当主持人按下抢答按钮后,选手抢答按动按钮,锁存器锁存首先按下按键的选手编码,同时用LED数码管把选手的编码显示出来,选手抢答时,抢答器完成:优先判断、编号锁存、编号显示。最终将最先按抢答键的选手编号显示出来。


library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity exp5 is
port( S1,S2,S3,S4 : in std_logic; 
S5 : in std_logic; 
D1,D2,D3,D4 : out std_logic);
end exp5;
architecture behave of exp5 is
signal Enable_Flag : std_logic;
signal S : std_logic_vector(3 downto 0);
begin
process(S1,S2,S3,S4,S5) 
begin
S<=S1&S2&S3&S4;
if(S5='0') then
Enable_Flag<='1';
elsif(S/="1111") then
Enable_Flag<='0';
end if;
end process;
process(S1,S2,S3,S4,S5) 
begin
if(S5='0') then
D1<='0';
D2<='0';
D3<='0';
D4<='0';
elsif(Enable_Flag='1') then
if(S1='0') then
D1<='1';
elsif(S2='0') then
D2<='1';
elsif(S3='0') then
D3<='1';
elsif(S4='0') then
D4<='1';
end if;
end if;
end process;
end behave;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -