单片机-微型计算机基础课件_第1页
单片机-微型计算机基础课件_第2页
单片机-微型计算机基础课件_第3页
单片机-微型计算机基础课件_第4页
单片机-微型计算机基础课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0单片机原理及应用单片机原理及应用20112011年年9 9月月主讲人:张登攀主讲人:张登攀 专专 业业: 车辆工程车辆工程机械类专业必修课机械类专业必修课11 1、课程准备、课程准备2 2、微型计算机基础、微型计算机基础4 4、微机系统接口扩展、微机系统接口扩展3 3、微机系统应用程序设计、微机系统应用程序设计5 5、微机系统通信接口、微机系统通信接口6 6、人及交互接口、人及交互接口2 微型计算机是一种能对信息加工处理的机器,它具有记微型计算机是一种能对信息加工处理的机器,它具有记忆、判断和运算能力,能仿效人类的思维活动,代替人的部忆、判断和运算能力,能仿效人类的思维活动,代替人的部分脑力

2、劳动,并能对生产过程实施某种控制等等。分脑力劳动,并能对生产过程实施某种控制等等。1946年,年,美国宾夕法尼亚大学制成世界上第一台美国宾夕法尼亚大学制成世界上第一台eniac(electronic numerical integrator and computer)电子计算机以来,电)电子计算机以来,电子计算机经历了电子管、晶体管和集成电路三个发展时代,子计算机经历了电子管、晶体管和集成电路三个发展时代,于于20世纪世纪70年代初出现了第一台微型计算机。年代初出现了第一台微型计算机。 最初的计算机只是作为一种现代化的计算工具,而现在最初的计算机只是作为一种现代化的计算工具,而现在微型计算机的

3、应用领域已广泛渗透到国民经济的各个领域和微型计算机的应用领域已广泛渗透到国民经济的各个领域和人民生活的各个方面,在信息社会中彰显出日益重要的地位,人民生活的各个方面,在信息社会中彰显出日益重要的地位,其科学水平、生产规模和应用程度已成为衡量一个国家现代其科学水平、生产规模和应用程度已成为衡量一个国家现代化水平的重要标志。化水平的重要标志。 。 31.1 微型计算机的组成体系微型计算机的组成体系1. 1. 微型化计算机装置微型化计算机装置 以微处理器为核心,配置辅助电路(如以微处理器为核心,配置辅助电路(如ram、rom、i/o接口电路)而构成的微型化的计算机装置(简称接口电路)而构成的微型化的

4、计算机装置(简称c),),它是具有完成运行功能的计算机它是具有完成运行功能的计算机 。 2. 2. 单片微型计算机单片微型计算机 由单块集成电路芯片构成,内部包含有计算机的基本由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器功能部件:中央处理器cpu,存储器和,存储器和i/o接口电路等,只接口电路等,只需要与适当的软件和外部设备相结合,便可成为微机控制需要与适当的软件和外部设备相结合,便可成为微机控制系统系统 。 41.1.1 1.1.1 微型计算机的发展微型计算机的发展 1. 1. 微处理器技术的发展微处理器技术的发展 第一代,第一代,1971年年10月,美国月,美国int

5、el公司首先推出公司首先推出intel4004微处理器。微处理器进入微处理器。微处理器进入4位微处理器和低档位微处理器和低档8位微处理器位微处理器的时期。的时期。1972年年3月,月,intel公司又推出公司又推出intel8008微处理器实微处理器实现了现了8位并行运算。位并行运算。 第二代,第二代,1973年开始,以年开始,以8位微处理为主的时期。典型位微处理为主的时期。典型产品有:产品有:1973年年intel8080;1974年年3月,月,motorola公司的公司的mc6800;19751976年,年,zilog公司的公司的z80;1976年,年,intel8085等。等。5第三代,

6、第三代,1978年开始,以年开始,以16位微处理为主的时期。典型产位微处理为主的时期。典型产品有:品有:1978年年intel8086;1979年,年,zilog公司的公司的z8000;1979年,年,motorola公司的公司的mc68000等。等。第四代,第四代,1981年开始,以年开始,以32位微处理为主的时期。典型产位微处理为主的时期。典型产品有:品有:1983年,年,zilog公司的公司的z80000;1984年,年,motorola公公司的司的mc68020;1985年,年,intel公司的公司的80386等。这一时期微等。这一时期微处理器的集成度达到了空前规模。如处理器的集成度达

7、到了空前规模。如80386微处理器集成度微处理器集成度为为27.5万管万管/片。片。自自intel80386芯片推出以来,又出现了许多高性能的芯片推出以来,又出现了许多高性能的32位和位和64位微处理器,如位微处理器,如motorola的的mc68030、mc68040,amd公司的公司的k6-2、k6-3、k7以及以及intel的的80486、pentium、pentiumii、pentiumiii和和pentium4等产品。等产品。 62. 2. 单片微型计算机的发展单片微型计算机的发展 单片微型计算机的发展,以单片微型计算机的发展,以intel公司公司1976年推出的年推出的8位位单片机

