单片微机原理及应用
华东交通大学徐春辉制作
2013年8月
第2章 微型计算机基础
内容提要
本章从微型计算机的最基本功能出发介绍其基本结构及工作原理,以便在有限的学时内给读者一个较完整的概念,然后在以后各章节中,结合实际的微型计算机逐步完善微型计算机原理及应用的具体细节。
学习要点
了解计算机中数和其他信息的编码表达方式。
了解计算机运算基础,理解加法在二进制运算中的重要地位。
了解微型计算机的结构特点及各功能模块的作用和工作原理。
了解微型计算机执行指令的例行程序,重点理解其取指令、分析指令和执行指令的过程。
了解单片微型计算机结构和应用方面的特点。
了解51系列单片机的历史沿革,重点了解AT89系列单片机和原型机的关系。
2.1 计算机中的数、编码和运算
2.2 微型计算机的基本结构
2.3 微型计算机的指令执行过程
2.4 微型计算机系统
2.5 单片微型计算机概述
第2章 目录
5
2.1 计算机中的数、编码和运算
2.1.1 计算机中常用的数制及相互转换
6
2.1.2 微型计算机中常用的编码
1.BCD码(十进制数的二进制编码)
7
2.ASCII码
8
2.1.3 微型计算机的运算基础
1.带符号数的表示法
计算机中处理的数值数据可分为无符号数和有符号数两类。
(1)机器数与真值
数学中的正负用符号“+”和“- ”表示。
在计算机中,正数的符号用“0”表示,负数的符号用“1”表示。
用来表示数的符号的数位被称为“符号位”(通常为最高数位),这样就使数的符号也“数码化”了,即从表达形式上看符号位与数值位毫无区别。
9
这种符号数码化的数被称为机器数,而把原来的带正负号的数称为相应机器数的真值。
机器数是计算机中数的基本形式,为了运算方便,机器数通常有原码、反码和补码三种形式。
在微型计算机中,带符号数都是以补码形式存放的。
10
(2)补码的概念及定义
以日常生活中经常遇到的钟表为例来说明补码的概念。
① 以模的概念定义补码
[X]补 = 2n + X(mod 2n) (2-1)
② 利用反码定义补码
若X≥0,则[X]补 = [X]反 = [X]原
若X < 0,则[X]补 = [X]反 + 1
11
(3)补码的求取方法
根据前述介绍可知,正数的补码等于原码。下面介绍负数求补码的3种方法。
① 利用模求补码
12
② 利用十六进制数形式求取补码的便捷方法
以8位微型机中常用的单字节数为例:
[X]补 = 100H + X
此法便于手工计算。例如,X=-2 ,则X的补码用单字节十六进制数表达,就是:
③ 根据反码求补码
首先求真值(负数)对应的原码,再求相应的反码,最后加1得到原数对应的二进制形式的补码。这种方法,便于在逻辑电路中利用非门电路和加法计数器的功能实现。
13
(4)由补码求取真值的方法
在计算机中凡是带符号的数一律用补码表示,且符号位参加运算,其运算结果也用补码表示。
若结果的符号位为“0”,则表示结果为正数,此时可以认为它是以原码形式表示的(正数的补码即为原码);
若结果的符号位为“l”,则表示结果为负数,它也是以补码形式表示的。若要用原码来表示该结果,还需要对结果求补,即:
[[X]补]补 = [X]原
求得X的原码后只需简单地对符号位做出处理就可得到对应的真值。
14
【例2-2】 已知 [X]补=,求X。
解:[X]原 = [[X]补]补=,所以X = - 1100111B。
2.补码运算规则
(1)补码的加法
设x和Y是两个带符号的补码数,则有:
即两个数和的补码等于两个数补码的和:
[X + Y]补 = [X]补 + [Y]补
(2)补码的减法
两个带符号数相减,有如下基本公式:X-Y=X+(-Y)
即两数差的补码等于被减数的补码及减数相反数的补码之和。这说明了在补码运算中,减法运算可以用加法来代替。
这里关键在于求 。如果已知
,那么对于 的每一位(包括符号位)都按位求反,然后再加l,结果即为 。
称 为对 “变补”,即[[Y]补]变补 =