0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8421码转换十进制程序

PoisonApple 来源:网络整理 2018-03-02 09:05 次阅读

8421码

8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。由于代码中从左到右每一位的1分别表示8,4,2,1,所以把这种代码叫做8421代码。每一位的1代表的十进制数称为这一位的权。8421码中的每一位的权是固定不变的。

十进制

600,3/5,-7.99……看着这些耳熟能详的数字,你有没有想太多呢?其实这都是全世界通用的十进制,即1.满十进一,满二十进二,以此类推……2.按权展开,第一位权为10^0,第二位10^1……以此类推,第N位10^(N-1),该数的数值等于每位位的数值*该位对应的权值之和。

8421码转换十进制程序

8421码转换十进制程序

8421码十进制计数器:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY GKY07P10 IS

PORT(clk,reset:IN STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END GKY07P10;

ARCHITECTURE struc OF GKY07P10 IS

SIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PROCESS(clk)

BEGIN

IF(clk‘EVENT AND clk=’1‘)THEN

IF reset=’1‘THEN q_temp《=“0000”;

ELSIF q_temp=“1001”THEN

q_temp《=“0000”;

ELSE

q_temp《=q_temp+1;

END IF;

END IF;

END PROCESS;

q《=q_temp;

END struc;

从状态‘0000’到状态‘1001’,然后再跳回‘0000’,异步复位要立即复位。

分频器:

8421码转换十进制程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY GKY07P13 IS

PORT(clk,clear:IN STD_LOGIC;

clk_out:OUT STD_LOGIC);

END GKY07P13;

ARCHITECTURE struc OF GKY07P13 IS

SIGNAL temp:INTEGER RANGE 0 TO 11;

BEGIN

p1:PROCESS(clear,clk)

BEGIN

IF clear=‘0’ THEN

temp《=0;

ELSIF clk‘EVENT AND clk=’1‘ THEN

IF temp=11 THEN

temp《=0;

ELSE

temp《=temp+1;

END IF;

END IF;

END PROCESS p1;

p2:PROCESS(temp)

BEGIN

IF temp《6 THEN

clk_out《=’0‘;

ELSE

clk_out《=’1‘;

END IF;

END PROCESS p2;

END struc;

很重要的一个器件,但是设计难度并不很高,首先是模为12的计数,然后是占空比50%。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LED IS

PORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

b:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END LED;

ARCHITECTURE LEDarch OF LED IS

BEGIN

PROCESS(a)

BEGIN

CASE a IS

WHEN“0000” =》 b 《= “1111110”; --0

WHEN“0001” =》 b 《= “0110000”; --1

WHEN“0010” =》 b 《= “1101101”; --2

WHEN“0011” =》 b 《= “1111001”; --3

WHEN“0100” =》 b 《= “0110011”; --4

WHEN“0101” =》 b 《= “1011011”; --5

WHEN“0110” =》 b 《= “1011111”; --6

WHEN“0111” =》 b 《= “1110000”; --7

WHEN“1000” =》 b 《= “1111111”; --8

WHEN“1001” =》 b 《= “1111011”; --9

WHEN OTHERS =》 b 《=“0000000”;

END CASE;

END PROCESS;

END;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4557

    浏览量

    66832
  • 8421码
    +关注

    关注

    1

    文章

    8

    浏览量

    3961
收藏 人收藏

    评论

    相关推荐

    十进制和二进制之间的转换原理

    十进制和二进制之间的转换  既然一个数可以用二进制十进制两种不同形式来表示,那么两着之间就必然有一定的
    发表于 04-06 23:54

    什么是BCD8421、余三、格雷

    的是8421BCD,无权用得较多的是余三和格雷,我们通常所说的BCD指的是
    发表于 11-03 17:36

    十进制转换成八进制matlab程序

    十进制转换成八进制matlab程序
    发表于 10-24 14:30

    labview中如何将一个十进制的数转换相同的BCD?是用公式节点来写程序的...有大神会吗? 求指导!!

    本帖最后由 攻城狮! 于 2016-6-27 09:33 编辑 有一个问题,现在是想输入一个十进制数,然后将这个十进制转换成相同的BCD码数输出来。例如;我数值输入控件输入13,输出来我想
    发表于 06-27 09:22

    关于两位十进制转换成二进制数的仿真 求助啊

    求助,不怎么懂这题该怎么做。求教。用两片四位全加器74283和必要的逻辑门设计一个数制转换电路,实现将输入的两位十进制转换成二进制数,十进制
    发表于 07-01 20:13

    关于BCD十进制数的转换

    uint8 BCDtoDec( uint8 temp ){return ( ( temp/16 )*10+temp%16) ;}这个是算法,问一下,比如说BCD00010001,转成十进制,按这个算法要对BCD分别进行求模和
    发表于 01-04 21:25

    十进制浮点数怎么转换成16进制

    十进制浮点数怎么转换成16进制,比如十进制的0.03怎么转换成16进制
    发表于 08-23 15:18

    十六进制转换十进制

    十六进制转换十进制
    发表于 06-09 09:00

    LABVIEW串口收到ASCII,如何转成十进制显示

    LABVIEW串口收到ASCII,如何转成十进制显示。注:LABVIEW串口收到字符串,正常显示为ASCII,显示控件选择16进制可以显示16
    发表于 07-14 09:45

    C语言中十进制8421BCD是用的什么方法?

    今天FPGA的同事问我C语言中十进制8421BCD是用的什么方法?第一时间我在想除了除10取余还能有什么办法?过了一会儿,突然想起有没有办法从移位上解决这个问题呢?于是乎就看到这个链接。然后就
    发表于 07-15 09:21

    在FPGA中实现一种二进制转BCD的电路设计

    1、实现一个二进制十进制的电路设计本文实现一个二进制十进制的电路,8位拨开关(SW7-SW0)作为一组8位二
    发表于 07-12 16:41

    二~十进制8421码一二~十进制2421码变换电路

    二~十进制8421码一二~十进制2421码变换电路
    发表于 04-10 10:06 4764次阅读
    二~<b class='flag-5'>十进制</b><b class='flag-5'>8421</b>码一二~<b class='flag-5'>十进制</b>2421码变换电路

    8421码同步十进制递增计数器

    8421码同步十进制递增计数器
    发表于 09-24 11:09 6165次阅读
    <b class='flag-5'>8421</b>码同步<b class='flag-5'>十进制</b>递增计数器

    十进制有权码

    十进制有权码   是指表示一个十进制数位的4位基2码的每一位有确定的位权。  用得最普遍的是8421码,即4个基2码位的权从高向低分别为8、4、2和1,使用基2码
    发表于 10-13 17:15 5902次阅读

    余3码至8421BCD码的转换_8421BCD码转换成余3码

    进制编码的十进制数,简称BCD码。这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。由8421
    的头像 发表于 03-02 09:38 18.6w次阅读
    余3码至<b class='flag-5'>8421</b>BCD码的<b class='flag-5'>转换</b>_<b class='flag-5'>8421</b>BCD码<b class='flag-5'>转换</b>成余3码