8、为起点,大体经历了三个历史阶段。单片机为起点,大体经历了三个历史阶段。 1974年,美国仙童(年,美国仙童(fairchild)公司研制出世界上第一)公司研制出世界上第一台单片微型计算机台单片微型计算机f8,该机由两块集成电路芯片组成,结,该机由两块集成电路芯片组成,结构独特,具有与众不同的指令系统,深受民用电器和仪器构独特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。仪表领域的欢迎和重视。 第一代单片微型计算机(第一代单片微型计算机(19761978)。始于)。始于1976年,年,以以mcs-48系列为代表。系列为代表。 第二代单片微型计算机(第二代单片微型计算机(197

9、81982) 。以。以intel公司的公司的mcs-51系列为代表系列为代表 7 第三代单片微型计算机(第三代单片微型计算机(1982) 。技术特点是全速发。技术特点是全速发展单片微机的控制功能。综合特点为:展单片微机的控制功能。综合特点为:(1)发展非总线型单片微机,并与原有的总线型单片机形)发展非总线型单片微机,并与原有的总线型单片机形成了两大派系。为了满足家电控制器的巨大市场,将单片成了两大派系。为了满足家电控制器的巨大市场,将单片机的并行扩展总线省去,推出廉价型单片微机,并尽可能机的并行扩展总线省去,推出廉价型单片微机,并尽可能将一些外围接口封装在片内;将一些外围接口封装在片内;(2)

10、为了满足不使用并行总线而能扩展各种外围器件,推)为了满足不使用并行总线而能扩展各种外围器件,推出了串行扩展总线。如出了串行扩展总线。如philips的的i2c总线、总线、motorola的的spl、ns公司的公司的microwire/plus的串行外围接口等;的串行外围接口等;(3)发展具有良好控制功能的控制网络总线,以实现串行)发展具有良好控制功能的控制网络总线,以实现串行通信总线难以构成的多主强控制功能的网络系统。例如汽通信总线难以构成的多主强控制功能的网络系统。例如汽车电子系统中采用的车电子系统中采用的can总线。总线。81.1.2 1.1.2 微型计算机的分类机主流系列微型计算机的分类

11、机主流系列1. 1. 单片微机的分类单片微机的分类 20世纪世纪80年代以来,各大电气及半导体器件厂商纷纷年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品推出自己的产品系列。迄今为止,市场上的单片微机产品已达已达60多个系列,多个系列,600余个品种。余个品种。 从不同的角度有不同的分法。从运算位长短分,可分为从不同的角度有不同的分法。从运算位长短分,可分为4位、位、8位、位、16位、位、32位等微机种类位等微机种类;从使用场合的不同,;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为可分为高端单片机和低端单片机;从应用领域分,可分为

12、家电类单片机、工控类单片机、通信类单片机、军工类单家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。片机;按是否通用分,有通用型单片机和专用型单片机。 数据处理位数是单片微机的重要标志,因此重数据处理位数是单片微机的重要标志,因此重点讨论。点讨论。9(1) 4(1) 4位单片机位单片机 4位单片微型计算机的控制功能较弱,位单片微型计算机的控制功能较弱,cpu一次只能处一次只能处理理4位二进制。这类单片微机常用于计算器、各种形态的智位二进制。这类单片微机常用于计算器、各种形态的智能单元以及作为家用电器中的控制器。典型产品有美国能单元以及作为家用电

13、器中的控制器。典型产品有美国ns(national semiconductor)公司的)公司的cop4系列、系列、toshiba公司的公司的tmp47系列以及系列以及panasonic公司的公司的mn1400系列单片微机。系列单片微机。 (2) 8(2) 8位单片机位单片机 8位单片微型计算机的控制功能较强,品种最为齐全。位单片微型计算机的控制功能较强,品种最为齐全。对比对比4位单片微机,它不仅具有较大的存储容量和寻址范围,位单片微机,它不仅具有较大的存储容量和寻址范围,而且中断源、并行而且中断源、并行i/o接口和定时器接口和定时器/计数器个数都有了不同计数器个数都有了不同程度的增加,并集成有

14、全双工串行通讯接口。程度的增加,并集成有全双工串行通讯接口。 其他还有其他还有1616位和位和3232位单片机等类型,根据需要自行选定。位单片机等类型,根据需要自行选定。102. 2. 单片微型计算机的主流系列单片微型计算机的主流系列 市场上流行的单片微型计算机种类很多,主要有:美国市场上流行的单片微型计算机种类很多,主要有:美国的的intel、motorola、zilog、ns、microchip、atmel和和ti公公司,日本的司,日本的nec(日电)、(日电)、toshiba(东芝)、(东芝)、fujitsu(富(富士通)和士通)和hitachi(日立)公司,荷兰的(日立)公司,荷兰的p

15、hilips,英国的,英国的inmos和德国的和德国的siemens(西门子)公司等等。(西门子)公司等等。 (1) intel(1) intel公司的单片微机公司的单片微机 mcs-51系列单片机是系列单片机是intel公司公司1980年推出的年推出的8位单片机。位单片机。80c51是是mcs-51系列中的一个子系列,是一族高性能兼容系列中的一个子系列,是一族高性能兼容型单片机,型单片机,siemens、philips等公司在等公司在80c51基础上推出了基础上推出了与与80c51兼容的新型单片机统称兼容的新型单片机统称80c51系列。系列。11(2) freescale(2) freesc

