单片机的预备知识(数制与码制).ppt_第1页
单片机的预备知识(数制与码制).ppt_第2页
单片机的预备知识(数制与码制).ppt_第3页
单片机的预备知识(数制与码制).ppt_第4页
单片机的预备知识(数制与码制).ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用,主讲:刘春梅,单片机的预备知识(数制与码制),进位计数制及各计数制间的转换 二进制数的运算 带符号数的表示方法原码、反码、补码 BCD码和ASCII码,进位计数制及各计数制间的转换,按进位原则进行计数的方法, 称为进位计数制。 十进制数有两个主要特点: (1)有10个不同的数字符号: 0、 1、 2、 、 9; (2)低位向高位进位的规律是“逢十进一”。 因此, 同一个数字符号在不同的数位所代表的数值是不同的。如555.5中4个5分别代表500、50、5 和 0.5, 这个数可以写成: 式中的10称为十进制的基数, 10、101、100、10-1称为各数位的权。,进位计数制,任意一个十进制数N都可以表示成按权展开的多项式:,其中, di是09共10个数字中的任意一个, m是小数点右边的位数, n是小数点左边的位数, i是数位的序数。例如, 543.21可表示为: 543.21=5102+4101+3100+210-1+110-2,一般而言,对于用R进制表示的数N,可以按权展开为,式中, ai 是 0、1、(R-1)中的任一个, m、 n是正整数, R是基数。在R进制中, 每个数字所表示的值是该数字与它相应的权Ri的乘积, 计数原则是“逢R进一”。,二进制数 当 R=2 时, 称为二进位计数制, 简称二进制。在二进制数中, 只有两个不同数码: 0和1, 进位规律为“逢二进一”。任何一个数 N, 可用二进制表示为,例如, 二进制数 1011.01 可表示为 (1011.01)2=123+022+121+120+02-1+12-2,八进制数 当R=8 时, 称为八进制。在八进制中, 有0、1、2、7共8个不同的数码, 采用“逢八进一”的原则进行计数。如(503)8可表示为: (503)8=582+081+380,十六进制 当R=16时, 称为十六进制。在十六进制中, 有 0、1、2、 9、 A、B、C、D、E、F共 16个不同的数码, 进位方法是“逢十六进一”。 例如, (3A8.0D)16可表示为: (3A8.0D)16=3162+10161+8160+016-1+ 1316-2,各种进位制的对应关系,不同进制间的相互转换,二、 八、 十六进制转换成十进制,例1:将数(10.101)2, (46.12)8, (2D.A4)16转换为十进制。 (10.101)2=121+020+12-1+02-2+12-3=2.625 (46.12)8=481+680+18-1+28-2=38.15625 (2D.A4)16=2161+13160+1016-1+416-2=45.64062,十进制数转换成二、八、十六进制数 任意十进制数 N 转换成 R 进制数, 需将整数部分和小数部分分开, 采用不同方法分别进行转换, 然后用小数点将这两部分连接起来。 (1) 整数部分: 除基取余法。 分别用基数 R 不断地去除 N 的整数, 直到商为零为止, 每次所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数字, 最后得到的为最高有效数字。,例2:将(168)10转换成二、 八、 十六进制数。,(2) 小数部分: 乘基取整法。 分别用基数 R(R=2、8或16)不断地去乘N 的小数, 直到积的小数部分为零(或直到所要求的位数)为止, 每次乘得的整数依次排列即为相应进制的数码。最初得到的为最高有效数字,最后得到的为最低有效数字。,例3: 将0.686转换成二、八、十六进制数(用小数点后5位表示)。,例4: 将168.686转换为二、八、十六进制数。根据例2、例3可得:,二进制与八进制之间的相互转换 由于23= 8, 故可采用“合三为一”的原则, 即从小数点开始分别向左、右两边各以3位为一组进行二八换算: 若不足 3 位的以 0 补足, 便可将二进制数转换为八进制数。反之, 采用“一分为三”的原则, 每位八进制数用三位二进制数表示, 就可将八进制数转换为二进制数。,二进制与十六进制之间的相互转换 由于24= 16, 故可采用“合四为一”的原则, 即从小数点开始分别向左、右两边各以4位为一组进行二十六换算: 若不足 4 位的以 0 补足, 便可将二进制数转换为十六进制数。反之, 采用“一分为四”的原则, 每位十六进制数用四位二进制数表示, 就可将十六进制数转换为二进制数。,二进制数的运算,二进制数的算术运算 二进制数只有0和1两个数字,其算术运算较为简单,加、 减法遵循“逢二进一”、“借一当二”的原则。,1. 加法运算 规则: 0+0=0; 0+1=1; 1+0=1; 1+1=10(有进位),例:求11001010B11101B。 解:被加数 11001010 加数 11101 进位 ) 00110000 和 11100111 则11001010B11101B11100111B。 由此可见,两个二进制数相加时,每1位有3个数参与运算(本位被加数、加数、低位进位),从而得到本位和以及向高位的进位。,2. 减法运算 1位二进制数减法规则为: 101,110,000,011 (有借位) 例: 求10101010B10101B。 解: 被减数 10101010 减数 10101 借位 ) 00101010 差 10010101 则10101010B10101B10010101B。,3. 乘法运算 规则: 00=0; 01=10=0; 11=1 例:求1011B1101B。,4. 除法运算规则: 0/1=0; 1/1=1 例:求10100101B/1111B,二进制数的逻辑运算,1.“与”运算(AND) “与”运算又称逻辑乘,运算符为或。 “与”运算的规则:000;01100;111 例: 若二进制数X10101111B,Y01011110B,求XY。 10101111 01011110 00001110 则XY00001110B。,2. “或”运算(OR) “或”运算又称逻辑加,运算符为或。 “或”运算的规则: 000;01101;111 例:若二进制数X10101111B,Y01011110B, 求XY。 10101111 01011110 11111111 则XY11111111B。,3. “非”运算(NOT) “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作 。 其运算规则如下:,例:若A=10101B, 求,4. “异或”运算(XOR) “异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“”。其运算规则是:,例:若X=1010B, Y=0110B, 求XY。,带符号数的表示方法原码、反码、补码,机器数与真值 单片机在数的运算中, 不可避免地会遇到正数和负数, 那么正负符号如何表示呢?由于计算机只能识别0和1, 因此, 我们将一个二进制数的最高位用作符号位来表示这个数的正负。 规定符号位用“0”表示正, 用“1”表示负。 例如, X=-1101010B, Y=+1101010B, 则X表示为: 11101010B, Y表示为01101010B。,数的码制,1. 原码 当正数的符号位用0表示, 负数的符号位用1表示, 数值部分用真值的绝对值来表示的二进制机器数称为原码, 用X原表示, 设X为整数。 若X=+Xn-2Xn-3X1X0,则X原=0Xn-2Xn-3X1X0=X; 若X=-Xn-2Xn-3X1X0,则X原=1Xn-2Xn-3X1X0=2n-1-X。 其中, X为n-1位二进制数, Xn-2、Xn-3、 、X1、X0为二进制数0或1。例如+115和-115在计算机中(设机器数的位数是8)其原码可分别表示为 +115原= 01110011B; -115原= 11110011B,可见, 真值X与原码X原的关系为,值得注意的是, 由于+0原=00000000B, 而-0原=10000000B, 所以数0的原码不唯一。 8位二进制原码能表示的范围是: -127+127。,3. 补码 “模”是指一个计量系统的计数量程。如, 时钟的模为12。任何有模的计量器, 均可化减法为加法运算。仍以时钟为例, 设当前时钟指向11点, 而准确时间为7点, 调整时间的方法有两种, 一种是时钟倒拨4小时, 即11-4=7; 另一种是时钟正拨8小时, 即11+8=12+7=7。 由此可见, 在以12为模的系统中, 加8和减4的效果是一样的, 即-4=+8(mod 12)。 对于n位单片机来说, 数X的补码定义为,即正数的补码就是它本身, 负数的补码是真值与模数相加而得。,可见: 正数的补码与其原码相同,即X补X原; 零的补码为零,+0补-0补00000; 负数才有求补码的问题。 负数补码的求法 补码的求法一般有两种: 用补码定义式: X补2nX2n|X| -2 n-1X0(整数),在用补码定义式求补码的过程中,由于做一次减法很不方便,故该法一般不用。 例如:X-0101111B, n8,则 X补=28(-0101111B) 100000000B0101111B 11010001B(mod28) 用原码求反码,再在数值末位加1可得到补码,即:X补X反1。,例: 假设X1+83, X2-76,当用8位二进制数表示一个数时,求X1、X2的原码、反码及补码。 解: X1原X1反X1补01010011B X2原11001100B X2反10110011B X2补X反110110100B 综上所述可归纳为: 正数的原码、反码、补码就是该数本身; 负数的原码其符号位为1,数值位不变; 负数的反码其符号位为1,数值位逐位求反; 负数的补码其符号位为1,数值位逐位求反并在末位加1。,BCD码(Binary Coded Decimal) 二进制数以其物理易实现和运算简单的优点在计算机中得到了广泛应用,但人们日常习惯最熟悉的还是十进制。为了既满足人们的习惯,又能让计算机接受,便引入了BCD码。它用二进制数码按照不同规律编码来表示十进制数,这样的十进制数的二进制编码,既具有二进制的形式,又具有十进制的特点,便于传递处理。,BCD码和ASCII码,1位十进制数有09共10个不同数码,需要由4位二进制数来表示。4位二进制数有16种组合,取其10种组合分别代表10个十进制数码。最常用的方法是8421BCD码,其中8、4、2、1分别为4位二进制数的位权值。下表给出了十进制数和8421BCD码的对应关系。,从表中可看出8421BCD码与十进制数关系直观,二十间相互转换容易。 例如:将78.43转换成相应的BCD码,而将 (01101001.00010101)BCD转换成十进制数。 78.43(0111 1000.0100 0011)BCD (0110 1001.0001 0101)BCD69.15,ASCII码 在计算机的应用过程中,如操作系统命令,各种程序设计语言以及计算机运算和处理信息的输入输出,经常用到某些字母,数字或各种符号,如:英文字母的大、小写;09数字符;、*、/运算符;、关系运算符等等。但在计算机内,任何信息都是用代码表示的,因此,这些符号也必须要有自己的编码。,ASCII码采用7位二进制数对字符进行编码,它包括10个十进制数09;大写和小写英文字母各26个;32个通用控制符号;34个专用符号,共128个字符。其中数字09的ASCII编码分别为30H39H,英文大写字母AZ的ASCII编码从41H开始依次编至5AH。ASCII编码从20H7EH均为可打印字符,而00H1FH为通用控制符,它们不能被打印出来,只起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论