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

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

3天内不再提示

格雷码转和8421码的相互转换

PoisonApple 来源:网络整理 2018-03-02 15:23 次阅读

格雷码属于可靠性编码,是一种错误最小化的编码方式。因为,虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。由于这种编码相邻的两个码组之间只有一位不同,因而在用于方向的转角位移量-数字量的转换中,当方向的转角位移量发生微小变化(而可能引起数字量发生变化时,格雷码仅改变一位,这样与其它编码同时改变两位或多位的情况相比更为可靠,即可减少出错的可能性。

格雷码是一种绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。

由于格雷码是一种变权码,每一位码没有固定的大小,很难直接进行比较大小和算术运算,也不能直接转换成液位信号,要经过一次码变换,变成自然二进制码,再由上位机读取。

格雷码转和8421码的相互转换

典型格雷码是一种采用绝对编码方式的准权码,其权的绝对值为2^i-1(设最低位i=1)。

格雷码的十进制数奇偶性与其码字中1的个数的奇偶性相同。

8421码转格雷码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY B2G IS

GENERIC(n:INTEGER :=4);

PORT(

norm : IN STD_LOGIC_VECTOR(n-1 DOWNTO 0);

grey : OUT STD_LOGIC_VECTOR(n-1 DOWNTO 0)

);

END B2G;

ARCHITECTURE behave OF B2G IS

SIGNAL temp_normal : STD_LOGIC_VECTOR(n-1 DOWNTO 0);

SIGNAL temp_grey : STD_LOGIC_VECTOR(n-1 DOWNTO 0);

BEGIN

PROCESS(norm)

BEGIN

temp_normal 《= norm;

temp_grey(n-1) 《= temp_normal(n-1)

FOR i IN n-2 DOWNTO 0 LOOP

temp_grey(i) 《= temp_normal(i+1) xor temp_normal(i);

END LOOP;

grey 《= temp_grey;

END PROCESS;

END behave;

数码管显示器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY seg7_1 IS

PORT(

A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)

);

END seg7_1

ARCHITECTURE seg7_1 _arch OF seg7_1 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;

四人多数表决器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY biaojueqi IS

PORT(

A3,A2,A1,A0:IN STD_LOGIC;

Y :OUT STD_LOGIC);

END biaojueqi;

ARCHITECTURE behave OF biaojueqi IS

SIGNAL comb :STD_LOGIC_VECTOR(3 DOWNTO 0);

signal d: STD_LOGIC_VECTOR(15 DOWNTO 0);

BEGIN

comb《=A3&A2&A1&A0;

PROCESS(comb)

BEGIN

CASE comb IS

WHEN“0111”=》Y《=’1’;

WHEN“1011”=》Y《=’1’;

WHEN“1101”=》Y《=’1’;

WHEN“1110”=》Y《=’1’;

WHEN“1111”=》Y《=’1’;

WHEN OTHERS =》Y《=‘0’;

END CASE;

END PROCESS;

END behave;

格雷码转和8421码的相互转换

用与非门74LS00和异或门74LS86设计一可逆的4位码变换器 设计要求:在控制信号C=1时,将8421码转换为格雷码;C=0时,将格雷码转换为8421码;写出设计步骤,列出码变换关系真值表并画出逻辑图,并用multisim进行仿真

解:根据组合逻辑电路的设计方法设输入变量分别为A,B,C,D输出变量分别为Y3,Y2,Y1,Y0;高电平用“1”表示,低电平用“0”表示。 (1)列出真值表

当C=1时将8421码转换为格雷码

格雷码转和8421码的相互转换

当C=0时将格雷码转换为8421码

格雷码转和8421码的相互转换

(2)根据真值表写出逻辑函数表达式并化简

格雷码转和8421码的相互转换

格雷码转和8421码的相互转换

(3)根据化简后的逻辑函数表达式设计出实现该逻辑功能的数字逻辑电路

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

    关注

    27

    文章

    8596

    浏览量

    146653
  • 格雷码
    +关注

    关注

    2

    文章

    34

    浏览量

    13167
  • 8421码
    +关注

    关注

    1

    文章

    8

    浏览量

    4023
收藏 人收藏

    评论

    相关推荐

    什么是

    (Gray code),又叫循环二进制或反射二进制 在数字系统中只能识别0和1,各种数据要转换
    发表于 11-11 09:34 7269次阅读
    什么是<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>码</b>

    常用编码(BCD编码、余3反射、奇偶校验)

    反射(循环)十进制数 二进制数 十进制数 二进制数
    发表于 04-11 10:00

    简介及格与二进制的转换程序

    简介及格与二进制的转换程序
    发表于 04-22 09:00

    什么是BCD8421、余三

    的是8421BCD,无权用得较多的是余三
    发表于 11-03 17:36

    介绍

    介绍
    发表于 08-14 09:44

    的规则和应用问题?

    今天看到一个计数的程序,搜了下定义,觉得还是云里雾里,定义写的是若任意两个相邻的代码只有一位二进制数不同,则这种编码为
    发表于 08-20 14:41

    8421BCD与二进制原码的相互转换

    8421BCD与二进制原码的相互转换。九层妖塔 起于垒土【蓝桥杯】—{模板Template}—{Part7:DS18B20温度传感器}一、基本模板1、`头文件`● 改编自国信长天蓝桥杯官方蓝皮书
    发表于 01-17 07:13

    二进制代码与格相互转换

    (Gray Code,简称G)是典型的循环,它是由二进制(Binary,简称 B
    发表于 05-02 18:46 42次下载

    简介及格与二进制的转换程序

    简介及格与二进制的转换程序
    发表于 01-16 11:52 4977次阅读

    运算研究

    运算研究 在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,
    发表于 03-18 14:07 1440次阅读

    循环VHDL源程序

    我们知道计数的特点就是相邻的码字只有一个比特不同,那么我们在设计计数时找到这个比特取
    发表于 11-11 09:32 2094次阅读

    辨析

    讨论了Gray Code 的由来,剖析了关于的一些不合理说法,明确了其正宗的发明者应该是弗兰克·,正确的英文名称是Gray Cod
    发表于 11-28 16:04 5562次阅读
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>码</b>辨析

    余38421BCD转换_8421BCD转换成余3

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

    编码规则_有什么规律

    典型的二进制简称,因1953年公开的弗兰克·
    的头像 发表于 03-02 14:29 5.5w次阅读
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>码</b>编码规则_<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>码</b>有什么规律

    如何把二进制转换是如何判断读空写满呢?

    在传递读写时钟域的指针使用来传递,如何把二进制转换
    的头像 发表于 09-15 09:38 8244次阅读
    如何把二进制<b class='flag-5'>转换</b>为<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>码</b>?<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>码</b>是如何判断读空写满呢?