16、ale公司的单片微机公司的单片微机 freescale是世界上最大的单片机厂商,是世界上最大的单片机厂商,2004年由年由motorola公司半导体部更名为公司半导体部更名为freescale semiconductor,并独并独立运行。立运行。 freescale单片机的特点之一是在同样的速度下所单片机的特点之一是在同样的速度下所用的时钟频率较用的时钟频率较intel类单片机低得多,因而使得高频噪声类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。低,抗干扰能力强,更适合于工控领域及恶劣的环境。(3 3)atmelatmel公司的单片微机公司的单片微机 美国美国

17、atmel公司是世界上著名的高性能、低功耗、非易公司是世界上著名的高性能、低功耗、非易失性存储器和数字集成电路的一流半导体制造公司。失性存储器和数字集成电路的一流半导体制造公司。atmel公司最令人注目的是公司最令人注目的是e2prom和闪存(和闪存(flash)存储器技术,)存储器技术,一直处在世界领先地位。该公司把一直处在世界领先地位。该公司把e2prom和和flash存储器存储器技术巧妙地运用于单片机,并采用多种封装形式和高标准技术巧妙地运用于单片机,并采用多种封装形式和高标准质量检测。质量检测。121.1.3 1.1.3 微型计算机的组成原理微型计算机的组成原理 20世纪世纪80年代以

18、来,各大电气及半导体器件厂商纷纷年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品推出自己的产品系列。迄今为止,市场上的单片微机产品已达已达60多个系列,多个系列,600余个品种。余个品种。1. 1. 以微处理器为中心的微型计算机系统以微处理器为中心的微型计算机系统 以微处理器为中心的微型计算机系统是在中小型计算以微处理器为中心的微型计算机系统是在中小型计算机基础上发展起来的,并以大规模集成电路技术为条件的机基础上发展起来的,并以大规模集成电路技术为条件的一种新型计算机,和其他计算机相比,其最大特点是采用一种新型计算机,和其他计算机相比,其最大特点是采用总

19、线结构,其中三总线结构尤为普遍,目前已成为微型计总线结构,其中三总线结构尤为普遍,目前已成为微型计算机的一种结构。算机的一种结构。 13 微处理器微处理器mpu是通过是通过ab、db和和cb三总线同外围的大三总线同外围的大规模集成电路规模集成电路rom存储器、存储器、ram存储器及存储器及i/o接口电路相接口电路相连进行工作的。连进行工作的。 14 微处理器是微型计算机的微处理器是微型计算机的cpu(central processing unit),具有运算器和控制器的功能,因而它是组成微型计),具有运算器和控制器的功能,因而它是组成微型计算机的核心部件。微处理器内部结构极其复杂,从功能上看,

20、算机的核心部件。微处理器内部结构极其复杂,从功能上看,主要分三大部分运算器、控制器和寄存器组。主要分三大部分运算器、控制器和寄存器组。 (2 2)romrom和和ramram存储器存储器 rom和和ram是半导体存储器。是半导体存储器。rom(read only memory)存储器是一种在正常工作时只能读不能写的存储)存储器是一种在正常工作时只能读不能写的存储器,故它通常用来存放固定程序和常数。器,故它通常用来存放固定程序和常数。ram(random access memory)存储器是一种在正常工作时既能读又能写)存储器是一种在正常工作时既能读又能写的存储器,通常用来存放原始数据、中间结果

21、、最终结果和的存储器,通常用来存放原始数据、中间结果、最终结果和实时数据等。实时数据等。ram中存入的信息不能长久保存,停电后便中存入的信息不能长久保存,停电后便立即消失,故它又称为易失性存储器。立即消失,故它又称为易失性存储器。(1 1)微处理器)微处理器mpumpu 微处理器是微型计算机的微处理器是微型计算机的cpu(central processing unit),具有运算器和控制器的功能,因而它是组成微型计),具有运算器和控制器的功能,因而它是组成微型计算机的核心部件。微处理器内部结构极其复杂,从功能上看,算机的核心部件。微处理器内部结构极其复杂,从功能上看,主要分三大部分运算器、控制

22、器和寄存器组。主要分三大部分运算器、控制器和寄存器组。 15(3 3)i/oi/o接口电路接口电路 微型计算机通过微型计算机通过i/o接口电路与各种外部设备相连,而接口电路与各种外部设备相连,而总线是总线是cpu和存储器、和存储器、i/o接口电路之间信息传输的通道。接口电路之间信息传输的通道。162. 2. 以单片微机为中心的微型计算机系统以单片微机为中心的微型计算机系统 单片微型计算机由单块集成电路芯片构成,内部包含单片微型计算机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器有计算机的基本功能部件:中央处理器cpu、存储器和、存储器和i/o接口电路等,因此单片微型计算机只

23、需要和适当的软件及接口电路等,因此单片微型计算机只需要和适当的软件及外部设备相结合,便可成为一个计算机应用系统。外部设备相结合,便可成为一个计算机应用系统。17(1 1)中央处理器)中央处理器cpucpu cpu是单片机的核心部分,通常由运算器、控制器和中是单片机的核心部分,通常由运算器、控制器和中断电路等组成。断电路等组成。cpu进行算术运算和逻辑操作的字长同样有进行算术运算和逻辑操作的字长同样有4位、位、8位、位、16位和位和32位之分,字长越长运算速度越快。位之分,字长越长运算速度越快。(2 2)存储器)存储器 单片微型计算机中,单片微型计算机中,rom和和ram存储器是分开制造的。存储

