VHDL语言实现32位二进制数转BCD码 您所在的位置:网站首页 二进制转换8421bcd码 VHDL语言实现32位二进制数转BCD码

VHDL语言实现32位二进制数转BCD码

2023-07-04 15:46| 来源: 网络整理| 查看: 265

使用FPGA开发板上的数码管显示数值,需要将数值转换成对应的BCD码,再通过七段译码器将数值显示在数码管上。我用除十取余的方法,用VHDL写了32位二进制数转BCD码代码。

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY BIN32_TO_BCD1 IS PORT( BIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); BCD: OUT STD_LOGIC_VECTOR(39 DOWNTO 0) ); END ENTITY BIN32_TO_BCD1; ARCHITECTURE RTL OF BIN32_TO_BCD1 IS BEGIN PROCESS(BIN) VARIABLE TEMP: INTEGER; VARIABLE BIN_TEMP: INTEGER; VARIABLE BCD_TEMP: STD_LOGIC_VECTOR(39 DOWNTO 0); BEGIN BCD_TEMP:=X"0000000000"; BIN_TEMP:=CONV_INTEGER(BIN); FOR K IN 0 TO 9 LOOP TEMP:=BIN_TEMP REM 10; BCD_TEMP(3+4*K DOWNTO K*4):=CONV_STD_LOGIC_VECTOR(TEMP,4); BIN_TEMP:=(BIN_TEMP-TEMP)/10; IF BIN_TEMP=0 THEN EXIT; END IF; END LOOP; BCD


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有