八段码到8421BCD码转换电路

目录

EDA设计基础练习题 :

实验要求如下:

代码

八段码到8421BCD码转换电路

8421BCD码到八段码转换电路

八段码到8421BCD~运行结果展示

8421BCD转八段码~运行结果展示

特别注意


EDA设计基础练习题

4、八段码到8421BCD码转换电路(以共阳极数码管为例)。

58421BCD码到八段码转换电路(以共阴极数码管为例)。


实验要求如下:

1、程序设计:编写完整实验程序;注明端口名称及意义;

2、仿真验证:编辑程序、编译、仿真;提交全部程序、文件及工程建立结果界面、编译成功界面、功能仿真结果波形图;注意仿真图需能够看出来工作过程及实现的功能

编码对象

8421BCD

共阳极八段码

共阴极八段码

Q8Q4Q2Q1

dpgfedcba

dpgfedcba

0

0000

11000000

00111111

1

0001

11111001

00000110

2

0010

10100100

01011011

3

0011

10110000

01001111

4

0100

10011001

01100110

5

0101

10010010

01101101

6

0110

10000010

01111101

7

0111

11111000

00000111

8

1000

10000000

01111111

9

1001

10010000

01101111

其他情况

1111

10111111

01000000


代码

八段码到8421BCD码转换电路

-- 编写程序4  八段码到8421BCD码转换电路(以共阳极数码管为例)
-- 码转换 -case语句

library IEEE;
USE IEEE.STD_logic_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_logic_unsigned.ALL;

-- 实体声明
ENTITY ShiYan7 IS 
	PORT( 
			input_Yang	 : IN		STD_logic_vector(7 downto 0); 
			output_8421BCD :out		STD_logic_vector(3 downto 0)
			);	 
END ShiYan7;

--结构体说明
ARCHITECTURE behave OF ShiYan7 IS
	BEGIN
      PROCESS (input_Yang)
         BEGIN
         --八段码到8421BCD码转换电路(以共阳极数码管为例)

			CASE input_Yang IS
				WHEN "11000000"  => output_8421BCD <= "0000";
				WHEN "11111001"  => output_8421BCD <= "0001";
				WHEN "10100100"  => output_8421BCD <= "0010";
				WHEN "10110000"  => output_8421BCD <= "0011";
				WHEN "10011001"  => output_8421BCD <= "0100";
				WHEN "10010010"  => output_8421BCD <= "0101";
				WHEN "10000010"  => output_8421BCD <= "0110";
				WHEN "11111000"  => output_8421BCD <= "0111";
				WHEN "10000000"  => output_8421BCD <= "1000";
				WHEN "10010000"  => output_8421BCD <= "1001";
				
				when others => output_8421BCD <= "1111";
				
			END CASE;

      END PROCESS;
END behave; 

8421BCD码到八段码转换电路

-- 编写程序 5、8421BCD码到八段码转换电路(以共阴极数码管为例)。
-- 码转换 -case语句

library IEEE;
USE IEEE.STD_logic_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_logic_unsigned.ALL;

-- 实体声明
ENTITY ShiYan7 IS 
	PORT( 
			Input_8421BCD : IN		STD_logic_vector(3 downto 0); 
			Output_Yin	 : OUT		STD_logic_vector(7 downto 0)
			);	 
END ShiYan7;

--结构体说明
ARCHITECTURE behave OF ShiYan7 IS
	BEGIN
      PROCESS (Input_8421BCD)
         BEGIN
         --5、8421BCD码到八段码转换电路(以共阴极数码管为例)

			CASE Input_8421BCD IS
				WHEN "0000" => Output_Yin <= "00111111";
				WHEN "0001" => Output_Yin <= "00000110";
				WHEN "0010" => Output_Yin <= "01011011";
				WHEN "0011" => Output_Yin <= "01001111";
				WHEN "0100" => Output_Yin <= "01100110";  
				WHEN "0101" => Output_Yin <= "01101101";
				WHEN "0110" => Output_Yin <= "01111101";
				WHEN "0111" => Output_Yin <= "00000111";
				WHEN "1000" => Output_Yin <= "01111111";
				WHEN "1001" => Output_Yin <= "01101111";
				
				when others => Output_Yin <= "01000000";
				
			END CASE;

      END PROCESS;
END behave; 

编译通过

八段码到8421BCD码转换电路_第1张图片

八段码到8421BCD~运行结果展示

八段码到8421BCD码转换电路_第2张图片

8421BCD转八段码~运行结果展示

这个运行结果可以自行实验


特别注意

工程名要和实体名相同


本代码纯自己手敲,拒绝白嫖!

八段码到8421BCD码转换电路_第3张图片

你可能感兴趣的:(FPGA,mcu,嵌入式硬件)