24、器是分开制造的。 rom存储器用于存放应用程序,故又称为程序存储器。存储器用于存放应用程序,故又称为程序存储器。目前,单片微型计算机根据片内目前,单片微型计算机根据片内rom的结构,可分为无的结构,可分为无rom型、型、rom型和型和eprom型三类,常用常见的是新出现型三类,常用常见的是新出现的具有的具有e2rom和和flash型型rom存储器的产品。存储器的产品。 ram存储器主要用来存放实时数据或作为通用寄存器、存储器主要用来存放实时数据或作为通用寄存器、数据堆栈和数据缓冲器之用。数据堆栈和数据缓冲器之用。18(3 3)i/oi/o接口和特殊功能部件接口和特殊功能部件 i/o接口电路有串

25、行和并行两种。串行接口电路有串行和并行两种。串行i/o用于串行通信,用于串行通信,它可以把单片机内部的并行它可以把单片机内部的并行8位数据(位机)变成串行数位数据(位机)变成串行数据向外传送,也可以串行接收外部送来的数据并把它们变成据向外传送,也可以串行接收外部送来的数据并把它们变成并行数据送给并行数据送给cpu处理。并行处理。并行i/o电路可以使单片微型计算电路可以使单片微型计算机和存储器或外设之间并行地传送机和存储器或外设之间并行地传送8位数据(位数据(8位机)。位机)。 特殊功能部件指单片微型计算机集成的定时器特殊功能部件指单片微型计算机集成的定时器/计数器、计数器、a/d和和d/a、d

26、ma通道等电路。定时器通道等电路。定时器/计数器用于产生定时计数器用于产生定时脉冲,以实现单片机的定时控制;脉冲,以实现单片机的定时控制;a/d和和d/a转换器用于模转换器用于模拟量和数字量之间的相互转换,以完成实时数据的采集和控拟量和数字量之间的相互转换,以完成实时数据的采集和控制;制;dma通道可以使单片机和外设之间实现数据的快速传通道可以使单片机和外设之间实现数据的快速传送。因此,单片微型计算机集成的特殊功能部件及其数量与送。因此,单片微型计算机集成的特殊功能部件及其数量与产品的型号有关。产品的型号有关。191.1 微型计算机的数制及其转换微型计算机的数制及其转换 计算机最基本的功能是对

27、计算机最基本的功能是对“数据数据”进行运算处理。数据进行运算处理。数据是计算机操作的对象,一般可分为数值数据和非数值数据。是计算机操作的对象,一般可分为数值数据和非数值数据。数值数据用于表示数量的大小,它有确定的数值;非数值数数值数据用于表示数量的大小,它有确定的数值;非数值数据没有确定的数值,它主要包括字符、汉字、逻辑数据等。据没有确定的数值,它主要包括字符、汉字、逻辑数据等。数值数据的正负、大小、小数点如何表示为二进制形式,非数值数据的正负、大小、小数点如何表示为二进制形式,非数值数据如何表示为二进制形式,数据表示为二进制信息后,数值数据如何表示为二进制形式,数据表示为二进制信息后,如何对

28、数据进行运算,运算结果是否会溢出等一系列问题需如何对数据进行运算,运算结果是否会溢出等一系列问题需要进行详细讨论。要进行详细讨论。201 1十进制十进制 一种数制最基本的特征是它的基数,基数是指数制中表示一种数制最基本的特征是它的基数,基数是指数制中表示数值的数码个数。日常生活中,人们习惯使用十进制,它有数值的数码个数。日常生活中,人们习惯使用十进制,它有10个符号个符号0,1,2,3,4,5,6,7,8,9,即十进制有,即十进制有10个个数码,基数为数码,基数为10。它的计数规则是。它的计数规则是“逢十进一,借一当十逢十进一,借一当十”。 数的表示法一般采用位置计数法。每一个数码和数码数的表

29、示法一般采用位置计数法。每一个数码和数码所在的位置载有该数大小的数值称为所在的位置载有该数大小的数值称为“权权”。每个位置的。每个位置的“权权”可以用基数的乘方表示。如数可以用基数的乘方表示。如数(53891)10可表示为:可表示为: 53891104103102101100万千百十个按位权展开表示为:按位权展开表示为: 53891=5104+3103+8102+9101+110021十进制小数的位权是以十进制小数的位权是以10的负次方幂表示的,的负次方幂表示的, 如如10-1=0.1,10-2=0.01。所以有所以有n位整数和位整数和m位小数十进制数位小数十进制数d(decimal numb

30、er)用用按权展开表示为:按权展开表示为:122110011221110121101010.10101010.1010.nmiiimmnnnnmnnddddddddddddddd9,.,1 , 0idm和和n取正整数。取正整数。 222 2二进制二进制二进制的基为二进制的基为“2”,数字符号为,数字符号为0和和1,其计算规则为,其计算规则为“逢二逢二进一,借一当二进一,借一当二”。二进制各位的权是以。二进制各位的权是以2为底的幂,例如数为底的幂,例如数(10111)2可表示为:可表示为:二进制10111权2423222120十进制168421任意二进制数任意二进制数b(binary numbe

31、r)按权位展开为:按权位展开为: 122110011221110121222.2222.22.nmiiimmnnnnmnnbbbbbbbbbbbbbbb1 , 0ib2 2二进制二进制233 3八进制八进制 八进制的基为八进制的基为“8”,对应的数字符号共有,对应的数字符号共有8个:个:0,1,2,3,4,5,6,7,其计算规则为,其计算规则为“逢八进一,借一当八逢八进一,借一当八”。八。八进制各位的权是以进制各位的权是以8为底的幂,八进制数按权展开的计算方法为底的幂,八进制数按权展开的计算方法同十进制和二进制,例如数同十进制和二进制,例如数(362)8按权展开为:按权展开为:(362)8=3

