资源描述:
《单片机程序中的各种数字》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章程序中的各种数字程序中的各种数字用单片机对目标设备进行控制是我们学习单片机的目的。一个单片机控制系统除必要的硬件支撑外,还需要软件支持。那么软件是什么呢?如果抽象地回答:软件就是指挥控制系统协调工作的程序。我们将要介绍的单片机是数字计算机的范畴,它只能识别数字,所以我们的软件基础的学习还是从数字、数制以及如何存放着手。任意一个十进制数N都可以表示成按权展开的多项式:其中,di是0~9共10个数字中的任意一个,m是小数点右边的位数,n是小数点左边的位数,i是数位的序数。例如,543.21可表示为:543.21=5×102+4×101+3×100+2×10-1+1×10-2任意一个十
2、六进制数N可以表示成按权展开的多项式:其中,di是0~F共16个数字中的任意一个,m是小数点右边的位数,n是小数点左边的位数,i是数位的序数。例如,54E.21H可表示为:54E.21H=5×162+4×161+14×160+2×16-1+1×16-2任意一个二进制数N都可以表示成按权展开的多项式:其中,di是0、1两个数字中的任意一个,m是小数点右边的位数,n是小数点左边的位数,i是数位的序数。例如,101.01B可表示为:101.01B=1×22+0×21+1×20+0×2-1+1×2-2一般而言,对于用R进制表示的数N,可以按权展开为式中,ai是0、1、…、(R-1)中的任一个
3、,m、n是正整数,R是基数。在R进制中,每个数字所表示的值是该数字与它相应的权Ri的乘积,计数原则是“逢R进一”。十六进制Hexadecimal十进制Decimal二进制Binary数制及其数制之间的转换计算机只识别二进制十六进制书写起来比二进制方便日常生活中人们习惯用十进制二进制数与十六进制数二进制与十六进制数有什么关系?四位二进制数刚好是一位十六进制数。同一个数,用二进制表示需要8位,但用十六进制表示只需要2位。计算机使用二进制,我们书写时采用十六进制。这叫“各取所需”。实际上:n位二进制数可以表示2n种组合。1位能表示21种组合(0、1,在计算机中称作位)4位能表示24=16种组合
4、(0~15的整数即1位16进制数)。0000B=0(H)0001B=1(H)0010B=2(H)0011B=3(H)0100B=4(H)0101B=5(H)0110B=6(H)0111B=7(H)1000B=8(H)1001B=9(H)1010B=A(H)1011B=B(H)1100B=C(H)1101B=D(H)1110B=E(H)1111B=F(H)4位二进制(1位16进制数)在计算机中称作半字节数制之间的转换十进制数转换成非十进制数整数部分采用除基数取余法,直至商为0,先得到的余数为低位,后得到的余数为高位。小数部分采用乘基数取整法,直至乘积为整数或达到控制精度。除基取余法乘基取整
5、法整数部分小数部分对于R进制基=R将(168)10转换成二、十六进制数。将0.625D转换成二进制和十六进制:二进制:乘2取整0.625×2=1.25…1,0.25×2=0.50…0,0.5×2=1…10.625D=0.101B十六进制:乘16取整0.625X16=10…A0.625D=0.AH表2.1十进制与二进制数、十六进制数对应关系十进制二进制十六进制十进制二进制十六进制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008二进制数与十六进制数
6、转换将二进制数转换成十六进制数可按四位一组进行分组,每一组对应十六进制的相应数码,组合即得转换结果。分组时如果位数不够(即:位数不是4的倍数),整数部分在最左边补0,小数部分在最右边补0分组法4位二进制组成1位十六进制例如:把二进制数1011010.101B转换成十六进制数。解:将1011010.101B按4位分组成01011010.1010查表得:5AA所以:1011010.101B=5A.AH将十六进制数转换成二进制数,只需将其每一位对应转换成二进制数四位即可。展开法1位十六进制展开成4位二进制例如:将十六进制数8E.38H转换成二进制数。解:展开十六进制数8E.38H查表:1000
7、1110.00111000H所以:8E.38H=10001110.00111B1、将十进制数128D转换成二进制数。2、将十进制数142D转换成十六进制数。3、将十进制数112.25D转换成二进制数。4、直接将11001010B写成十六进制数。5、直接将68H写成二进制数。6、直接将65.8H写成二进制数。思考题1、128D=10000000B2、142D=8EH3、112.25D=1110000.01B4、11001010B=CA