840微机原理与接口技术.ppt
1,微机原理与接口技术,上海电力学院电力与自动化工程学院信控系,2006.9,主讲教师:程启明 教授,2,课程目标 微机原理是学习和掌握微机硬件知识和汇编语言程序设计的入门课程:微型计算机的基本工作原理汇编语言软件程序设计微型计算机硬件接口技术 目的:建立微型计算机系统的整体概念,形成微机系统软、硬件开发的初步能力。,3,教学内容第1章 基础知识第2章 微型计算机基础第3章 8086/8088 CPU的指令系统第4章 汇编语言程序设计第5章 存储器系统第6章 输入输出和中断技术第7章 常用数字接口电路第8章 模拟量的输入输出(略讲)第9章 常用外设及多媒体技术(不讲)补充 MCS-51单片机原理与嵌入式系统(简介),课程难度“教”与“学”都较难特点:内容多、逻辑联系少、概念抽象、记忆多、综合强(软硬结合)、入门难等。,4,课程情况学时安排:52讲课+16实验+1周课程设计(信控系)47讲程+4实验(动力系 或 电力系)考试成绩:出勤率10%+作业10%+实验20%+期末考试60%作业要求:每章或几章结束交作业本(准备2本)10周后发解答考试题型:选择、填空、判断、名词解释、计算、作图、编 程等考试形式:闭卷、试卷库(任1套/10套,黄云峰老师出题 将重做)集体统一批改、及格率5075%(含补考),先修课程计算机基础、C语言、电子线路等,5,教材及教学参考书1 冯博琴主编,微机原理与接口技术,清华大学出版社,2002.22 周明德主编,微型计算机系统原理及应用(第四版),清华大学出版社,2003.83 龚尚福 朱宇主编,微机原理与接口技术,西安电子科技大学出版社,2003.8,答疑辅导 地点:综合实验大楼305室 办公电话:339 将搬到河间路新楼 电子邮箱:,课程地位 专业基础课,讲课3学分+实验1学分+课程设计1学分=5学分。几乎所有工科(可能是除文科外绝大部分专业)必学,电类各专业必修,自动化专业、测控仪表等专业考研(初、复试)必考。与软件技术基础课程形成硬件与软件配套。,6,第1章 基础知识,主要内容:各种常用记数制和编码以及它们 相互间的转换;二进制数的算术运算和逻辑运算;符号数的表示及补码运算;二进制数运算中的溢出问题,7,1.1 概 述,电子计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971-今)电子计算机按其性能分类:大中型计算机/巨型计算机(Mainframe Computer)小型计算机(Minicomputer)微型计算机(Microcomputer)单片计算机(Single-Chip Microcomputer)微型计算机的核心:微处理器(中央处理器CPU)Intel CPU的发展:见下页表,8,9,1.2 计算机中的数制,了解 特点;表示方法;相互间的转换。,10,一、常用记数制,十进制符合人们的习惯二进制便于物理实现十六进制便于识别、书写八进制(已很少使用,略去)注意:它们的数码、基数、权及进位规则的不同。,11,1.十进制,特点:以十为底,逢十进一;共有0-9十个数字符号。表示:,12,2.二进制,特点:以2为底,逢2进位;只有0和1两个符号。表示:,13,3.十六进制,特点:以16为底,逢16进位;有0-9及A-F共16个数字符号。表示:,14,进位计数制的一般表示,一般地,对任意一个K进制数S都可表示为,其中:Si-S的第i位数码,可以是K个符号中任何一个;n,m 整数和小数的位数;K-基数;Ki-K进制数的权,15,如何区分不同进位记数制的数字,在数字后面加一个字母进行区分:二进制:数字后面加B,如1001B十进制:一般不加,也可加D,如1001十六进制:数字后面加H,如1001H八进制:数字后面加O,如1001O在明显可以区分其记数制的情况下,可以省略数字后面的字母,16,二、各种数制间的转换,1.非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。例:1101.101 B=(?)10 参见P7 64.C H=(?)10 参见P7,17,2.十进制到非十进制数的转换,十进制 二进制的转换:112.25=(?)B 参见P7 整数部分:除2取余;小数部分:乘2取整。十进制 十六进制的转换:301.6875=(?)H 参见P7 整数部分:除16取余;小数部分:乘16取整。注意:以小数点为起点求得整数和小数的各个位。,18,3.二进制与十六进制间的转换,24=161 4位二进制数表示1位十六进制数 例:10110001001.110B=(?)H 0101 1000 1001.1100 5 8 9.C 注意:位数不够时要补0,19,1.3 无符号二进制数的运算,算术运算 无符号数 逻辑运算 有符号数 算术运算,20,一、无符号数的运算,算术运算 包括:加法运算 减法运算 乘法运算 除法运算,21,1.运算规则,加法:0+0=0,0+1=1,1+0=1,1+1=0(有进位)减法:0-0=0,1-0=1,1-1=0,0-1=1(有借位)乘法:0X0=0,0X1=0,1X0=0,1X1=1 可转换为:加法+左移位 除法:乘法的逆运算,可转换为:减法+右移位 注意:一个数乘以2相当于该数左移一位;除以2则相当于该数右移1位。参见P910的例子,22,例:,000010110100=00101100B 000010110100=00000010B 11B 即:商=00000010B 余数=00000011B,23,2.无符号数的表示范围,一个n位的无符号二进制数X,其表示范围为 0 X 2n-1(当n=8时,00000000B11111111B 即在0255之间)若运算结果超出这个范围,则产生溢出。(或者说运算结果超出n位,则产生溢出)判别方法:运算时,当最高位向更高位有进位(或 借位)时则产生溢出。,24,例:,11111111+00000001 1 00000000结果超出位(最高位有进位),发生溢出。(结果为256,超出位二进制数所能表示的范围255),25,3.逻辑运算,与()、或()、非()、异或()特点:按位运算,无进借位运算规则.例:A=10110110,B=01101011求:AB,AB,A,AB 参见P1113,26,4.逻辑门,逻辑门:完成逻辑运算的电路掌握:与、或、非门逻辑符号和逻辑关系(真值表);与非门、或非门的应用。,27,与门(AND Gate),Y=AB,注意:基本门电路仅完成1位二进制数的运算,28,或门(OR Gate),Y=AB,Y,AB,29,非门(NOT Gate),1,A,Y,30,异或门(eXclusive OR Gate),Y=AB=AB+AB,Y,AB,31,5.译码器,74LS138译码器:,译码输出,译码输入,译码使能,32,74LS138真值表,33,1.4 带符号二进制数的运算,计算机中的带符号二进制数把二进制数的最高位定义为符号位符号位为 0 表示正数,符号位为 1 表示负数连同符号位一起数值化了的数,称为机器数。机器数所表示的真实的数值,称为真值。(在以下讲述中,均以位二进制数为例),34,例:,+52=+0110100=0 0110100 符号位数值位-52=-0110100=1 0110100,真值,机器数,35,1.符号数的表示,对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X(真值)的原码记作X原,反码记作X反,补码记作X补。注意:对正数,三种表示法均相同。它们的差别在于对负数的表示。,36,原码X原,定义符号位:0表示正,1表示负;数值位:真值的绝对值。,即当X为正数和零(+0)时,即当X为负数和零(-0)时,37,原码的例子,真值,X=+18=+0010010,X=-18=-0010010,原码,X原,=0 0010010,X原,=1 0010010,符号,符号位,n位原码表示数值的范围是对应的原码是1111 0111。(当n=8时,1 1111111B0 1111111B,即-127127之间),38,数0的原码,8位数0的原码:+0=0 0000000-0=1 0000000 即:数0的原码不唯一。,39,反码X反,定义 若X0,则 X反=X原 若X0,则 X反=对应原码的符号位 不变,数值部分按位求反,即当X为正数和零(+0)时,即当X为负数和零(-0)时,40,例:,X=-52=-0110100 X原=10110100 X反=11001011,41,反码的例子,真值,X=+18=+0010010,X=-18=-0010010,反码,X反,=0 0010010,X反,=1 1101101,符号,符号位,n位反码表示数值的范围是对应的反码是1000 0111。(当n=8时,1 0000000B0 1111111B,即-127127之间),42,0的反码:,+0反=00000000-0反=11111111即:数0的反码也不是唯一的。,43,补码,定义:若X0,则X补=X反=X原若X0,则X补=X反+1,即当X为正数和零(+0)时,即当X为负数和零(-0)时,44,例:,X=52=0110100 X原=10110100 X反=11001011 X补=X反+1=11001100,n位补码表示数值的范围是对应的补码是1000 0111。(当n=8时,1 0000000B0 1111111B,即-128127之间),45,0的补码:,+0补=+0原=00000000-0补=-0反+1=11111111+1=1 00000000 对8位字长,进位被舍掉+0补=-0补=00000000数0的补码是唯一,46,特殊数10000000,该数在原码中定义为:-0在反码中定义为:-127在补码中定义为:-128对无符号数:(10000000)=128,47,8位有符号数的表示范围:,对8位二进制数:原码:-127+127反码:-127+127补码:-128+127想一想:16位有符号数的表示范围是多少?,48,2.有符号二进制数与十进制的转换,对用补码表示的二进制数:1)求出真值 2)进行转换,49,例:,将一个用补码表示的二进制数转换为十进制数。1)X补=0 0101110B 真值为:+0101110B 正数 所以:X=+46 2)X补=1 1010010B 负数 X=X补补=11010010补=-0101110B 所以:X=-46,50,3.补码加减法的运算规则,通过引进补码,可将减法运算转换为加法运算。规则如下:X+Y补=X补+Y补 X-Y补=X补+-Y补 注意:其中X,Y为正负数均可,符号位参与运算。,51,*补码的运算原理,模(module)就是一个计数系统的最大容量。例如,钟表的模为12,8位二进制数的模为28。凡是用器件进行的运算都是有模运算,运算结果超过模的部分会被运算器自动丢弃。因此,当器件为n位时,有X=2n+X(mod 2n)不难验证,X补=2n+X(mod 2n)因此,XY补=2n+(XY)(mod 2n)=(2n+X)+(2n Y)(mod 2n)=X补+Y补,52,例:,X=-0110100,Y=+1110100,求X+Y补X原=10110100 X补=X反+1=11001100Y补=Y原=01110100所以:X+Y补=X补+Y补=11001100+01110100=01000000,53,4.符号数运算中的溢出问题,进(借)位在加法过程中,符号位向更高位产生进位;在减法过程中,符号位向更高位产生借位。溢出运算结果超出运算器所能表示的范围。对8位二进制数:无符号数:0 255 原码:-127+127 有符号数 反码:-127+127 补码:-128+127,注意:有符号数运算,有溢出表示结果是错误的 无符号数运算,有进位表示结果是错误的,54,溢出的判断方法,方法:同号相减或异号相加不会溢出。同号相加或异号相减可能溢出:两种情况:同号相加时,结果符号与加数符号相反溢出;异号相减时,结果符号与减数符号相同溢出。方法:两个8位带符号二进制数相加或相减时,若 C7C61,则结果产生溢出。C7为最高位的进(借)位;C为次高位的进(借)位。,55,例:,有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果是错误的,1 0 1 1 0 1 0 1+1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 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:,参见P2122例子,56,1.5 二进制编码,一、十进制数的表示BCD码用4位二进制数表示一位十进制数。一般用8421BCD码(简称BCD码)有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码(扩展BCD码)用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。,57,计算机中除了能够处理数值数据以外,还可以处理文字、语音、图像(汉字)等各种信息,这些信息统称为非数值数据。非数值数据在计算机中也必须以二进制形式表示,非数值数据的表示本质上是编码的过程。最常用的数据编码:美国标准信息交换代码(American Standard Code for Information Interchange,ASCII码)(见下页ASCII编码表,教材中的附录A),二、非数值数据的表示,58,ASCII码美国标准信息交换代码,59,ASCII码,采用7位二进制代码对字符进行编码数字09的编码是0110000(30H)0111001(39H),它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。英文字母AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。最高位通常总为0,有时也用作奇、偶校验位。偶校验:包括校验位在内的8位二进制码中1的个数为偶数;奇校验:包括校验位在内的8位二进制码中1的个数为奇数。,60,1.6 计算机中常用数据单位,bit 1 Mb=10241024 bit=220 bit 1 Gb=230 bit=1024 Mb 1 Tb=240 bit=1024 GbByte 1 Byte=8bit,1KB=1024 Byte,Word 表示字长,有1bit、4bit,、8bit,、16bit、32bit、64bit等 一般情况下为 2Byte(16bit)。,61,第1章难点,补码的概念及其运算有符号数运算的溢出问题,62,作业,第一章 习题(p26)1.3(注意第3小题,二进制数取小数后12位)1.51.71.81.10,