资源描述
第1 1章 微型计算机基础 1.1 计算机中的数制及相互转换 1.2 二进制数的运算 1.3 带符号数的表示 1.4 定点数和浮点数 1.5 BCD码和ASCII码 1.6 微型计算机的组成及工作过程 第1页/共44页1.1 计算机中的数制及相互转换 1.1.1 进位计数制 按进位原则进行计数的方法, 称为进位计数制。十进制数有两个主要特点: (1) 有 10 个不同的数字符号: 0、 1、 2、 、 9; (2) 低位向高位进位的规律是“逢十进一”。 因此, 同一个数字符号在不同的数位所代表的数值是不同的。如555.5中 4 个 5 分 别 代 表 5 0 0 、 5 0 、 5 和 0 . 5 , 这 个 数 可 以 写 成555.5=5102+5101+5100+510-1 式中的10称为十进制的基数, 10、101、100、10-1称为各数位的权。 第2页/共44页任意一个十进制数N都可以表示成按权展开的多项式: inmiimmnnnnddddddN1010.1010.1010111002211 其中, di是09共10个数字中的任意一个, m是小数点右边的位数, n是小数点左边的位数, i是数位的序数。例如, 543.21可表示为543.21=5102+4101+3100+210-1+110-2第3页/共44页一般而言, 对于用 R 进制表示的数 N , 可以按权展开为 inmiimmnnnnRaRaRaRaRaRaN111002211.式中, ai 是 0、1、 、 (R-1)中的任一个, m、 n是正整数, R是基数。在 R 进制中, 每个数字所表示的值是该数字与它相应的权Ri的乘积, 计数原则是“逢 R进一”。 第4页/共44页 1. 二进制数 当 R=2 时, 称为二进位计数制, 简称二进制。在二进制数中, 只有两个不同数码: 0和1, 进位规律为“逢二进一”。任何一个数 N, 可用二进制表示为 inmiimmnnnnaaaaaaN22.22.22111002211 例如, 二进制数 1011.01 可表示为(1011.01)2=123+022+121+120+02-1+12-2 第5页/共44页 2. 八进制数 当R=8 时, 称为八进制。在八进制中, 有 0、1、2、7 共 8 个不同的数码, 采 用 “ 逢 八 进 一 ” 的 原 则 进 行 计 数 。 如 ( 5 0 3 )8可 表 示 为 : (503)8=582+081+380 3. 十六进制 当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 第6页/共44页表1.1 各种进位制的对应关系 十进制十进制二进制二进制八进制八进制十六进制十六进制十进制十进制二进制二进制八进制八进制十六进制十六进制000091001119111110101012A2102211101113B3113312110014C41004413110115D51015514111016E61106615111117F7111771610000201081000108第7页/共44页1.1.2 不同进制间的相互转换 1. 二、 八、 十六进制转换成十进制 例 1 将数(10.101)2, (46.12)8, (2D.A4)1 6转换为十进制。 (10.101)2=121+020+12-1+02-2+12-3=2.625 (46.12)8=481+680+18-1+28-2=38.156 25 (2D.A4)16=2161+13160+1016-1+416-2=45.640 62 第8页/共44页 2. 十进制数转换成二、八、十六进制数 任意十进制数 N 转换成 R 进制数, 需将整数部分和小数部分分开, 采用不同方法分别进行转换, 然后用小数点将这两部分连接起来。 (1) 整数部分: 除基取余法。 分别用基数 R 不断地去除 N 的整数, 直到商为零为止, 每次所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数字, 最后得到的为最高有效数字。 第9页/共44页例 2 将(168)10转换成二、 八、 十六进制数。 第10页/共44页 (2) 小数部分: 乘基取整法。 分别用基数 R(R=2、8或16)不断地去乘N 的小数, 直到积的小数部分为零(或直到所要求的位数)为止, 每次乘得的整数依次排列即为相应进制的数码。 最初得到的为最高有效数字, 最后得到的为最低有效数字。 第11页/共44页故: (0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16 第12页/共44页例 4 将(168.645)10转换成二、 八、 十六进制数。 根据例2、例 3 可得 (168.645)10= (10101000.10100)2= (250.51217) 8=(A8.A51EB)16 第13页/共44页 3. 二进制与八进制之间的相互转换 由于23= 8, 故可采用“合三为一”的原则, 即从小数点开始分别向左、右两边各以3位为一组进行二八换算: 若不足 3 位的以 0 补足, 便可将二进制数转换为八进制数。反之, 采用“一分为三”的原则, 每位八进制数用三位二进制数表示, 就可将八进制数转换为二进制数。 例 5 将(101011.01101)2转换为八进制数。 101 011 . 011 010 5 3 . 3 2 即 (101011.01101)2= (53.32)8 第14页/共44页例 6 将(123.45)8转换成二进制数。 1 2 3 . 4 5001 010 011 . 100 101 即 :(123.45)8=(1010011.100101) 例 7 将(110101.011)2转换为十六进制数。 0011 0101 . 0110 3 5 . 6 即:(110101.011) 2=(35.6)16 例 8 将(4A5B.6C)16转换为二进制数。 4 A 5 B . 6 C0100 1010 0101 1011 . 0110 1100即 (4A5B.6C)16=(100101001011011.011011)2 第15页/共44页1.2 二进制数的运算 1.2.1 二进制数的算术运算 二进制数只有 0和1两个数字,其算术运算较为简单,加、 减法遵循“逢二进一”、“借一当二”的原则。 1. 加法运算规则: 0+0=0; 0+1=1; 1+0=1; 1+1=10(有进位) 例 1 求1001B+1011B。 第16页/共44页2. 减法运算规则: 0-0=0; 1-1=0; 1-0=1; 0-1=1(有借位) 例 2 求1100B-111B。 第17页/共44页3. 乘法运算规则: 00=0; 01=10=0; 11=1例 3 求1011B1101B。 第18页/共44页即: 10100101B/1111B=1011B 4. 除法运算规则: 0/1=0; 1/1=1例 4 求10100101B/1111B 第19页/共44页1.2.2 二进制数的逻辑运算 1. “与”运算 “与”运算是实现“必须都有,否则就没有”这种逻辑关系的一种运算。 运算符为“ ”, 其运算规则如下:00=0, 01=10=0, 11=1 例 5 若X=1011B, Y=1001B, 求XY。 100110011011.即 XY=1001B 第20页/共44页 2. “或”运算 “或”运算是实现“只要其中之一有,就有”这种逻辑关系的一种运算, 其运算符为“+”。 “或”运算规则如下:0+0=0, 0+1=1+0=1, 1+1=1 例 6 若X=10101B, Y=01101B, 求X+Y。 101010110111101+即 X+Y=11101B 第21页/共44页 3. “非”运算 “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作 。 其运算规则如下: A10, 01例 7 若A=10101B, 求 。 ABBA0101010101 第22页/共44页 4. “异或”运算 “异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“”。其运算规则是: 011 , 101 , 110 , 000例 8 若X=1010B, Y=0110B, 求XY。 101001101100即 XY=1100B 第23页/共44页1.3 带符号数的表示 1.3.1 机器数及真值 一个带符号的二进制数的最高位用作符号位,来表示这个数的正负。规定符号位用“0”表示正,用“1”表示负。例如:X=-1101010B,Y=+1101010B,则X的二进制数表示为:11101010B,Y的二进制数表示为01101010B。 一个二进制数连同符号位在内,称为机器数;而一般的书写形式的数,称为该机器数的真值,如-1101010B、 +1101010B机器数有三种表示方法:原码、反码、补码第24页/共44页1.3.2 数的码制 1. 原码 当正数的符号位用0表示, 负数的符号位用1表示, 数值部分用真值的绝对值来表示的二进制机器数称为原码, 用X原表示, 设X为整数。 例如+115和-115在计算机中(设机器数的位数是8)其原码可分别表示为+115原= 01110011B; -115原= 11110011B 值得注意的是, 由于+0原=00000000B, 而-0原=10000000B, 所以数 0的原码不唯一。 8位二进制原码能表示的范围是: -127+127。 第25页/共44页 2. 反码 一个正数的反码, 等于该数的原码; 一个负数的反码, 由它的正数的原码按位取反形成。反码用X反表示。 例如: X=+103, 则X反=X原=01100111B; X=-103, X原=11100111B, 则X反=10011000B。 负数的反码等于:符号位不变,数值位取反。第26页/共44页 3. 补码 “模”是指一个计量系统的计数量程。如, 时钟的模为12。任何有模的计量器, 均可化减法为加法运算。仍以时钟为例, 设当前时钟指向11点, 而准确时间为7点, 调整时间的方法有两种, 一种是时钟倒拨4小时, 即11-4=7; 另一种是时钟正拨8小时, 即11+8=12+7=7。 由此可见, 在以12为模的系统中, 加8和减4的效果是一样的, 即 -4=+8(mod 12)对于n位计算机来说, 数X的补码定义为 ,2,XXXn补02)2(mod;2011XXnnn第27页/共44页即正数的补码就是它本身, 负数的补码是真值与模数相加而得。 例如, n=8时, +75补=01001001B -75补=100000000 B- 01001001B=10110111B 0补=+0补=-0补=00000000B 可见, 数0的补码表示是唯一的。在用补码定义求负数补码的过程中, 由于做减法不方便, 一般该法不用。负数补码的求法: 用原码求反码, 再在数值末位加1, 即: X补= X 反+ 1 。 例 如 : - 3 0 补= - 3 0 反+ 1 = + 3 0 原+1=11100001+1=11100010B。 8位二进制补码能表示的范围为: -128 +127, 若超过此范围, 则为溢出。 第28页/共44页1.4 定点数和浮点数 1. 定点法 定点法中约定所有数据的小数点隐含在某个固定位置。 对于纯小数, 小数点固定在数符与数值之间; 对于整数, 则把小数点固定在数值部分的最后面, 其格式为 纯小数表示: 数符. 尾数 数 符尾 数.小数点数 符尾 数.小数点第29页/共44页 2. 浮点法 浮点法中, 数据的小数点位置不是固定不变的, 而是可浮动的。 因此, 可将任意一个二进制数N表示成N=M2E其中, M为尾数, 为纯二进制小数, E称为阶码。可见, 一个浮点数有阶码和尾数两部分, 且都带有表示正负的阶码符与数符, 其格式为 阶 符阶码E数 符尾数M 设阶码 E的位数为m位, 尾数M的位数为n位, 则浮点数N的取值范围为 2-n2-2m+1|N|(1-2-n)22m-1 为了提高精度, 发挥尾数有效位的最大作用, 还规定尾数数字部分原码的最高位为1, 叫做规格化表示法。 如0.000101表示为: 2-30.101 第30页/共44页1.5 BCD码和ASCII 码 1.5.1 BCD码 十进制数 8421BCD码 十进制数 8421BCD码 00000501011000160110200107011130011810004010091001表1.2 8421BCD编码表 BCD码:用4位二进制数表示1位十进制数的编码形式。 例 1. 69.25的BCD码:69.25 =(01101001.00100101)BCD 第31页/共44页1.5.2 ASCII码 表 1.3 ASCII 码 表 第32页/共44页1.6 微型计算机的组成及工作过程 1.6.1 基本组成 图 1.1 微型计算机的基本组成 第33页/共44页 1. 中央处理器CPU CPU(Central Processing Unit)是计算机的核心部件, 它由运算器和控制器组成, 完成计算机的运算和控制功能。 CPU中还包括若干寄存器(Register), 它们的作用是存放运算过程中的各种数据、地址或其它信息。这些寄存器主要有:通用寄存器、累加器A、程序计数器PC等。 运算器又称算术逻辑部件(ALU, Arithmetical Logic Unit), 主要完成对数据的算术运算和逻辑运算。 控制器(Controller)是整个计算机的指挥中心, 它负责从内部存储器中取出指令并对指令进行分析、判断, 并根据指令发出控制信号, 使计算机的有关部件及设备有条不紊地协调工作, 保证计算机能自动、连续地运行。第34页/共44页 2. 存储器M 存储器(Memory)是具有记忆功能的部件, 用来存储数据和程序。 存储器(根据用途分类):程序存储器(硬盘、软盘、光盘、U盘、BIOS)相当人脑记忆部分数据存储器(基本内存、显存、内存条)相当于人脑思维部分存储器(根据固有性质)分类:只读存储器ROM固定掩膜存储器ROM可编程存储器PROM紫外光可擦除存储器EPROM(2764、2732.)电改写存储器EEPROM、E2PROM(2864、闪存)随机读写存储器RAM静态RAM(6264) (内存条) 动态RAM;集成度高、价格底、功耗低,但需刷新。第35页/共44页 3. 输入/输出接口(I/O接口) 输入/输出(I/O)接口由大规模集成电路组成的I/O器件构成(如:串口、并口、USB口、I/O扩展插槽、其它I/O专用接口1394、读卡器.), 用来连接主机和相应的I/O设备(如: 键盘、 鼠标、显示器、 打印机、网络设备、音箱、麦克等), 使得这些设备和主机之间传送的数据、信息在形式上和速度上都能匹配。不同的I/O设备必须配置与其相适应的I/O接口。 第36页/共44页 4. 总线 总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。 外部总线有三种(三总线):数据总线 DB(Data Bus), 地址总线 AB(Address Bus)控制总线 CBControl Bus)。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。第37页/共44页 将中央处理器(CPU),存储器(Mem.)和输入输出接口部件(I/O interface)集成在一个芯片中, 单一芯片具备了一台微型计算机的基本功能, 这种单芯片的计算机就称谓单片微型计算机(MCU). 且近年来, 单片机的CPU速度不断提高, 就51系列来说, 仅时钟频率从12MHz, 提高到24MHz, 40MHz; 存储器不断扩容(内部ROM 4K, 8K, 12K, 60K, 内部RAM); I/O接口不断丰富(I2C,SPI,USART,CAN), 一些单片机将一些功能部件直接集成进去(A/D, D/A, PWM, Motor-Controller etc.), 构成系统芯片(SoC); 且系列很多,品种很全, 可满足几乎所有场合的应用.5. 单片微型计算机第38页/共44页 1.6.2 基本工作过程 根据冯诺依曼原理构成的现代计算机的工作原理可概括为: 存储程序和程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据, 通过一定的方式输入并存储在计算机的存储器中。程序控制是指计算机能自动地逐一取出程序中的一条条指令, 加以分析并执行规定的操作。 略!第39页/共44页 来看Z=X+Y的执行过程。 假定我们有一个虚拟机SAM, 主存储器由4K16位的字组成, CPU 中有一个可被程序员使用的16位累加器A。 SAM指令格式为 操作码地址码SAM中有如下指令: 第40页/共44页 假设X和Y均已存放在存储单元中。注意, X是个变量名, 可以是某个存储单元的地址,该单元中存放的是X的值。 (1) 从地址为X的单元中取出X的值送到累加器中。 (2) 把累加器中的X与地址为Y 的单元的内容相加, 结果存放在累加器中。 (3) 把累加器中的内容送到地址为Z的单元中。 相应的SAM指令是: LOAD X ADD Y STORE Z 第41页/共44页表 1.4 计算Z=X+Y的程序 第42页/共44页 指令被取出后送入指令寄存器 IR(Instrction Register), 由控制器中的译码器对指令进行分析, 识别不同的指令类别及各种获得操作数的方法。以加法指令ADD Y为例, 译码器分析后得到如下结果: (1) 这是一个加法指令; (2) 一个操作数存放在Y(地址为A01H)中, 另一操作数隐含在累加器 A中。 接着, 操作进入指令执行阶段。仍以 ADD Y 为例, 将Y 与A中内容送入 ALU, 进行加法运算, 结果送入A。 第43页/共44页感谢您的观看!第44页/共44页
展开阅读全文