第1章 计算机基础_第1页
第1章 计算机基础_第2页
第1章 计算机基础_第3页
第1章 计算机基础_第4页
第1章 计算机基础_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术与应用第1章计算机基础计算机中的数制1.1计算机中的码制和编码1.2计算机基础知识1.3单片机及其应用1.41.1计算机中的数制1.1.1计算机中的常用数制一、十进制(Decimal)十进制通常具有以下两个主要特点。1.构成十进制的基本符号是0、1、2、3、4、5、6、7、8、9十个不同的数码。2.它的基数是10,即逢十进位:一个数值中的某一位计满10时,就要向与它相邻的高位进1。二、二进制(Binary)二进制数具有以下特点。1.构成二进制的基本符号是0和1两个数码。2.它的基数是2,即逢二进位。三、十六进制(Hexadecimal)十六进制数特点如下。1.它有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数码。2.十六进制的基数为16,即逢十六进一。四、八进制(Octal)八进制数具有以下特点。1.它有0、1、2、3、4、5、6、7八个数码。2.八进制的基数是8,即逢八进一。五、各数制数据的书写方式有两种方法来区分不同数制表示的数,一是在数的右下角标上该数的基数,例如:16510,1102,或者用中括号或小括号把数括起来:(165)10、[110]2;二是在数的右边标上该数的数制的英文单词的首个字母,例如:ABH、10D、11B,其中,十进制数后的D可以省略不写。整数小数十进制二进制八进制十六进制十进制二进制八进制十六进制0000000011110.50.10.40.8210220.250.010.20.4311330.1250.0010.10.24100440.06250.00010.040.15101550.031250.000010.020.086110660.0156250.0000010.010.04711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F表1.1 常用数字用不同数制表示1.1.2二进制数的运算一、二进制数的算术运算1.二进制加法法则。【例1.1】求两个八位二进制数X

=

10110110B和Y

=

11100011B的和。解:X

+

Y可写成如下竖式:即X

+

Y

=

10110110B

=

11100011B

=

110011001B2.二进制减法法则。【例1.2】求两个八位二进制数X

=

10110110B和Y

=

11100011B的差。解:因Y>X,故X

Y

=

(Y

X),相应竖式如下:所以,X

Y

=

(Y

X)

=

(11100011

10110110)

=

101101B3.二进制乘法法则。【例1.3】设有两个4位二进制数X

=

1101B,Y

=

1011B,试用竖式计算两者的积。解:二进制乘法运算竖式为:所以,X

×

Y

=

1101

×

1011

=

10001111B4.二进制除法运算。【例1.4】设X

=

10101011B,Y

=

110B,试求X÷Y之值。解:X÷Y的竖式如下:二、二进制数的逻辑运算1.逻辑乘运算。逻辑乘又称逻辑与,常用符号“∧”表示。逻辑乘运算法则为【例1.5】已知X

=

01100110B,Y

=

11110000B,试求X∧Y的值。解:多位二进制数相与,可如下竖式所示,从最低位开始,两数各位依次相与。所以,X∧Y

=

01100000B2.逻辑加运算。逻辑加又称逻辑或,常用符号“∨”表示。逻辑加的运算法则为:【例1.6】已知X

=

01100110B,Y

=

11110000B,试求X∨Y的值。解:多位二进制数相或,可如下竖式所示,从最低位开始,两数各位依次相或。所以,X∨Y

=

11110110B3.逻辑非运算。逻辑非运算又称逻辑取反,常采用在所求数上加“−”来表示。运算规则为:【例1.7】已知X

=

11000111B,试求的值。解:将X每一位取反,即得

=

00111000B4.逻辑异或。逻辑异或又称为半加,是不考虑进位的加法,常采用符号“⊕”表示,其运算规则为:【例1.8】已知X

=

10110110B,Y

=

11110000B,试求X⊕Y的值。解:所以,X⊕Y

=

01000110B1.1.3

数制相互间的转换一、二进制数和十进制数间的相互转换1.二进制数转换成十进制数的方法。要把一个二进制数转换成十进制数,只要把二进制数按照幂级数的形式展开相加就可以。【例1.9】把二进制数1101.11B转换成十进制数。解:按幂级数展开二进制数1101.11B2.十进制数转换成二进制数的方法。十进制整数同十进制小数转换成二进制数的方法不同。(1)十进制整数转换成二进制整数。十进制整数转换成二进制整数的方法有很多种,最常用的是“除2反序取余法”。【例1.10】试求出十进制数254的二进制数。解:把254连续除以2,直到商数小于2为止。相应算式如下:把所得余数按箭头方向从高到低排列起来便得到

254D

=

11111110B(2)十进制小数转换成二进制小数。十进制小数转换成二进制小数通常采用“乘2顺序取整法”。【例1.11】试把十进制小数0.678

9转换成二进制小数,要求精度为2−4。解:相应计算竖式如下:最高位最低位把所得整数按箭头方向从高位到低位排列后得到:

