《微机原理与接口技术 ppt课件.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术 ppt课件.ppt(72页珍藏版)》请在三一办公上搜索。
1、1,微机原理及接口技术,上海工程技术大学电子信息系,2007.2,2,概述,3,4,5,6,7,8,9,10,带闹钟智能电子钟,11,智能快速充电器系统框图,恒流恒压电路,PWM,直流12V,I/O接口,MC68HC908SR12,温度传感器,电池,Rsense0.01,SDA,SCL,充电电流,10bit A/D,电流检测,12,远程智能防盗报警装置,13,课程目标 微机原理是学习和掌握微机硬件知识和汇编语言程序设计的入门课程:微型计算机的基本工作原理汇编语言程序设计微型计算机接口技术 目的:建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。,14,教学内容第一章 基础知识第二
2、章微处理器的结构第三章 8086/8088 CPU的指令系统第四章 汇编语言程序设计第五章 存储器系统第六章 输入输出和中断技术第七章 常用数字接口电路,15,教材冯博琴主编,微型计算机原理与接口技术,清华大学出版社,2002.2参考书1.周明德,微型计算机系统原理及应用(第四版),清华大学出版社.200212.美Barry B.brey著,金惠华等译. Intel微处理器结构、编程与接口(第 六版). 电子工业出版社,2004.1 3.杨全胜. 现代微机原理与接口技术.北京:电子工业出版社,2002 4.李继灿.微型计算机技术及应用从16位到64位.北京:清华大学出版社,2003,课程情况教
3、学:48学时课程设计:2周考试:平时(作业10%,课堂测验10%,考勤10%)期末考试70%,答疑辅导地点:行政楼803时间:,16,第1章 基础知识,主要内容:各种常用记数制和编码以及它们 相互间的转换;二进制数的算术运算和逻辑运算;符号数的表示及补码运算;二进制数运算中的溢出问题,17,1.1 概 述,电子计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971-今)电子计算机按其性能分类:大中型计算机/巨型计算机(Mainframe Computer)小型计算机(Minicomputer
4、)微型计算机(Microcomputer)单片计算机(Single-Chip Microcomputer)微型计算机的核心:微处理器(中央处理器CPU)Intel CPU的发展见下页表,18,19,1.2 计算机中的数制,了解 特点; 表示方法; 相互间的转换。,20,一、常用记数制,十进制符合人们的习惯二进制便于物理实现十六进制便于识别、书写八进制,21,1. 十进制,特点:以十为底,逢十进一; 共有0-9十个数字符号。表示:,22,2. 二进制,特点:以2为底,逢2进位; 只有0和1两个符号。表示:,23,3. 十六进制,特点:以16为底,逢16进位; 有0-9及A-F共16个数字符号。表
5、示:,24,进位计数制的一般表示,一般地,对任意一个K进制数S都可表示为,其中: Si - S的第i位数码,可以是K个符号中任何一个; n,m 整数和小数的位数; K - 基数; Ki - K进制数的权,25,如何区分不同进位记数制的数字,在数字后面加一个字母进行区分:二进制:数字后面加B, 如1001B八进制:数字后面加Q, 如1001Q十进制:一般不加, 如1001十六进制:数字后面加H , 如1001H在明显可以区分其记数制的情况下,可以省略数字后面的字母,26,二、各种数制间的转换,11、非十进制数到十进制数的转换. 按相应进位计数制的权表达式展开,再按十进制求和。 例:1011001
6、0B = (178)10 13FAH = (5114)10 公式 (S)K= Si Ki,27,2. 十进制到非十进制数的转换,十进制 二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。十进制 十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。以小数点为起点求得整数和小数的各个位。,28,例如: 126= 1111110B,最低位,最高位,整数转换,29,小数转换,例如:0.318=0.010100010B,最高位,最低位,30,1.3 无符号二进制数的运算,无符号数 算术运算 有符号数 逻辑运算,31,一、无符号数的运算,算术运算 包括: 加法运算 减法运算 乘法运算
7、除法运算,32,1. 规则,加法:1+1=0(有进位), 减法:0-1=1(有借位), 乘除法: 一个数乘以2相当于该数左移一位;除以2则相当于该数右移1位。,33,例:,000010110100=00101100B 000010110100=00000010.00000011B 即: 商=00000010B 余数=00000011B,34,2. 无符号数的表示范围,一个n位的无符号二进制数X,其表示范围为 0 X 2n-1若运算结果超出这个范围,则产生溢出。(或者说运算结果超出n位,则产生溢出)判别方法: 运算时,当最高位向更高位有进位(或 借位)时则产生溢出。,35,例:,11111111
8、 + 00000001 1 00000000结果超出位(最高位有进位),发生溢出。(结果为256,超出位二进制数所能表示的范围255),36,3. 逻辑运算,与()、或()、非() 、异或()特点:按位运算,无进借位运算规则.例:A=10110110, B=01101011求:AB, AB, AB,37,4. 逻辑门,逻辑门:完成逻辑运算的电路掌握:与、或、非门逻辑符号和逻辑关系(真值表);与非门、或非门的应用。,38,与门(AND Gate),Y = AB,&,AB,Y,注:基本门电路仅完成1位二进制数的运算,39,或门(OR Gate),Y = AB,Y,AB,40,非门(NOT Gate
9、),1,A,Y,Y = A,41,异或门(eXclusive OR Gate),Y = AB,Y,AB,42,5. 译码器,74LS138译码器:,译码输出,译码输入,译码使能,43,74LS138真值表,44,1.4 带符号二进制数的运算,计算机中的带符号二进制数把二进制数的最高位定义为符号位符号位为 0 表示正数,符号位为 1 表示负数连同符号位一起数值化了的数,称为机器数。机器数所表示的真实的数值,称为真值。(在以下讲述中,均以位二进制数为例),45,例:,+52 = +0110100 = 0 0110100 符号位数值位 -52 = -0110100 = 1 0110100,真值,机器
10、数,46,1. 符号数的表示,对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作X原,反码记作X反,补码记作X补。注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。,47,原码X原,定义符号位:0表示正,1表示负; 数值位:真值的绝对值。,48,原码的例子,真值,X=+18=+0010010,X=-18=-0010010,原码,X原,=0 0010010,X原,=1 0010010,符号,符号位,n位原码表示数值的范围是对应的原码是1111 0111。,49,数0的原码,8位数0的原码:+0 = 0 0000000 - 0 = 1 0000000 即:数0的原码
11、不唯一。,50,反码X反,定义 若X0 ,则 X反=X原 若X0, 则 X反= 对应原码的符号位 不变,数值部分按位求反,51,例:,X= - 52 = -0110100 X原 = 10110100 X反 = 11001011,52,反码的例子,真值,X=+18=+0010010,X=-18=-0010010,反码,X反,=0 0010010,X反,=1 1101101,符号,符号位,n位反码表示数值的范围是对应的反码是1000 0111。,53,0的反码:,+0反 = 00000000 -0反 = 11111111即:数0的反码也不是唯一的。,54,补码,定义:若X0, 则X补= X反= X
12、原若X0, 则X补= X反+1,55,例:,X= 52= 0110100 X原 = 10110100 X反 = 11001011 X补 = X反+1=11001100,n位补码表示数值的范围是对应的补码是1000 0111。,56,0的补码:,+0补= +0原=00000000-0补= -0反+1=11111111+1 =1 00000000 对8位字长,进位被舍掉+0补= -0补= 00000000,57,特殊数10000000,该数在原码中定义为: -0在反码中定义为: -127在补码中定义为: -128对无符号数:(10000000) = 128,58,8位有符号数的表示范围:,对8位二
13、进制数:原码: -127 +127反码: -127 +127补码: -128 +127想一想:16位有符号数的表示范围是多少?,59,2. 有符号二进制数与十进制的转换,对用补码表示的二进制数: 1)求出真值 2)进行转换,60,例:,将一个用补码表示的二进制数转换为十进制数。 1) X补 = 0 0101110B 真值为:+0101110B 正数 所以:X=+46 2) X补 = 1 1010010B 负数 X = X补补 = 11010010补 = - 0101110B 所以:X = - 46,61,3. 补码加减法的运算规则,通过引进补码,可将减法运算转换为加法运算。规则如下:X+Y补=
14、X补+Y补 X-Y补=X补+ -Y补 其中X,Y为正负数均可,符号位参与运算。,62,例:,X=-0110100,Y=+1110100,求X+Y补, X-Y补X原=10110100 X补= X反+1=(00110100) +1=11001011+1 =11001100Y补= Y原=01110100所以: X+Y补= X补+ Y补 =11001100+01110100 =01000000,63,X补= 11001100 -Y=-1110100=Z z原=11110100 z补= z反+1=(+1110100)+1=(01110100)+1 =10001011+1=10001100所以: X-Y补
15、= X补+ z补 =11001100+ 10001100 =1 01011000 结果出错,为什么?,正数,进位位,64,溢出的判断方法,方法:同号相减或异号相加不会溢出。同号相加或异号相减可能溢出:两种情况:同号相加时,结果符号与加数符号相反溢出;异号相减时,结果符号与减数符号相同溢出。方法:两个8位带符号二进制数相加或相减时,若 C7C61, 则结果产生溢出。 C7为最高位的进(借)位;C为次高位的进(借)位。,65,例:,有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果是错误的,1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1
16、 0 0,0 1 0 0 0 0 1 0 + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1,0 1 0 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1,CASE1:,CASE2:,CASE3:,66,1.5 二进制编码,一、十进制数的表示BCD码用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。,67,计算机中除了能够处理数
17、值数据以外,还可以处理文字、语音、图像等各种信息,这些信息统称为非数值数据。非数值数据在计算机中也必须以二进制形式表示,非数值数据的表示本质上是编码的过程。最常用的数据编码:美国标准信息交换代码(American Standard Code for Information Interchange, ASCII码) (见下页ASCII编码表,教材中的附录A),二、非数值数据的表示,68,ASCII码美国标准信息交换代码,69,ASCII码,采用7位二进制代码对字符进行编码数字09的编码是01100000111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。英文字母
18、AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。最高位通常总为0,有时也用作奇偶校验位。,70,1.6 计算机中常用数据单位,bit 1Mb=10241024bit=220bit 1Gb=230bit=1024Mb 1Tb=240bit=1024GbByte 1 Byte=8bit,1KB=1024 Byte,Word 表示字长,有1bit, 4bit, 8bit, 16bit等, 一般情况下为2Byte(16bit)。,71,第1章难点,补码的概念及其运算有符号数运算的溢出问题BCD码,72,作业,第一章 习题 (p25p26)1.3(注意第3小题,二进制数取小数后12位)1.51.71.81.10,