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

📄 hex2ssd.vhd

📁 This is a project about PWM. Application in motor speed control
💻 VHD
字号:
------------------------------------------------------------------------------ hex2ssd: display hex on 7 segments display-- blanks when not enable-- pinout ssd: an3-0 dd abcdefg ----------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity hex2ssd is  port(    clk: in std_logic;    enable: in std_logic;    hex: in std_logic_vector(15 downto 0);    dot: in std_logic_vector(3 downto 0);    ssd: out std_logic_vector(11 downto 0)  );end hex2ssd;architecture behavioral of hex2ssd issignal c: std_logic_vector(10 downto 0) := (others => '0');signal nibble: std_logic_vector(3 downto 0); begin  process    begin      wait until rising_edge(clk);      case c(10 downto 9) is        when "00" =>           nibble <= hex(3 downto 0);	  ssd(7) <= dot(0);	  ssd(11 downto 8) <= "1110";	when "01" => nibble <= hex(7 downto 4);	  ssd(7) <= dot(1);	  ssd(11 downto 8) <= "1101";	when "10" => nibble <= hex(11 downto 8);	  ssd(7) <= dot(2);	  ssd(11 downto 8) <= "1011";	when "11" => nibble <= hex(15 downto 12);	  ssd(7) <= dot(3);	  ssd(11 downto 8) <= "0111";	when others => null;      end case;      case nibble is        when "0000" => ssd(6 downto 0) <= "0000001"; -- 0        when "0001" => ssd(6 downto 0) <= "1001111"; -- 1        when "0010" => ssd(6 downto 0) <= "0010010"; -- 2        when "0011" => ssd(6 downto 0) <= "0000110"; -- 3        when "0100" => ssd(6 downto 0) <= "1001100"; -- 4        when "0101" => ssd(6 downto 0) <= "0100100"; -- 5        when "0110" => ssd(6 downto 0) <= "0100000"; -- 6        when "0111" => ssd(6 downto 0) <= "0001111"; -- 7        when "1000" => ssd(6 downto 0) <= "0000000"; -- 8        when "1001" => ssd(6 downto 0) <= "0000100"; -- 9        when "1010" => ssd(6 downto 0) <= "0001000"; -- A        when "1011" => ssd(6 downto 0) <= "1100000"; -- b        when "1100" => ssd(6 downto 0) <= "0110001"; -- C        when "1101" => ssd(6 downto 0) <= "1000010"; -- d        when "1110" => ssd(6 downto 0) <= "0110000"; -- E        when "1111" => ssd(6 downto 0) <= "0111000"; -- F	when others => null;      end case;      if (enable = '0') then	ssd(6 downto 0) <= "1111111";      end if;	         c <= c + '1';    end process;end behavioral;

⌨️ 快捷键说明

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