《二进制与格雷码转换.docx》由会员分享,可在线阅读,更多相关《二进制与格雷码转换.docx(5页珍藏版)》请在第壹文秘上搜索。
1、在精踊定位限制系统中,为了提高限制精度,精确测讯限制对象的位置是特别重要的,目前,检测位置的方法有两种:其一是运用位置传器,测收到的位移价由变送器羟A/D转换成数字出送至系统进行进步处理.比方法肘度高,但在多路、长距离位置监控系统中,由于共成本昂贵,安装困殊.囚此并不好用:其二是果纳光电轴角编码器进行精踊位置限制.光电轴向辨码器依据其刻度方法及侑号输出形式,可分为淄收式、有定式以及混合式三种,而荷定式编码器是干脆缺出数字量的传感器,它是利用自然二进制或循环二迸制(楙密码)方式进行光电转换的,编码的设计一般是采纳自然二进制码、循环二进制码、二进制补码等.特点是不要计数三.在传轴的随意位置都可读出
2、一个Ia定的与位置相对应的数字码I抗干扰实力强.没用眼积误处:电源切断后位W信息不会丢失,但辨别率是由二进制的位数痈定的,依据不I可的精度要求,可以选杼不同的阱别率即位数.目筋有10位、11位、12位、13位、14位或更高位等多种.其中采纳循环二进制摒码的肯定式墙码器,其输出信号是一种数字排序,不是权血码,每一位没有确定的人小,不能干脆迸行比较大小和。术运算,也不能干脆朴换成其他信号,要羟过次码变换.变成自然二进IM码,在由上位机读取以实现相应的限制.而在研制变换中有不同的处理方式.本文普里介绍二进制格肉码q自然二进制码的互换.、格雷码(又叫循环二进制码或反射二进制码介绍在数字系统中只能识别0
3、和1,各种数据整转换为二进制代码才能进行处理,格宙科是一种无权码,采纳肯定编码方式,典型格.击码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消退了班机取数时出现出大误差的可健.它的反射,自补特性使得求反特别便利.格雷码划于军籍性编码,是一种错误以小化的掰眄方式,因为.自然二进用码可以干桅由数/模转换器我换成模拟信号,但某些状况,例如从卜进制的3转换成4时.迸制码的传一位都要变,使数字电路产生很大的尖峰电流脓冲.而格雷码则没有这跳点,它是种数字样序系统,其中的全部相冬:整数在它们的数字去示中只有一个数字不同.它在随意两个相邻的数之间转换时,只行一个数位发生改变。它大大地削减J由一
4、个状态到下一个状态时避税的混海.另外由于最大数与G小数之问也仅一个数不同,故通常乂叫格布反射码或砧环玛.下.表为几种自然二进制码与格密码的比照表:I进制数自然二进制数格雷码十进制数自然二迸制数格雷码000110010111012010I1.1.1.3O1.1.H1.O4100101051011011611010017I1.1.1000二、二进制格箔码与自然二进制码的互换1、自然二进制码转换成二进制格击码自然二进IM码转换成二进IM格雷码,其法则是保济自然二进制码的酸离位作为格雷码的域高位.而次高位格留码为二进制码的高位与次高位相异或,而格洸码其余各位,次f位的求法相类似.某二进制数为B”TBr
5、2冬区为异或运算:相同为O相异为1再对应的格雷码为Gw.1Gx,.2.G2QG0其中:最高位保留一GXH=及JT其他各位一&=及U42,1,2.-2例I二进制数为IO1.1.O1.1.1.1.1.);以上代码实现了unsignedint型数据到格雷码的转换,最高可转换32位自然二进制码,超出32位将溢出。sia1.iciniDeciniii1.1.oGray(intx)returnx(x1.):以上代码实现/int型数据到格宙码的转换,最高可转换31位自然二进制码,超出31位将溢出。上述代码即可用于VCPB制程序中,也以用于单片机限M三序中.在取片机程序设计时,若采纳汇编语方编程,可以按相I可
6、的原理设计程序:着采纳C语方编程.则可以干脆利用上述代码.但建议用unsignedint函数.B)、硬件实现法依据自然:进制转换成格正码的法则,可以得到以下电注图:上图所小电路图W可用异或柒成电路7415136实现,也可以利用可程上件P1.D等编程实现.2.二进到格雷网转描成自然二进制码A),软件实现法(冬奥示例工程中的GraytoBinary)依据二进陋格密码转换成自然二进制码的法则.可以得到以卜的三种代码方式: staticunsignedintGray1.oDecima1.(unsignedintx) unsignedinty=x; whiIe(x=1.) y=x; returny; s
7、taticunsignedintGraytoDecima1.(unsignedintx)x=x16;x=x8:x=x4;x=X2:x*=x1;returnx:. staticunsignedintGraytoDecima1.(unsignedintx) ( inti; for(i0;(1.i)(1.i);. returnx; 以上代码实现了unsignedint型数据到自然二进制码的转换,最高可朴换32位格击眄,超出32位将溢出。将数据类型改为Mt型即可实现31位格雷码转换.上述代码即可用于VC限制程序中,也可以用于单片机限IM程序中.在一片机程序设计时,若采纳汇编语言能程,可以按相同的原理设计程序:若采纳C语言编程,则可以干脆利刖上述代码,但建议用unsignedint函数.B)、硬件实现法依据二进制格指码转换成11然二进制码的法则,可以得到以下电路惕;上图所示电路图W可用异或染成电路741.s1.36实现,也可以利用可编程器件P1.D等编程实现.