格雷码是一种常见的无权码,其特点是:相邻性和循环性它有很多种形式,如:1——0000,2——0001,3——0011,4——0010,5——0110,6——0111,7——0101,8——1100,9——1101 或 1000所以,42转换为格雷码00100001,97换为格雷码11010101或10000101 格雷码(又叫循环二进制码或反射二进制码)介绍在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理, 格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循 环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可 能,它的反射、自补特性使得求反非常方便格雷码属于可靠性编码,是一种错 误最小化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟 信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使 数字电路产生很大的尖峰电流脉冲而格雷码则没有这一缺点,它是一种数字排 序系统,其中的所有相邻整数在它们的数字表示中只有一个数字不同它在任意 两个相邻的数之间转换时,只有一个数位发生变化它大大地减少了由一个状态 到下一个状态时逻辑的混淆。
另外由于最大数与最小数之间也仅一个数不同,故 通常又叫格雷反射码或循环码下表为几种自然二进制码与格雷码的对照表:十进制数 自然二进制数 格雷码 十进制数 自然二进制数 格雷码0 0000 0000 8 1000 11001 0001 0001 9 1001 11012 0010 0011 10 1010 11113 0011 0010 11 1011 11104 0100 0110 12 1100 10105 0101 0111 13 1101 10116 0110 0101 14 1110 10017 0111 0100 15 1111 1000在精确定位控制系统中,为了提高控制精度,准确测量控制对象的位置 是十分重要的目前,检测位置的办法有两种:其一是使用位置传感器, 测量到的位移量由变送器经A/D转换成数字量送至系统进行进一步处 理此方法精度高,但在多路、长距离位置监控系统中,由于其成本昂 贵,安装困难,因此并不实用;其二是采用光电轴角编码器进行精确位 置控制光电轴角编码器根据其刻度方法及信号输出形式,可分为增量 式、绝对式以及混合式三种而绝对式编码器是直接输出数字量的传感 器,它是利用自然二进制或循环二进制(格雷码)方式进行光电转换的, 编码的设计一般是采用自然二进制码、循环二进制码、二进制补码等。
特点是不要计数器,在转轴的任意位置都可读出一个固定的与位置相对 应的数字码;抗干扰能力强,没用累积误差;电源切断后位置信息不会 丢失,但分辨率是由二进制的位数决定的,根据不同的精度要求,可以 选择不同的分辨率即位数目前有10位、11位、12位、13位、14位 或更高位等多种其中采用循环二进制编码的绝对式编码器,其输出信号是一种数字 排序,不是权重码,每一位没有确定的大小,不能直接进行比较大小和 算术运算,也不能直接转换成其他信号,要经过一次码变换,变成自然 二进制码,在由上位机读取以实现相应的控制而在码制变换中有不同 的处理方式,本文着重介绍二进制格雷码与自然二进制码的互换一、格雷码(又叫循环二进制码或反射二进制码)介绍在数字系统中只能识别0和1,各种数据要转换为二进制代码才能 进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一 种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了 随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方 便格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,自 然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例 如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产生 很大的尖峰电流脉冲。
而格雷码则没有这一缺点,它是一种数字排序系 统,其中的所有相邻整数在它们的数字表示中只有一个数字不同它在 任意两个相邻的数之间转换时,只有一个数位发生变化它大大地减少 了由一个状态到下一个状态时逻辑的混淆另外由于最大数与最小数之 间也仅一个数不同,故通常又叫格雷反射码或循环码下表为几种自然 二进制码与格雷码的对照表:十进制数自然二进制数格雷码十进制数自然二进制数格雷码000000000810001100100010001910011101200100011101010111130011001011101111104010001101211001010501010111131101101160110010114111010017011101001511111000二、二进制格雷码与自然二进制码的互换1、自然二进制码转换成二进制格雷码自然二进制码转换成二进制格雷码,其法则是保留自然二进制码的 最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高 位相异或,而格雷码其余各位与次高位的求法相类似英文:Gray Code,又称作葛莱码,二进制循环码)是1880年法国工程 师Jean-Maurice-Emlle Baudot 曾用过的一种编码, 因Frank Gray申请专 利而得名。
它是一种绝对编码方式,典型格雷码是一种具有反射特性和循 环特性的单步自补码,它的循环、单步特性消 除了随机取数时出现重大误 差的可能,它的反射、自补特性使得求反非常方便格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,虽 然自然二进制码可以直接由 数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4 时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲而 格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化它大 大地减少了由一个状态到下一个状态时逻辑的 混淆由于这种编码相邻的 两个码组之间只有一位不同,因而在用于风向 的转角位移量一数字量的转 换中,当风向的转角位移量发生微小变化(而可能引起数字量发生变化时, 格雷码仅改变一位,这样与其它编码同时改变两位或多位的情况相比更为 可靠,即可减少出错的可能性但格雷码是一种变权码,每一位码没有固 定的大小,很难直接进行比 较大小和算术运算,也不能直接转换成液位信号,要经过一次码变换,变 成自然二进制码,再由上位机读取解码的方法是用'0’和采集来的4位 格雷码的最高位(第4位)异或,结果保留到4位,再将异或的值和下一 位(第3位)相异或,结果保留到3位,再将相异或的值和下一位(第2 位)异或,结果保留到2位,依次异或,直到 最低位,依次异或转换后的 值(二进制数)就是格雷码转换后自然码的值.异或:异或则是按位“异或”,相同为“0”,相异为“1”。
例: 10011000 异或 01100001 结果:11111001 举例:如果采集器器采到了格雷码:1010就要将它变为自然二进制:0与第四位1进行异或结果为1上面结果1与第三位0异或结果为1上面结果1与第二位1异或结果为0上面结果0与第一位0异或结果为0因此最终结果为:1100这就是二进制码即十进制 12当然人看时只需对照表1 一下子就知道是12。