32、82+681+1803 3八进制八进制4 4十六进制十六进制 十六进制的基为十六进制的基为“16”,对应的数字符号共有,对应的数字符号共有16个:个:0,1,2,9,a,b,c,d,e,f,其计算规则为,其计算规则为“逢十六逢十六进一,借一当十六进一,借一当十六”。十六进制各位的权是以。十六进制各位的权是以16为底的幂,为底的幂,十六进制数按权展开的计算方法同十进制和二进制,例如数十六进制数按权展开的计算方法同十进制和二进制,例如数(362)16按权展开为:按权展开为: (362)16=3162+6161+116024各数制的数码对照表各数制的数码对照表二进制、八进制、十进制、十六进制数码对照

33、表二进制、八进制、十进制、十六进制数码对照表十进制数十六进制数八进制数二进制数十进制数十六进制数八进制数二进制数000000099111001111000110a121010222001011b131011333001112c141100444010013d151101555010114e161110666011015f1711117770111161020100008810100025 在编写计算机程序时,数据的书写可以用各种计数制来在编写计算机程序时,数据的书写可以用各种计数制来表示,为了区别不同的计数制,可以在数的右下角用数字标表示,为了区别不同的计数制,可以在数的右下角用数字标注该数的

34、数制,例如,八进制数注该数的数制,例如,八进制数342.32可以写成可以写成(342.32)8。此外,还可以采用数据加后缀作标识:此外,还可以采用数据加后缀作标识:d后缀表示十进制(后缀表示十进制(decimal),如),如3438d表示十进制数表示十进制数3468;b后缀表示二进制(后缀表示二进制(binary),如),如0111 0101b表示二进制数表示二进制数0111 0101;o后缀表示八进制(后缀表示八进制(octal),如),如2632o表示八进制数表示八进制数2632,由于由于o容易与容易与0相混淆,统常用相混淆,统常用q代替;代替;h后缀表示十六进制(后缀表示十六进制(hex

35、adecimal),如),如96a7bh表示十六表示十六进制数进制数96a7b。261.2.2 1.2.2 微型计算机数制之间的转换微型计算机数制之间的转换 人们习惯使用十进制,但人们习惯使用十进制,但计算机的算术运算和逻辑运算是以计算机的算术运算和逻辑运算是以二进制为基础的运算二进制为基础的运算,因此在解决问题时,需要把问题变成,因此在解决问题时,需要把问题变成计算机能够计算机能够“理解理解”的形式,这就的形式,这就需要把十进制数转换成二需要把十进制数转换成二进制代码进制代码。当计算机运算完毕时,又需要把获得的二进制结。当计算机运算完毕时,又需要把获得的二进制结果转换为十进制数,以满足人们的

36、工作习惯。果转换为十进制数,以满足人们的工作习惯。二进制数通常二进制数通常位数多,书写麻烦,而十六进制数易于书写位数多,书写麻烦,而十六进制数易于书写,在编程时多为,在编程时多为人们采用。人们采用。 在应用中,同一个数据在不同场合需要用不同的数制在应用中,同一个数据在不同场合需要用不同的数制来表示,不同进制数在计算过程中完成相应转换,转来表示,不同进制数在计算过程中完成相应转换,转换前后两数应相等。换前后两数应相等。271 1各类进制数转换为十进制数各类进制数转换为十进制数 转换方法:直接按位权展开,并求和。转换计算如下:转换方法:直接按位权展开,并求和。转换计算如下: 1nmiiirran例

37、例1 将二进制数将二进制数111.11转换成十进制数。计算过程如下:转换成十进制数。计算过程如下:10210122)75. 7(25. 05 . 01242121212121)11.111(28将十六进制数将十六进制数61.b转换成十进制数。计算过程如下:转换成十进制数。计算过程如下:10110116)97.6875(161119616b161166)b.61(2 2十进制数转换为其他进制数十进制数转换为其他进制数 (1 1)十进制数转换二进制数)十进制数转换二进制数 十进制数通常分为整数部分和小数部分,转换时要分十进制数通常分为整数部分和小数部分,转换时要分别进行计算。别进行计算。29 整数

38、部分的转换方法整数部分的转换方法为为“除除2取余数,结果倒排取余数,结果倒排序序”,即将整数部分除以,即将整数部分除以2,得到整数商和余数,对商,得到整数商和余数,对商再除以再除以2,又得到商和余数,继续这一过程,直到商等,又得到商和余数,继续这一过程,直到商等于于0为止,在将所得的一系列余数按逆序排列,即得到为止,在将所得的一系列余数按逆序排列,即得到整数部分对应的二进制数。整数部分对应的二进制数。 小数部分的转换方法为小数部分的转换方法为“乘乘2取整数,结果顺排取整数,结果顺排列列”,即将小数部分乘以,即将小数部分乘以2,乘积保留整数部分,再将,乘积保留整数部分,再将所得乘积小数部分乘以所

