VHDL语言设计8421码加法器(使用quartus) 您所在的位置:网站首页 有效的8421bcd码 VHDL语言设计8421码加法器(使用quartus)

VHDL语言设计8421码加法器(使用quartus)

2024-03-07 14:22| 来源: 网络整理| 查看: 265

我使用的芯片如图所示

 什么是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 实验室设备网 版权所有