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

📄 d_bcd.vhd

📁 CPLD制作的BCD译码器软件,包含源代码等
💻 VHD
字号:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity d_BCD is
  port(cs_sw8								:in std_logic;
  		 p_sw1,p_sw2,p_sw3,p_sw4	   :in std_logic;
		 LED1_out							:out std_logic_vector(6 downto 0);
		 LED2_out							:out std_logic_vector(6 downto 0);
		 LED3_out							:out std_logic_vector(6 downto 0)
 		 );
    end d_BCD;

  
architecture Behavioral of d_BCD is
signal com			:std_logic_vector(3 downto 0);
  
begin
 com<=p_sw4 & p_sw3 & p_sw2 & p_sw1;
  process(com,cs_sw8)
  begin
  if(cs_sw8='0')then
    case com is			  --fgedcba
	 when "0000"=>LED1_out<="0100000";	--fgedcba 0
	 when "0001"=>LED1_out<="1111001";	--1				
	 when "0010"=>LED1_out<="1000100";	--2
	 when "0011"=>LED1_out<="1010000";	--3
	 when "0100"=>LED1_out<="0011001";	--4
	 when "0101"=>LED1_out<="0010010";  --5
	 when "0110"=>LED1_out<="0000010";  --6
	 when "0111"=>LED1_out<="1111000";  --7
	 when "1000"=>LED1_out<="0000000";  --8
	 when "1001"=>LED1_out<="0010000";  --9
	 when others=>LED1_out<="1111111";
	 end case;
  end if;
  if(cs_sw8='1')then
    case com is
	 when others=>LED1_out<="1111111";
	 end case;
  end if;
--led2
  if(cs_sw8='0')then
    case com is			  --fgedcba
	 when "0000"=>LED2_out<="0100000";	--fgedcba 0
	 when "0001"=>LED2_out<="1111001";	--1				
	 when "0010"=>LED2_out<="1000100";	--2
	 when "0011"=>LED2_out<="1010000";	--3
	 when "0100"=>LED2_out<="0011001";	--4
	 when "0101"=>LED2_out<="0010010";  --5
	 when "0110"=>LED2_out<="0000010";  --6
	 when "0111"=>LED2_out<="1111000";  --7
	 when "1000"=>LED2_out<="0000000";  --8
	 when "1001"=>LED2_out<="0010000";  --9
	 when others=>LED2_out<="1111111";
	 end case;
  end if;
  if(cs_sw8='1')then
    case com is
	 when others=>LED2_out<="1111111";
	 end case;
  end if;
--led3
  if(cs_sw8='0')then
    case com is			  --fgedcba
	 when "0000"=>LED3_out<="0100000";	--fgedcba 0
	 when "0001"=>LED3_out<="1111001";	--1				
	 when "0010"=>LED3_out<="1000100";	--2
	 when "0011"=>LED3_out<="1010000";	--3
	 when "0100"=>LED3_out<="0011001";	--4
	 when "0101"=>LED3_out<="0010010";  --5
	 when "0110"=>LED3_out<="0000010";  --6
	 when "0111"=>LED3_out<="1111000";  --7
	 when "1000"=>LED3_out<="0000000";  --8
	 when "1001"=>LED3_out<="0010000";  --9
	 when others=>LED3_out<="1111111";
	 end case;
  end if;
  if(cs_sw8='1')then
    case com is
	 when others=>LED3_out<="1111111";
	 end case;
  end if;

  end process;
end Behavioral;

⌨️ 快捷键说明

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