0.6789D≈0.1010B二、十六进制数和十进制数间的相互转换1.十六进制数转换成十进制数。【例1.12】把十六进制数7EFH转换成十进制数。解:把7EFH展开:

2.十进制数转换成十六进制数。(1)十进制整数转换成十六进制整数。【例1.13】求2901所对应的十六进制数。解:把2901连续除以16,直到商为11。竖式如下:所以,2

901D

=

B55H。(2)十进制小数转换成十六进制小数。【例1.14】求0.76

171

875的十六进制数。解:把0.76

171

875连续乘以16,直到乘积的小数部分为0,相应的竖式如下:

所以,0.76

171

875D

=

0.C3H。三、二进制数和十六进制数的转换1.二进制数转换成十六进制数。【例1.15】把1101111100011.10010100B转换成十六进制数。0001101111100011100101001BE394所以,1101111100011.10010100B

=

1BE3.94H。2.十六进制数转换成二进制数。要把十六进制数转换成二进制数,只要把十六进制数的每位分别用四位二进制数码表示,然后把它们连成一体。【例1.16】把十六进制数3AC.6A5H转换成二进制数。3AC6A5001110101100011010100101所以,3AC.6A5H

=

1110101100.011010100101B。1.2计算机中的码制和编码1.2.1二进制数值数据的编码方法一、机器数与真值数值X

=

61D

=

10111101B各位定义如下所示:

第7位第6位第5位第4位第3位第2位第1位第0位D7D6D5D4D3D2D1D010111101连同一个符号位在一起作为一个编码,就称为机器码或机器数,而其数值称为机器数的真值。二、微型计算机的原码、反码和补码1.原码。微型计算机的原码形式就是机器数形式,两者完全相同。它们的最高位为符号位,其余为数值位,符号位为0表示该数是正数,符号位是1表示它是负数。【例1.17】设X

=

+

1010B,Y

=

1010B,请分别写出它们在8位微型机中的原码形式。解:因为X

=

+

1010B所以[X]原

=

00001010B;因为Y

=

1010B,所以[Y]原

=

10001010B。2.反码。二进制数的反码有正数的反码和负数的反码之分。【例1.18】设X

=

+

1101101B,Y

=

0110110B,请写出X和Y的原码和反码形式。解:因为X

=

+

1101101B,所以[X]原

=

[X]反

=

01101101B;因为Y

=

0110110B,所以[Y]原

=

10110110B、[Y]反

=

11001001B。3.补码。对于带符号位的二进制数,正数的补码表示与原码相同,即最高位为符号位,用0表示正,其余位为数值位。负数的补码表示是在它的反码基础上加1而形成的。【例1.19】已知X

=

+

1010B,Y

=

01010B,试分别写出它们在8位微型计算机中的原码、反码和补码的形式。解:对于X

=

+

1010B,因为其为正数,所以其原码、反码和补码都相同,即

[X]原

=

00001010B [X]反

=

00001010B [X]补

=

00001010B对于Y

=

01010B,因为其为负数,所以

[Y]原

=

10001010B [Y]反

=

11110101B [Y]补

=

11110110B二进制数码无符号二进制数的值原码的值反码的值补码的值000000000+

0+

00000000011+

1+

1+

1000000102+

2+

2+

2……………01111100124+

124+

124+

12401111101125+

125+

125+

12501111110126+

126+

126+

12601111111127+

127+

127+

12710000000128−

0−

127−

12810000001129−

1−

126−

12710000010130−

2−

125−

126……………11111100252−

124−

3−

411111101253−

125−

2−

311111110254−

126−

1−

211111111255−

127−

0−

1表1.2 二进制数码的原码、反码与补码表示三、补码的运算1.补码的加法运算。补码的加法运算可依据下式进行:[X

+

Y]补

=

[X]补

+

[Y]补(mod2n)【例1.20】已知X

=

+

19,Y

=

7,试用补码方法求X

+

Y的二进制值。解:因为[X

+

Y]补

=

[X]补

+

[Y]补

=

[19]补

+

[

7]补所以有下式故有[X

+

Y]补

=

[X]补

+

[Y]补

=

[19]补

+

[

7]补

=

00001100B真值为

+

0001100B

=

12D【例1.21】用补码运算求64

+

65。解:[64]补

=

01000000,[65]补

=

01000001[64

+

65]补

=

[64]补

+

[65]补

=

01000000

+

01000001

=

10000001因为64+65超出了27

1即带符号8位二进制数的表示范围,产生溢出错误,答案变成了10000001B

=

1D,这显然是错误的。而正确结果应为[64

+

65]补

=

00000001(mod

=

27

=

10000000)即

10000000

+

0000001

=

10000001B

=

129D2.补码的减法运算。[X

Y]补

=

[X]补

[Y]补

=

[X]补

+

[

Y]补【例1.22】X

=

64,Y

=

10,用补码形式求64

10

=

?解:[X

Y]补

=

[64

10]补

=

[64]补

[10]补

=

[64]补

+

[

10]补而[64]补

=

