VHDL语言设计8421码加法器(使用quartus) | 您所在的位置:网站首页 › 有效的8421bcd码 › VHDL语言设计8421码加法器(使用quartus) |
我使用的芯片如图所示 什么是8421码? 8421码又称为BCD码,是十进制代码中最常用的一种 [2] 。. 在这种编码方式中,每一位二值代码的"1"都代表一个固定数值。. 将每位"1"所代表的二进制数加起来就可以得到它所代表的十进制数字。. 因为代码中从左至右看每一位"1"分别代表数字"8""4""2""1",故得名8421码。. 其中每一位"1"代表的十进制数称为这一位的权。 设计要求: 两个一位的8421码相加,在七段数码管上显示出加数、被加数以及结果。 思路分析: 一位的8421码的范围是0~9,两位相加范围就是0~18。 使用八位的拨码开关来设置加数以及被加数(其中四位设置加数、另外四位设置被加数), 在七段译码管上显示(译码过程翻我之前的文章)。将两个8421码转化成整形(integer类型)数字后进行相加,相加后在七段译码管上显示。 代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity jiafaqi is port( clk:in std_logic; num1:in std_logic_vector(3 downto 0);--加数 num2:in std_logic_vector(3 downto 0);--被加数 abc:out std_logic_vector(6 downto 0);--数码管段选段的引脚 com:out std_logic_vector(7 downto 0);--数码管位选段的引脚 num:buffer integer range 0 to 18--结果 ); end jiafaqi; architecture wzj of jiafaqi is signal q:std_logic_vector(2 downto 0); signal int1: integer ; signal int2: integer ; signal sum1: integer ; begin sum1int1int1int1int1int1int1int1int1int1int1int1int2int2int2int2int2int2int2int2int2int2int2 |
CopyRight 2018-2019 实验室设备网 版权所有 |