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

📄 eda.txt

📁 使用VHDL语言编程
💻 TXT
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;    
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

    ENTITY ZONG1 IS

   PORT(CLR,EN,K,D1,D2,D3,D4:IN STD_LOGIC;
         S:OUT STD_LOGIC;
       Q1,Q2 :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

    END ENTITY ZONG1;

 ARCHITECTURE ART OF ZONG1 IS

VARIABLE k1:STD_LOGIC:='1';    ---k1=0表示有人抢答,1没有,初始化为1
begin 
 xinshi:PROCESS(D1,D2,D3,D4) 
 VARIABLE TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);
   BEGIN
   TMP:=D1&D2&D3&D4;
     if  TMP="0111" then  Q1<="0000110";k1<=0;-----当有人抢答后
  else if  TMP="1011" then  Q1<="1011011";k1<=0;
  else if  TMP="1101" then  Q1<="1001111";k1<=0;
  elsif  TMP="1110" then  Q1<="1100110";k1<=0;
  elsif  TMP="1111" then  Q1<="1111111";k1<=1;       
     else Q1<="zzzzzzz";k1<=1;
 END if;
 END if;
 END if;
 END if;
 END if;
 END PROCESS;



daojishi:PROCESS(CLK,EN)
VARIABLE L:STD_LOGIC_VECTOR(3 DOWNTO 0);
    BEGIN
 IF CLK'EVENT AND CLK='1' THEN    ----10秒倒计时
          IF EN='0' THEN
              IF L=0  THEN
                     S<='1';        ---超时连续报警           
                ELSE
                     L:=L-1;
                   S<='0';
              END IF;
            ELSE
               S<='0';             
               L:="1001";
           END IF;
           END IF;
 CASE L IS
          WHEN "0000"=>Q2<="0111111";     --倒计时显示
          WHEN "0001"=>Q2<="0000110";
          WHEN "0010"=>Q2<="1011011";
          WHEN "0011"=>Q2<="1001111";
          WHEN "0100"=>Q2<="1100110";
          WHEN "0101"=>Q2<="1001111";
          WHEN "0110"=>Q2<="1100110";
          WHEN "0111"=>Q2<="0100111";
          WHEN "1000"=>Q2<="1111111";
          WHEN "1001"=>Q2<="1101111";
   WHEN OTHERS=>Q2<="0000000";
      END CASE;
    END PROCESS;

baojing:PROCESS(CLK,k1,EN)      -----提前强答报警(由时钟脉冲控制实现间断报警)
begin 
if k1='0'AND EN='1' then ----tiqianqda
if  CLK='1' THEN
 S<='0'; 
else 
 S<='1'; 
end if;
end if;
 END PROCESS;
end ART;






⌨️ 快捷键说明

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