[01000000]补

=

01000000[

10]补

=

[10001010]补

=

11110110所以[64-10]补

=

01000000

+

11110110

=

100110110进位位丢弃后[64

10]补

=

00110110B其真值为

+

0110110B

=

54D1.2.2定点数和浮点数二进制数在计算机中主要以定点数和浮点数两种形式存在。一、定点数数的定点表示法,是指数值无论是整数还是小数,都统一用固定小数点位置的办法来表示。1.定点小数的表示方法。定点小数,是指小数点固定在数据某一位置上的小数。2.定点整数的表示方法。定点整数的小数点定在数值最低位右边,其表示数据的最小单位为1。二、浮点数浮点数的小数点在数据中的位置可以浮动。1.2.3计算机中常用的信息编码所谓编码,就是用少量简单的基本符号,选用一定的组合规则,以表示出大量复杂多样的信息。一、二进制编码的十进制数十进制数8421BCD码十进制数8421BCD码00000810001000191001200101000010000300111100010001401001200010010501011300010011601101400010100701111500010101表1.3 BCD编码表BCD码,是用4位二进制数来表示0~9十个十进制数码,遵循十进制计算法则,即逢十进一,所以它是二进制编码的十进制数。十进制调整方法如下。1.若两个BCD码数相加,其结果大于1001,亦即大于十进制数9,则对结果加0110(即加6),进行调整。2.若两个BCD码数相加,其结果在本位上并不大于1001,但却向高位产生了进位,则对高位进行加0110进行调整。【例1.23】用BCD数完成54

+

48的运算。解:[54]BCD

=

01010100,[48]BCD

=

01001000二、字符编码在微型计算机中使用最普遍的是ASCII(AmericanStandardCodeforInformationInterchange)字符编码。

b6b5b4b3b2b1b00000010100111001011101110000NULDLESP0@P`p0001SOHDC1!1AQq0010STXDC2"2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUu0110ACKSYN&6FVv0111BELETB′7GWgw1000BSCAN(8HXx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l|1101CRGS-=M]m}1110SORS.>N^n~1111SIUS/?O-oDEL表1.4ASCII编码表三、中文的编码对中文字体的编码可分为计算机内部码、信息交换码、输入码和字型码等。1.3计算机基础知识1.3.1计算机的基本结构一、计算机的结构形式1.计算机的基本结构形式。图1.1计算机的结构形式2.计算机的基本结构。图1.2计算机结构框图(1)采用微处理器作为CPU,不再分别画出控制器和运算器。(2)整个计算机内部采用了总线结构,所有的部件都连结在3条总线上面,各部件之间的数据和信号都通过总线传送。计算机中的总线如图1.2所示有3种类型。①数据总线(DataBus,DB)。②地址总线(AddressBus,AB)。③控制总线(ControlBus,CB)。二、计算机系统的主要指标1.字长。2.存储容量。1KB

=

1

024B1MB

=

1

024KB1GB

=

1

024MB1TB

=

1

024GB而1024

=

210,所以上述式子可以写成:1TB

=

210GB1GB

=

210MB1MB

=

210KB1KB

=

210B实际使用中的存储器芯片,常用“位”为单位来定义存储器芯片容量。即芯片容量

=

存储器单元数

×

每单元位数例如,2

716芯片的容量为2KB,即2K个字节,但它是以16K位表示的。先来看一个简单的例子,了解存储器的两种常见表示形式。假如有一个8位存储器,其容量为10B,它的分布如图1.3所示。

图1.310B存储器按位展开图图1.4用地址表示的10B存储器按位展开图图1.5监视器中存储器的表示形式3.指令执行时间。指令是CPU执行操作的命令。4.系统总线。5.外部设备配置。6.系统软件配置。1.3.2计算机的基本工作原理及系统组成一、微处理器的组成计算机的核心是微处理器,微处理器由两部分组成:运算器和控制器。以下学习运算器和控制器的结构。运算器包括算术逻辑单元(ALU)、累加器(ACC)、标志寄存器(FR)以及一些寄存器组等。而控制器则是由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)及控制信号发生器等组成。二、指令执行过程微型计算机的运行,是按照预先设计好的程序一步一步执行的。微处理器具体执行过程如下。(1)控制器将PC内容送到地址寄存器,即送出指令的地址,然后PC的内容自动加1,即指向下一条指令的地址。(2)指令地址通过地址总线送到存储器,选中存放相应指令的存储单元。(3)CPU发出读指令的命令,存储器收到读命令后,将选中的存储单元内容,亦即指令机器码送到数据总线。(4)从数据总线上取出的指令进入指令寄存器,再由指令译码器译码,然后经控制信号产生器发出各种控制信号,也称操作信号。(5)执行指令。对于简单的单字节指令,指令译码后就可以具体执行指令。有些指令是不止一个字节的机器码,那么,在取出指令的第一个字节之后,控制器将根据译码的结果,再去取出其余的指令字节,然后再决定如何执

温馨提示

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

评论

0/150

提交评论