1
微机原理与接口技术
2
课程目标掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力
3
教材及主要参考书教材:
,微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
,硬件技术基础》,冯博琴主编,邮电出版社
,微机原理及应用》,李伯成等编,西安电子科技大学出版社
4
考核方式
平时作业 10%
实 验 10%
期末考试 80%
5
答疑辅导
网络,
http://ctec.xjtu.edu.cn
ftp://ctec.xjtu.edu.cn/teacher/microcomputer/
地 点,计教中心小楼 103,202
联系电话:
6
第 1章 基础知识主要内容:
计算机中的常用计数制、编码及它们相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
7
§ 1.1 概 述
微型计算机的发展史
计算机的应用
8
§ 1.2 常用计数制
了解:各种计数制的特点及表示方法;
掌握:各种计数制之间的相互转换。
9
一、常用计数法十进制二进制十六进制
10
1,十进制特点:以十为底,逢十进一;
共 有 0-9十个数字符号 。 用 D代表。
表示:
11
2,二进制特点:以 2为底,逢 2进位;
只有 0和 1两个符号。用 B表示。
表示:
12
3,十六进制
特点:有 0--9及 A--F共 16个数字符号,
逢 16进位。用 H表示。
表示:
13
例:
234.98D或( 234.98) D
1101.11B或( 1101.11) B
ABCD,BFH或( ABCD,BF) H
14
二、各种进制数间的转换
1,非十进制数到十进制数的转换:
按相应的权表达式展开
15
2,十进制到非十进制数的转换
对二进制的转换:
对整数:除 2取余;
对小数:乘 2取整。
对十六进制的转换:
对整数:除 16取余;
对小数:乘 16取整。
16
3,二进制与十六进制间的转换
用 4位二进制数表示 1位十六进制数
17
§ 1.3 二进制数的运算算术运算逻辑运算无符号数有符号数
18
一、无符号数的运算
算术运算包括:
加法运算减法运算乘法运算除法运算
19
注意点:
对加法,1+1=0(有进位)
对减法,0-1=1(有借位)
对二进制数,乘以 2相当于左移一位;
除以 2则相当于右移 1位。
20
[例 ]:
00001011× 0100=00101100B
00001011÷ 0100=00000010B
即:商 =00000010B
余数 =11B
21
无符号数的表示范围:
0 ≤ X ≤ 2 n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位有进位(或借位)时则产生溢出。
22
[例 ]:
最高位向前有进位,产生溢出
23
3,逻辑运算与或非异或
24
4,逻辑门掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
25
“与”、“或”运算
任何数和,0”相“与”,结果为 0。
任何数和,1”相“或”,结果为 1。
26
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为 0,相异则为 1
27
5,译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
Y7
28
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
29
二、有符号数计算机中的符号数可表示为:
符号位 +真值机器数
,0” 表示正,
,1” 表示负。
30
[例 ]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位 真值
31
1,符号数的表示:
原码反码补码
32
原码:
最高位为符号位,用,0”表示正,用
,1”表示负;其余为真值部分。
优点,真值和其原码表示之间的对应关系简单,容易理解;
缺点,计算机中用原码进行加减运算比较困难,0的表示不唯一。
33
数 0的原码
8位数 0的原码,+0=0 0000000
-0=1 0000000
即:数 0的原码不唯一。
34
反码对一个机器数 X:
若 X>0,则 [X]反 =[X]原
若 X<0,则 [X]反 = 对应原码的符号位不变,数值部分按位求反
35
[例 ]:
X= -52 = -0110100
[X]原 =1 0110100
[X]反 =1 1001011
36
0的反码:
[+0]反 =00000000
[-0]反 =11111111
即:数 0的反码也不是唯一的。
37
补码定义:
若 X>0,则 [X]补 = [X]反 = [X]原
若 X<0,则 [X]补 = [X]反 +1
38
[例 ]:
X= –52= – 0110100
[X]原 =10110100
[X]反 =11001011
[X]补 = [X]反 +1=11001100
39
0的补码:
[+0]补 = [+0]原 =00000000
[-0]补 = [-0]反 +1=11111111+1
=1 00000000
对 8位字长,进位被舍掉
40
特殊数 10000000
该数在原码中定义为,-0
在反码中定义为,-127
在补码中定义为,-128
对无符号数,( 10000000) B=128
41
符号数的表示范围:
对 8位二进制数:
原码,-127 ~ +127
反码,-127 ~ +127
补码,-128 ~ +127
42
2,符号二进制数与十进制的转换对用补码表示的二进制数:
1)求出真值
2)进行转换
43
[例 ]:
将一个用补码表示的二进制数转换为十进制数。
[X]补 =0 0101110B 真值为,0101110B
正数所以,X=+46
[X]补 =1 1010010B 真值不等于,-1010010B
负数而是,X=[[X]补 ]补 =[11010010]补
= - 0101110 = - 46
44
3,符号数的算术运算
通过引进补码,可将减法运算转换为加法运算。
即,[X+Y]补 =[X]补 +[Y]补
[X-Y]补 =[X+(-Y)]补
=[X]补 +[-Y]补
45
[例 ]:
X=-0110100,Y=+1110100,求 X+Y=?
[X]原 =10110100
[X]补 = [X]反 +1=11001100
[Y]补 = [Y]原 =01110100
所以,[X+Y]补 = [X]补 + [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
46
4,符号数运算中的溢出问题
两个带符号二进制数相加或相减时,
若最高位?次高位 = 1,则结果产生溢出。
47
[例 ]:
若,X=01111000,Y=01101001
则,X+Y=
即:次高位向最高位有进位,而最高位向前无进位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
111000 01
011010 01
011110 00
48
§ 1.4 计算机中的编码
BCD码
ASCII码
49
BCD码
压缩 BCD码用 4位二进制码表示一位十进制数
扩展 BCD码用 8位二进制码表示一位十进制数
50
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反之同样。
例,( 0001 0001,0010 0101) BCD
=11,25
=( 1011,01) B
51
ASCII码
字符的编码,一般用 7位二进制码表示。
在需要时可在 D7位加校验位。
熟悉 0---F的 ASCII码
52
ASCII码的校验
奇校验加上校验位后编码中,1”的个数为奇数。
例,A的 ASCII码是 41H( 1000001B),
以奇校验传送则为 C1H( 11000001B)
偶校验加上校验位后编码中,1”的个数为偶数。
上例若以偶校验传送,则为 41H。
53
§ 1.5 计算机中常用术语
bit
1Mb=1024?1024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
Byte
1 Byte=8bit,1KB=1024 Byte
word,表示字长,有 1bit,4bit,8bit等
54
结束语:
第 1章难点:
补码的概念及其运算
55
作业:
1.3
1.5
1.7
1.8