39、得乘积小数部分乘以2,再保留整数部分,继续这一,再保留整数部分,继续这一过程,直到达到有效位数或小数部分等于零为止,然后过程,直到达到有效位数或小数部分等于零为止,然后将所得的整数部分按顺序排列,即得到小数部分对应的将所得的整数部分按顺序排列,即得到小数部分对应的二进制数。二进制数。 将整数部分和小数部分所得的二进制数合起来将整数部分和小数部分所得的二进制数合起来,便,便得到转换后的二进制数。小数部分转换中,乘积的小数得到转换后的二进制数。小数部分转换中,乘积的小数部分常常是总不为零,二进制小数的位数可能很多,转部分常常是总不为零,二进制小数的位数可能很多,转换时可以根据精度要求,取一定的位数

40、即可。换时可以根据精度要求,取一定的位数即可。 30例例3 将将(41.495)10转换为二进制数。转换为二进制数。解解 1)先将整数部分转换为二进制数,计算过程如下:)先将整数部分转换为二进制数,计算过程如下:因此有因此有 (41)10=(101001)2。312)小数部分转换为二进制数,计算过程如下:)小数部分转换为二进制数,计算过程如下: 因此有因此有 (0.495)10=(0.0111)2。综合起来,得综合起来,得 (41.495)10=(101001.0111)2。 32(2 2)十进制数转换为任意进制数)十进制数转换为任意进制数 把十进制转换为任意进制数的方法和十进制转换成把十进制

41、转换为任意进制数的方法和十进制转换成二进制数相似,整数部分采用除以基数取余数的方法,二进制数相似,整数部分采用除以基数取余数的方法,然后倒排序;小数部分是乘以基数得整数的方法,然后然后倒排序;小数部分是乘以基数得整数的方法,然后顺排序,最后再将其结果分别排列在一起即可。顺排序,最后再将其结果分别排列在一起即可。例例4 将十进制数将十进制数(97.0664)10转换成十六进制数。转换成十六进制数。解:解:1)先将整数部分转换为十六进制,计算过程如下:)先将整数部分转换为十六进制,计算过程如下: 因此有因此有 (97)10=(61)16。 332)小数部分转换为十六进制数,计算过程如下:)小数部分

42、转换为十六进制数,计算过程如下: 所以有所以有 (0.0664)10=(0.10ff)16。综合起来,综合起来,(97.0664)10=(61.10ff)16。343 3二进制数与八进制数、十六进制数之间的转换二进制数与八进制数、十六进制数之间的转换 (1 1)二进制数与八进制数之间的转换)二进制数与八进制数之间的转换 由于由于23=8,24=16,所以每三位二进制数对应一位八,所以每三位二进制数对应一位八进制数,每四位二进制数对应一位进制数,每四位二进制数对应一位16进制数,因此二进进制数,因此二进制与八进制、十六进制之间的转换可以通过表制与八进制、十六进制之间的转换可以通过表1-1之间的之

43、间的对应关系进行转换。对应关系进行转换。 转换方法:以小数点为界线,分别向左或向右按三转换方法:以小数点为界线,分别向左或向右按三位二进制进行分组,不足三位的在前面或后面补足三位。位二进制进行分组,不足三位的在前面或后面补足三位。参照表参照表1-1,再将每一组二进制数转换为一位八进制数,再将每一组二进制数转换为一位八进制数,排列后即为二进制数对应的八进制数。二进制数和八进排列后即为二进制数对应的八进制数。二进制数和八进制数之间的转换过程可逆。制数之间的转换过程可逆。35例例5 将二进制数将二进制数11110.11转换成八进制数。转换过程如下:转换成八进制数。转换过程如下:所以有,所以有,(11

44、110.11)2=(36.6)8。例例6 将八进制数将八进制数35.6转换成二进制数,转换过程如下:转换成二进制数,转换过程如下:所以有,所以有,(35.6)8 = (11101.11)2。36(2 2)二进制数与十六进制数之间的转换)二进制数与十六进制数之间的转换 转换方法:以小数点为界线,分别向左或向右按四位二转换方法:以小数点为界线,分别向左或向右按四位二进制进行分组,不足四位的在前面或后面补足四位。参进制进行分组,不足四位的在前面或后面补足四位。参照表照表1-1,再将每一组二进制数转换为一位十六进制数,再将每一组二进制数转换为一位十六进制数,排列后即为二进制数对应的十六进制数。二进制数

45、和十排列后即为二进制数对应的十六进制数。二进制数和十六进制数之间的转换过程也可逆。六进制数之间的转换过程也可逆。例例7 将二进制数将二进制数110 1110 1111.0110 101b转换为十六进制数,转换为十六进制数,转换过程如下:转换过程如下:所以有,所以有,110 1110 1111.0110 101b=(6ef.6a)16。37例例8 将十六进制数将十六进制数ef.c转换成二进制数,转换过程如下:转换成二进制数,转换过程如下:所以有,所以有,(ef.c)16=(1110 1111.11)2。38综上所述,不同进制数之间进行转换时需要注意以下几点:综上所述,不同进制数之间进行转换时需要

