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

📄 display_8_led.vhd

📁 课程设计《交通灯控制的设计》
💻 VHD
字号:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_UNSIGNED.ALL;
ENTITY display_8_led IS
  PORT( clk:IN STD_LOGIC;
  d0:IN std_logic_vector(3 DOWNTO 0);
  d1:IN std_logic_vector(3 DOWNTO 0);
  d2:IN std_logic_vector(3 DOWNTO 0);
  d3:IN std_logic_vector(3 DOWNTO 0);
  led:OUT std_logic_vector(6 DOWNTO 0);
  sel:OUT std_logic_vector(2 DOWNTO 0));
END display_8_led;
ARCHITECTURE art OF display_8_led IS
 SIGNAL q:std_logic_vector(5 DOWNTO 0);
 SIGNAL s:std_logic_vector(2 DOWNTO 0);
 SIGNAL num:std_logic_vector(3 DOWNTO 0);
 BEGIN
  s<=q(5 DOWNTO 3);
   PROCESS(clk)
    BEGIN
     IF(clk'event AND clk='1')THEN
      IF(q="111111")THEN
         q<="000000";
      ELSE
         q<=q+'1';
      END IF;
    END IF;
   END PROCESS; 
  PROCESS(d0,d1,d2,d3,clk)
   BEGIN
     IF(clk'event AND clk='1')THEN
       IF s="000" THEN
        num<=d0;
        sel<="000";
       ELSIF s="001" THEN
        num<=d1;
        sel<="001";
       ELSIF s="010" THEN
        num<=d2;
        sel<="010";
       ELSIF s="011" THEN
        num<=d3;
        sel<="011";
       END IF;
     END IF;
  END PROCESS;
 led<="0111111" WHEN num=0 ELSE
      "0000110" WHEN num=1 ELSE
      "1011011" WHEN num=2 ELSE
      "1001111" WHEN num=3 ELSE
      "1100110" WHEN num=4 ELSE
      "1101101" WHEN num=5 ELSE
      "1111101" WHEN num=6 ELSE
      "0000111" WHEN num=7 ELSE
      "1111111" WHEN num=8 ELSE
      "1101111" WHEN num=9 ELSE
      "1110111" WHEN num=10 ELSE
      "1111100" WHEN num=11 ELSE
      "0111001" WHEN num=12 ELSE
      "1011110" WHEN num=13 ELSE
      "1111001" WHEN num=14 ELSE
      "1110001" WHEN num=15 ELSE
      "0000000";
END art;

⌨️ 快捷键说明

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