46、注意以下几点:1)一个二进制数可以准确地转换为十进制数,而一个)一个二进制数可以准确地转换为十进制数,而一个带小数的十进制数不一定能够准确地用二进制来表示带小数的十进制数不一定能够准确地用二进制来表示;2)带小数的十进制数在转换为二进制数时,以小数点)带小数的十进制数在转换为二进制数时,以小数点为分界,整数和小数要分别转换;为分界,整数和小数要分别转换;3)二进制与八进制、十六进制数进行相互转换方便,)二进制与八进制、十六进制数进行相互转换方便,且能准确地相互转换,因此带小数的十进制数向八进制且能准确地相互转换,因此带小数的十进制数向八进制或十六进制转换时也或十六进制转换时也存在精度问题存在精

47、度问题;4)十六进制数表示二进制数长度较短,且微机中数据)十六进制数表示二进制数长度较短,且微机中数据表达和编程方便,因此二进制数与十六进制数之间的转表达和编程方便,因此二进制数与十六进制数之间的转换必须十分熟悉。换必须十分熟悉。391.3 微型计算机的码制和编码微型计算机的码制和编码 数据是计算机的处理对象,在计算机中采用基数据是计算机的处理对象,在计算机中采用基2码码进行编码,它包括数值数据和非数值数据两类。数值数进行编码,它包括数值数据和非数值数据两类。数值数据可分为有符号数和无符号数,有符号数又有正、负之据可分为有符号数和无符号数,有符号数又有正、负之分,而且数值数据又有整数和小数之分

48、,存在小数点。分,而且数值数据又有整数和小数之分,存在小数点。本节重点对数据的表示问题进行讨论。本节重点对数据的表示问题进行讨论。401.3.1 1.3.1 微型计算机中数的表示方法微型计算机中数的表示方法 计算机所处理的数据中,对于计算机所处理的数据中,对于无正、负意义的数无正、负意义的数,称为,称为无符号数无符号数。而算术运算中的数,存在正负之分,这类数称为。而算术运算中的数,存在正负之分,这类数称为带符号数,带符号数,通常规定一个数的最高位为其符号位。带符号数通常规定一个数的最高位为其符号位。带符号数的正号(的正号(+)、负号()、负号(-)采用)采用“0”和和“1”来表示,来表示,“0

49、”表示表示正数的符号,正数的符号,“1”表示负数的符号表示负数的符号。例如,例如,8位二进制数,计算机一般用位二进制数,计算机一般用d7位来表示符号,如。位来表示符号,如。 1 1机器数与真值(数的符号表示)机器数与真值(数的符号表示)41 上述表示方法中,上述表示方法中,d7为为0表示数据为正,为表示数据为正,为1表示数据为负。表示数据为负。例如,有符号二进制数例如,有符号二进制数+110101b和和-110101b在计算机中分别在计算机中分别表示为表示为0110101b和和1110101b。 为了区别原来的数与它在计算机中的表示形式的不同,为了区别原来的数与它在计算机中的表示形式的不同,符

50、号位和数值位一起作为一个数称为符号位和数值位一起作为一个数称为机器数机器数,机器数能被计,机器数能被计算机正确识别,而数据的实际数值称为机器数的算机正确识别,而数据的实际数值称为机器数的真值真值。2 2小数的表示小数的表示 计算机中,小数点通常采用两种表示方法,即定点表示计算机中,小数点通常采用两种表示方法,即定点表示法和浮点表示法。法和浮点表示法。421 1)定点表示法)定点表示法 定点表示法指小数点在数中的位置是固定不变的。定点表示法指小数点在数中的位置是固定不变的。因此,在计算机中数的小数点是隐含的。一个二进制数因此,在计算机中数的小数点是隐含的。一个二进制数可以写成如下形式:可以写成如

51、下形式:jsn2 式中式中 j二进制整数,称为数二进制整数,称为数n的阶码;的阶码; 2阶码的底;阶码的底; s为尾数,为为尾数,为k位二进制小数,是位二进制小数,是n全部有效数字。全部有效数字。 例如例如1011.11b = 0.10111012100。43式(式(1-2)也可以表示如下:)也可以表示如下:j指明了小数点的位置,当指明了小数点的位置,当j=k时,定点数为整数,即小数时,定点数为整数,即小数点被固定在数值位最低有效位之后,定点数为纯整数。点被固定在数值位最低有效位之后,定点数为纯整数。44例例91011.101b=0.10111012100,表达式中,表达式中,j=4,而,而k

52、=7,为了化成定点整数,将表达,为了化成定点整数,将表达式右侧二进制数再右移式右侧二进制数再右移3位,位,即为即为1011.101b=0.00010111012111。若字长。若字长8位,则数位,则数值部分取值部分取0001011。当当j=0时,定点数就是定点小数。时,定点数就是定点小数。例例10 0.00010111211= 0.1011120这时这时j=0,此数字就是定点小数。,此数字就是定点小数。j码固定不变的二进制数的表示法称为定点表示,这样码固定不变的二进制数的表示法称为定点表示,这样的数为定点数,机器称为定点机。的数为定点数,机器称为定点机。 452)浮点表示法)浮点表示法 浮点表

53、示法是指小数点在数中的位置是浮动可变的。由浮点表示法是指小数点在数中的位置是浮动可变的。由于计算机不能识别小数点于计算机不能识别小数点“.”,数据中的小数点用,数据中的小数点用j表示表示表示小数点的位置,表示小数点的位置,j称为浮点数的阶码,阶码包括阶称为浮点数的阶码,阶码包括阶码的符号(又称为阶符)码的符号(又称为阶符)jf和阶码和阶码jm两部分。尾数两部分。尾数s包包括尾数符号括尾数符号sf和尾数和尾数sm两部分。两部分。sm通常采用定点小数形通常采用定点小数形式表示,它决定了浮点数的精度。计算机中,浮点数的式表示,它决定了浮点数的精度。计算机中,浮点数的表示如下:表示如下: 46例例11

54、 采用十六位二进制数表示一个浮点数,阶码占采用十六位二进制数表示一个浮点数,阶码占5位,位,尾数和数符占尾数和数符占11位,把实数位,把实数84.375表示为浮点数。表示为浮点数。解解 84.375=101 0100.011b=0.1010 1000 112+111 阶码阶码j=+111,尾数,尾数s=0.1010 1000 11,尾数符号为,尾数符号为0,则,则浮点形式为浮点形式为471.3.2 1.3.2 微型计算机中的原码、反码和补码微型计算机中的原码、反码和补码 二进制数据的正负可以用一位二进制的二进制数据的正负可以用一位二进制的“0”和和“1”两两个状态来表示。计算机对数据进行运算时

55、,直接对符号位进个状态来表示。计算机对数据进行运算时,直接对符号位进行计算得到的是错误的结果,因此为了简化对二进制数值数行计算得到的是错误的结果,因此为了简化对二进制数值数据实现算术运算,需要将二进制数据进行编码表示,常用的据实现算术运算,需要将二进制数据进行编码表示,常用的编码有原码、反码和补码。为了讨论方便,首先引入两个概编码有原码、反码和补码。为了讨论方便,首先引入两个概念:机器数和真值。念:机器数和真值。 机器数:机器数:带符号的二进制数值数据在计算机内部的编码;带符号的二进制数值数据在计算机内部的编码;真值:真值:机器数所代表的实际值。机器数所代表的实际值。481 1原码原码设真值为

56、设真值为x,机器字长为,机器字长为n位,则二进制数位,则二进制数x的原码定义为:的原码定义为: 一个数的原码就是该数的机器数,它的最高位为符号位,一个数的原码就是该数的机器数,它的最高位为符号位,且用且用“0”表示正,用表示正,用“1”表示负,其余各位为数值位。因表示负,其余各位为数值位。因此,二进制正、负数的原码就是符号化的机器数真值本身。此,二进制正、负数的原码就是符号化的机器数真值本身。 例例12 已知已知x=+111 0010b,y=1 1011b,求,求x,y的原码的原码(机器字长为(机器字长为8位)。位)。 设真值为设真值为x,机器字长为,机器字长为n位,在二进制数位,在二进制数x

57、的原码定义为:的原码定义为: x原原=0111 0010b;y原原=1001 1011b。 49例例13 已知已知x原原=0101 0011b;y原原=1010 1100b,求,求x和和y的真值。的真值。解:由式(解:由式(1-3),已知原码求真值,只需用),已知原码求真值,只需用“+”、“-”分分别取代符号位中的别取代符号位中的“0”和和“1”即可。所以有,即可。所以有,。 x的真值为:的真值为:+101 0011by的真值为:的真值为:10 1100b2 2反码反码设真值为设真值为x,机器字长为,机器字长为n位,在二进制数位,在二进制数x的反码定义为:的反码定义为:50对于正数,其反码就是

58、该数的原码;对于负数,其反码就对于正数,其反码就是该数的原码;对于负数,其反码就是机器数符号位保持不变,其余按位取反。是机器数符号位保持不变,其余按位取反。 例例14 已知已知x=+1 1010b,y=10 0010b,求,求x和和y的反码的反码(机器字长为(机器字长为8位)。位)。解:由式(解:由式(1-4)得:)得: x反反=x原原=0001 1010b y反反=1101 1101b例例15 已知已知x反反=0111 1101b,y反反=1111 1111b,求,求x和和y的真值。的真值。 解:根据原码与真值之间的关系,先求出原码,然后求真值。解:根据原码与真值之间的关系,先求出原码,然后

59、求真值。51 根据根据x和和y的反码值,的反码值, x0,则,则x原原= x反,反,x的真值为:的真值为:+111 1101b,即,即+125。 y0,则,则y原原=1000 0000b,y的真值为:的真值为:000 0000b,即即0。3 3补码补码设真值为设真值为x,机器字长为,机器字长为n位,在二进制数位,在二进制数x的补码定义为:的补码定义为:对于正数,其补码就是该数的原码;对于负数,其补码就是对于正数,其补码就是该数的原码;对于负数,其补码就是机器数符号位保持不变,其余按位取反后末位加机器数符号位保持不变,其余按位取反后末位加1。 3 3补码补码设真值为设真值为x,机器字长为,机器字

60、长为n位,在二进制数位,在二进制数x的补码定义为:的补码定义为:52求二进制数的补码应注意:求二进制数的补码应注意:(1)在补码表示法中,)在补码表示法中,0只有一种表示,即只有一种表示,即000000;(2)对于)对于1000 0000这个补码编码,其真值被定义为这个补码编码,其真值被定义为128;(3)负数的补码再取补码等于原码。)负数的补码再取补码等于原码。例例16已知已知x=+48d,y=48d,机器字长,机器字长n=8位,求位,求x和和y的的补码。补码。解:首先将解:首先将48d转换为二进制数:转换为二进制数:110000b。 由于机器字长是由于机器字长是8位,符号位占位,符号位占1位,所以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论