《微机原理与单片机技术》全套教学课件_第1页
《微机原理与单片机技术》全套教学课件_第2页
《微机原理与单片机技术》全套教学课件_第3页
《微机原理与单片机技术》全套教学课件_第4页
《微机原理与单片机技术》全套教学课件_第5页
已阅读5页,还剩597页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与单片机技术第1章

微型计算机系统简介第2章

微处理器存储器及IO接口简介第3章MCS-51单片机的硬件结构第4章MCS-51指令系统与汇编语言程序设计第5章C51程序设计简介第6章

中断系统第7章

定时器计数器第8章

串行通信接口第9章

键盘接口技术第10章

显示接口技术第11章

模拟接口技术全套可编辑PPT课件

第1章微型计算机系统简介本章教学目标掌握计算机系统组成理解微计算机系统与单片机的区别与联系了解单片机的发展历程与应用场合理解数制之间的转换关系掌握计算机系统中编码的定义掌握逻辑功能部件的工作特点能够利用逻辑运算实现特殊用途本章主要内容1.1微型计算机系统概述1.2单片机的发展与应用1.3数制与编码1.4逻辑运算与逻辑功能部件简介本章主要内容1.1微型计算机系统概述1.2单片机的发展与应用1.3数制与编码1.4逻辑运算与逻辑功能部件简介1.1微型计算机系统概述以微型计算机为核心,配上系统软件和外围设配,就构成了微型计算机系统。1.1.1微处理器微处理器(Microprocessor)是计算机和电子设备的核心部件,也叫中央处理器(CentralProcessingUnit,简称CPU),是计算机系统的运算和控制核心,由运算器和控制器组成,是信息处理、程序运行的最终执行单元。微处理器的主要性能指标包括:主频、处理器字长、总线频率、地址总线宽度、数据总线宽度、高速缓冲容量和级数、生产工艺等。主频:是微处理器的工作频率,反映微处理器工作节奏的快慢。字长:微处理器一次能够处理的二进制数的位数。总线频率:CPU和外界数据传输的速度,由于数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。现代处理器的典型主频1.消费级处理器-IntelCorei7/i9:基础频率2.5GHz-3.8GHz,最大睿频可达5GHz以上。-AMDRyzen7/9:基础频率3.5GHz-4.0GHz,最大加速频率可达5GHz以上。2.移动处理器-高通骁龙(Snapdragon):主频通常在1.8GHz-3.2GHz之间。-苹果A系列(如A15Bionic):高性能核心主频可达3.2GHz。3.嵌入式处理器-ARMCortex-M系列:主频通常在几十MHz到几百MHz之间。-RaspberryPi:主频通常在1GHz-2GHz之间。字长字长是指CPU一次能够处理的二进制数的位数。通常字长是8的倍数。数据存储和运算都按固定字长进行。

位 0半字节(4位) 0000字节(8位) 00000000字

(16位) 0000000000000000D15-----D8D7------D032位64位101.1.2微型计算机组成微型计算机由微处理器(CPU)、存储器、I/O接口,以及总线组成。

微型计算机硬件结构的最重要特点是总线(Bus)结构,它将信号线分成三大类:数据总线(DateBus)、地址总线(AddressBus)和控制总线(ControlBus)。

11CPU:是微型计算机的核心,具有运算与控制功能,负责取指令,然后执行指令。存储器:存放程序(由指令构成)或者数据,和CPU直接交换信息的是主存(内存)。I/O接口:是主机(CPU与存储器)与外围设备进行信息交换的纽带,主机通过I/O接口与外部设备进行数据交换。12CPU:是微型计算机的核心,具有运算与控制功能,负责取指令,然后执行指令。存储器:存放程序(由指令构成)或者数据,和CPU直接交换信息的是主存(内存)。I/O接口:是主机(CPU与存储器)与外围设备进行信息交换的纽带,主机通过I/O接口与外部设备进行数据交换。13CPU:是微型计算机的核心,具有运算与控制功能,负责取指令,然后执行指令。存储器:存放程序(由指令构成)或者数据,和CPU直接交换信息的是主存(内存)。I/O接口:是主机(CPU与存储器)与外围设备进行信息交换的纽带,主机通过I/O接口与外部设备进行数据交换。14地址总线:传输地址信号,单向总线,一般由CPU输出,地址信号用来选中一个存储单元或者IO接口。控制总线:传输控制信号或时序信号。控制总线的传送方向由具体控制信号而定,一般是单向的,实际上控制总线的具体情况主要取决于CPU。数据总线:双向总线,可用于微处理与内存,微处理器与输入输出接口之间传送信息。数据总线的宽度是决定计算机性能的一个重要指标。总线地址总线:传输地址信号,单向总线,一般由CPU输出,地址信号用来选中一个存储单元或者IO接口。控制总线:传输控制信号或时序信号。控制信号中,有的是微处理器送往存储器和输入输出设备接口电路的,比如:读/写信号;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号等。因此,控制总线的传送方向由具体控制信号而定,一般是单向的,实际上控制总线的具体情况主要取决于CPU。数据总线:双向总线,可用于微处理与内存,微处理器与输入输出接口之间传送信息。数据总线的宽度是决定计算机性能的一个重要指标。微型计算机的数据总线大多是32位或64位。1631.1.3微型计算机的性能指标微型计算机的性能技术指标主要有如下几个方面:运算速度、主频、字长、内存容量、存取周期、外部设备的配置及扩展能力等等。运算速度:通常所说的计算机运算速度(平均运算速度),是指每秒钟所能执行的指令条数,一般用“百万条指令/秒”(MillionInstructionsPerSecond,MIPS)来描述。主频:微型计算机一般采用主频来描述运算速度,单位是Hz,例如,Pentium/133的主频为133MHz,Pentium41.5G的主频为1.5GHz。一般说来,主频越高,运算速度就越快。字长:字长是指计算机运算部件一次能同时处理的二进制数据的位数。通常字长总是8的整数倍,如8、16、32、64位等。Intel486机和Pentium4机均属32位机,在其他指标相同时,字长越大计算机处理数据的速度就越快,精度越高。内存储器的容量:内存储器,也简称主存,是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就是存放在主存中的。内存储器容量的大小反映了计算机即时存储信息的能力。内存容量越大,系统功能就越强大,能处理的数据量就越庞大。1.1.4微机与单片机的区别与联系

1.计算机组成运算器、控制器、存储器、输入设备、输出设备2.微机组成微处理器(CPU)、存储器、I/O接口、总线(地址总线、数据总线、控制总线)3.单片机组成集成了组成微机的CPU、存储器、I/O口以及其它辅助电路的大规模集成电路芯片。通用微型计算机和单片机的主要区别有:(1)单片机是把构成微机的主要功能部件集成在一块芯片上了。(2)通用微型计算机主要进行科学运算、海量信息处理、优化及辅助设计等等。单片机主要嵌在另一个设备中,与专业设备融为一体,形成智能系统,如工业控制系统、智能测量系统、自动化通信系统、专用数字处理系统等。单片机面向控制。(3)通用微机中存储器容量大,单片机中存储器容量较小。(4)通用微机中程序、数据放在统一的存储器空间;单片机中程序、数据分开存放。(5)通用微机一般有标准的外设接口,单片机没有。(6)编程时,通用微机不需要了解硬件接口,而单片机是对硬件编程,需要了解硬件结构。

本章主要内容1.1微型计算机系统概述1.2单片机的发展与应用1.3数制与编码1.4逻辑运算与逻辑功能部件简介1.2单片机的发展与应用1.2.1单片机的发展单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS-51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。单片机发展的主要阶段早期阶段SCM即单片微型计算机/单片微处理器(SingleChipMicrocomputer/SingleChipMicroprocessor)阶段,在开创嵌入式系统独立发展道路上,Intel公司功不可没。1971年Intel公司研制出世界上第一个4位的微处理器芯片Intel4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。1976年Intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。中期发展

MCU(MicroControllerUnit)即微控制器阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,系统要求的各种外围接口电路,突显其系统的智能化控制能力,发展MCU的重任不可避免地落在电气、电子技术厂家。1980年Intel公司推出的高性能8位单片机MCS-51系列,普遍带有串行口,有多级中断处理系统,多个16位定时器/计数器。90年代中期,英特尔忙于开发个人电脑的微处理器,没有发展自己创造的单片机技术,而由其它半导体公司继续研发51系列单片机。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。当前趋势

SoC嵌入式芯片系统(SystemonChip)的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片应用系统设计会有较大的发展。因此,对单片机发展的理解可以从单片微处理器、单片微控制器延伸到单片应用系统。1.2.2单片机的应用场合单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:智能仪器。例如精密的测量设备(电压表、示波器,各种分析仪)。工业控制。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等消费电子与智能家居。例如电饭煲、洗衣机、冰箱、空调机、彩电等。网络和通信。从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等设备领域。例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。汽车电子。例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、abs防抱死系统、制动系统、胎压检测等。数字式测角仪数控车床医用呼吸机1.2.3主流的单片机产品STMicroelectronics(意法半导体)STM32系列-基于ARMCortex-M内核,涵盖从低端到高端的多种型号。-特点:高性能、丰富的外设资源,广泛应用于工业、消费电子和物联网。-代表型号:STM32F103(Cortex-M3)、STM32F4(CM4)、STM32H7(CM7)。PIC单片机(美国微芯科技)MicroChip单片机的主要产品是PIC16C系列和17C系列8位单片机,CPU采用RISC结构,覆盖8位、16位、32位的全系列产品,如PIC10/12/16/24/32.广泛应用于工业控制、汽车电子、消费电子、物联网等领域。

STC单片机(深圳宏晶科技)主打性价比和8051兼容架构,STC单片机采用冯·诺依曼结构,指令为复杂指令集。主流产品系列包括:STC89/90(基础款),STC12/15(1T高速款),STC8(外设增强款),STC32等。AT89S与AVR单片机(ATMEL公司,2016年被微芯收购)AT89S系列是增强型51单片机,其ISP编程能力和稳定性在2000年代广受欢迎。AVR单片机是ATMEL在90年代推出的精简指令集RISC的单片机,跟PIC类似。

NXPSemiconductors(荷兰恩智浦半导体)

LPC系列

-基于ARMCortex-M内核,适用于工业控制和汽车电子。

-特点:高性能、低功耗。

-代表型号:LPC1768(Cortex-M3)。

Kinetis系列

-基于ARMCortex-M内核,适用于低功耗应用。

-代表型号:KinetisK64(Cortex-M4)。

TexasInstruments(德州仪器)

MSP430系列

-16位低功耗单片机,适合电池供电的应用。

-特点:超低功耗,广泛应用于便携式设备和传感器。

-代表型号:MSP430G2553。

C2000系列

-32位单片机,专注于电机控制和数字电源。

-代表型号:TMS320F28335。华邦单片机华邦公司的W77、W78系列8位单片机的脚位和指令集与8051兼容。系列产品:W78E(工业级),W77E(低功耗),N76E(极致性价比)。本章主要内容1.1微型计算机系统概述1.2单片机的发展与应用1.3数制与编码1.4逻辑运算与逻辑功能部件简介1.3数制与编码1.3.1数制之间的转换1.3.2补码1.3.3十六进制数的加减运算1.3.4BCD码和ASCII码1.3.1数制之间的转换数制是指进位记数的方式。人们日常生活中使用十进制数,用0、1、……、9表示。计算机内部只能用二进制数,用0和1表示。为了书写和记忆方便,编写程序时,经常用十六进制数。用0,1,…,9,A,B,C,D,E,F表示。在汇编语言程序设计中,十进制数的后缀为D(可省略),二进制数后缀为B,十六进制数的后缀为H例如:十进制数----166

二进制数----10100110B

十六进制数----A6H二进制和十进制之间的转换1.十进制数转换成二进制数。十进制要转换成二进制时,把它不断除以2,把所得的余数,从下往上读取。例如:将53转换成二进制数。2|53

余数2|26-------12|13-------02|6-------12|3-------02|1-------10-------1

所以,53=110101B若用一个字节表示53=00110101B高位低位下面介绍另外一种将十进制转换成二进制的方法,先将十进制数写成权值2N的和,然后,将权值对应位写1,其余位写0,即可得到二进制数。例如:53=32+16+4+1,则第5、4、2、0位为1,其余位为0。53的二进制数为00110101B。2.二进制转十进制用每位数乘以2的相应次方(即每位的权值),然后相加。例如:二进制数10101101B转化成十进制 10101101B =1×27+0×26+1×25+0×24+1×23+1×22+0×21+1×20 =128+32+8+4+1 =173又如: 11111111B =128+64+32+16+8+4+2+1 =2553.二进制转换成十六进制十六进制数用0、1、2、……、9、A、B、C、D、E、F表示,依次对应十进制数的0—15。4位二进制数可以用1位十六进制数来表示。例如:将二进制数1111转换成十六进制数。①先将1111B转换成十进制数1111B=1×23+1×22+1×21+1×20

=8+4+2+1=15②十进制数15可以用1位十六进制数F表示。

所以,1111B=FH四位的二进制数快速计算方法十进制值十六进制值11118+4+2+115F11108+4+2+014E11018+4+0+113D11008+4+0+012C10118+0+2+111B10108+0+2+010A10018+0+0+199……00010+0+0+11100000+0+0+000记住8421,对于任意一个4位的二进制数,可以很快算出它对应的十进制值。二进制、十进制、十六进制关系表当数据用十六进制表示时,写出来就短了。例如,下面表中8位二进制数写成十六进制数就只有2位了。二进制数111111011010010110011011对应的十六进制数FDA59B4.十六进制转换成二进制1位十六进制数对应4位二进制数。例如:当我们看到十六进制数AD时,如何迅速将它转换为二进制数呢?(1)先转换A看到A,需要先知道它是10,然后10=8+2,所以A:1010。(2)接着转换D看到D,需要先知道它是13,13=8+4+1,即:1101。所以,十六进制数ADH转换为二进制数是10101101B1.3.2十六进制数的加减运算十六进制加法两个16进制数相加时,逢16进1。例如:计算89H+A8H89

+)A+18131由于计算机内进行运算时,是按固定字长进行的,所以如果预先定义的是字节相加,那么89H+A8H=31H。最高位上的进位会被独立的存储。十六进制数的减法两个16进制数相减,若不够减,向前借1,借到的值是16。例如:计算27A0H-382FH 2-17A-10

-)382FEF7127A0H-382FH=EF71H,最高位有借位。1.3.3补码计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法中,数据均由符号位和数值位两部分组成。数据的最高位是符号位,0表示“正数”,1表示“负数”。原码和反码没有流行起来,是因为在数的运算上对符号位的处理无法用当时已有的机器物理设计来实现。所以现在计算机内负数是用补码表示的。补码的计算正数的补码正整数的补码与原码相同,即最高位为0,其余位为数值位。原码:最高位为符号位,其余位是数值位。例如:+9的补码=00001001B

符号位

数值位注意:这里+9用8位二进制数(一个字节)表示,因为计算机存储数据时,是按固定字长存储的,而不是任意位数。负数的补码先写出数据的原码,然后符号位不变,数值位各位取反,最后整个数加1。例如:取字长为8位二进制数,求-17的补码。-17的原码:10010001

反码:11101110

补码:11101111(EFH)例如:取字长为16位二进制数,求-17的补码。-17的原码:1000000000010001

反码:1111111111101110

补码:1111111111101111(FFEFH)利用十六进制减法运算求补码【例】取字长为8位二进制数,求-5的补码。-5=0-5=100H-05H=FBH

1-10-10

-) 05 FB可以发现,无符号数FBH(251)跟有符号数-5在计算机内部存储的值是一样的。数据表达范围一个字节的无符号数,0~25500H~FFH一个字节的有符号数:-128~+12780H~FFH,00H~7FH一个字的无符号数:0~655350000H~FFFFH一个字的有符号数:-32768~327678000H~FFFFH,0000H~7FFFH1.3.4BCD码和ASCII码

一、BCD码Binarycodeddecimal,二进制编码的十进制数BCD码有两种形式:(1)压缩(组合)的BCD码用一个字节表示2位十进制数。例如:十进制数35的压缩BCD码表示为:00110101B。(2)非压缩(非组合)的BCD码用一个字节表示1位十进制数。例如:十进制数76的非压缩BCD码形式为:00000111B(即07H)00000110B(即06H)76要用两个字节来表示。BCD码表十进制数组合的BCD码0000010001200103001140100501016011070111810009100110000100001100010001120001001013000100111400010100……非组合的BCD码00000000(00H)00000001(01H)00000010(02H)00000011(03H)00000100(04H)00000101(05H)00000110(06H)00000111(07H)00001000(08H)00001001(09H)0000000100000000(0100H)0000000100000001(0101H)0000000100000010(0102H)0000000100000011(0103H)0000000100000100(0104H)……二、ASCII码它的全称是美国标准信息交换码(AmericanStandardCodeforInformationInterchange)是对字符的编码。有7位码和8位码两种形式。本课程中用的是7位码。常用的ASCII码如下:

“0”-“9”:30H-39H “A”-”Z”:41H-5AH “a”-”z”:61H-7AH

“-”:2DH

回车:0DH

换行:0AH

空格:20H例如:对于数字35H,如果把它看作是ASCII码,它就是字符‘5’。对于十进制数35来说,ASCII码为33H、35H。表1-6ASCII字符编码表BCD码、ASCII码的应用举例例如:二进制数BCD码ASCII码LCD液晶显示

二进制数BCD码

七段码

数码管显示7FH(01111111B)01H,02H,07H31H,32H,37HLCD输出127

再转换成段码

数码管输出LCD显示器数码管显示本章主要内容1.1微型计算机系统概述1.2单片机的发展与应用1.3数制与编码1.4逻辑运算与逻辑功能部件简介1.4逻辑运算与逻辑功能部件简介

与运算-AND与运算可以用来使变量的某一位或几位“清0”。例如:使X的高四位清0,低四位不变假设X=56HX=X&0FH=56H&0FH=06H0101

0110

&)00001111

0000

0110例如:使Y的最高位清0,其余位不变假设Y=F6HY=Y&7FH=F6H&7FH=11110110B&01111111B=01110110B或运算可以用来使变量的某一位或几位“置1”。例:使X的低四位为1,其余位不变,让X与0FH相“或”假设X=56HX=X+0FH=56H+0FH=5FH

使X的最高位为1,其余位不变,让X与80H相“或”X=X+80H=56H+80H=01010110B+10000000B=11010110B或运算-OR异或运算-Exclusive-OR(XOR)异或运算可以用来使变量的某一位或几位“取反”。例如:使X的低四位取反,高四位不变假设X=56H X=X⊕0FH=56H⊕0FH=59H

01010110

⊕)00001111

0101

100157常用门电路符号1.4.2计算机中常用逻辑功能部件触发器(trigger):触发器是用于存入和记忆1位二进制数的逻辑部件,它有两种稳定状态,可将其一种状态称为“0”状态,另一种状态称为“1”状态。寄存器(register):用于存放二进制数的部件。一个触发器可存放1位二进制数,因此可称为1位寄存器。用n个触发器即可构成一个n位寄存器。8051/8086系统中有8位和16位寄存器这两种。锁存器(latch):在一个控制信号的控制下,能同时寄存多位数据的逻辑部件。锁存,就是把信号暂存以维持某种电平状态。只有在有锁存信号时,输入的状态被保存到输出,直到下一个锁存信号。三态门(three-stategate):三态门的输出端有3种状态:高电平、低电平、高阻态。当控制端有效时,输出随输入的变化而变化;当控制端无效时,输出高阻状态。译码器(decoder):译码器是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。变量译码器一般是一种较少输入变为较多输出的器件,常见的有n线-2^n线译码和8421BCD码译码两类;显示译码器用来将二进制数转换成对应的七段码。存储器(memory):有很多寄存器按顺序排放构成,每个寄存器相当于是一个存储单元,每个存储单元有一个编号,即地址。存储单元的地址和内容都是用二进制数表示。DCLKQQN0时钟边沿011时钟边沿10×0lastQlastQN×1lastQlastQN触发器Trigger(flip-flop)寄存器(Register)锁存器(Latch)三态门具有三态输出控制的锁存器常用锁存器74HC573译码器—74LS13868存储器由很多寄存器按顺序排放构成,每个寄存器相当于是一个存储单元。(1)存储单元:存放一个或几个字节的存储空间,称作一个存储单元。没有特殊说明的话,一般一个单元存放1个字节数据。(2)存储器的编址与地址:对字节存储单元编号的过程叫做编址,每个存储单元有唯一一个编号,称为地址。(3)存储容量:一个存储设备所能存放的二进制信息量的总和。通常用字节数表示,如4MB、2GB等。Kilobyte 210=1024=1KMegabyte 220=1024×1024=1048576=1MGigabyte 230=1024×1024×1024=1GTerabyte 240=1024G=1TPetabyte 250=1P存储器存储器芯片6116的容量是2KB存储器的地址和内容本章结束71第2章

微处理器、存储器及I/O接口简介本章教学目标掌握微处理器的结构与功能掌握存储器分类与特点掌握存储器引脚信号功能理解存储器地址译码的原理掌握CPU与存储器的接口技术掌握I/O接口的结构与功能了解CPU与I/O接口的数据传送方式本章主要内容2.18086/8088微处理器2.2内存储器2.3输入/输出接口本章主要内容2.18086/8088微处理器2.2内存储器2.3输入/输出接口2.18086/8088微处理器8086:Intel系列的16位微处理器,16条数据线、20条地址线,可寻址地址空间220=1MB,8086工作时,只要一个5V电源和一个时钟,时钟频率为5MHz。8088:内部与8086兼容,也是一个16位微处理器,只是外部数据总线为8位,所以称为准16位微处理器。8088有20根地址线,所以可寻址的地址空间达220即1M字节。2.18086/8088微处理器8086/8088功能结构图从功能上,8086内部分为两个部分:总线接口单元和执行单元一、总线接口部件BIU功能:负责CPU与存储器、I/O接口之间的数据传送。具体功能有:(1)从取指令送到指令队列。(2)CPU执行指令时,到指定的位置取操作数,并将其送至要求的存储单元中。二、执行部件EU功能:主要就是负责解释并执行指令。具体操作如下:(1)从指令队列中取出指令。(2)对指令进行译码,发出相应相应的控制信号。(3)接收由总线接口送来的数据或发送数据至接口。(4)进行算术/逻辑运算。总线接口部件的组成:(1)四个段地址寄存器

CS:16位代码段寄存器;DS,16位数据段寄存器;

ES:16位附加段寄存器;SS,16位堆栈段寄存器。(2)16位指令指针寄存器IP。(3)20位的地址加法器。(4)6字节的指令队列缓冲区。(8088有4字节的指令队列)说明:指令队列缓冲区:在执行指令的同时,将取下一条指令,并放入指令队列缓冲区中。CPU执行完一条指令后,可以执行下一条指令(流水线技术),提高CPU效率。地址加法器:产生20位地址。CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。20位指令地址=CS×10H+IP。CS的值左移四位加上IP的值执行部件的组成:(1)四个通用寄存器AX、BX、CX、DX。4个通用寄存器都是16位,每个通用寄存器又可作为两个8位寄存器来使用。(2)专用寄存器

SP---堆栈指针寄存器;BP---基址指针寄存器

DI---目的变址寄存器;SI---源变址寄存器(3)算术逻辑单元ALU

完成8位或者16位二进制算术和逻辑运算,计算偏移量。(4)数据暂存寄存器协助ALU完成运算,暂存参加运算的数据。(5)执行部件的控制电路从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。(6)标志寄存器16位寄存器,其中有7位未用。D15D0

OFDFIFTFSFZFAFPFCF进借位标志奇偶标志半进借位标志零标志符号标志单步中断中断允许方向标志溢出标志1-有进、借位0-无进、借位1-低8位有偶数个10-低8位有奇数个11-低4位向高4位有进、借位0-低4位向高4位无进、借位1-结果为00-结果不为08086/8088引脚图

MN/MXCLKRDREADYWRRESETM/IO8086ALEA19-A16BHEAD15-AD0DENDT/R82828286TOE8284memoryI/O5V20位地址总线(AB)16位数据总线DBREADYRESET控制总线(CB)8086/8088工作在最小模式下的系统配置图时钟发生器地址锁存器数据收发器8084:时钟发生器。给CPU提供工作时钟;使外部的READY、RESET信号与时钟同步。8282:地址锁存器。锁存CPU输出的地址。8286:数据收发器。它实际上是双向缓冲器,提高数据总线的负载能力。8288:当CPU工作在最大模式下时,产生控制信号指令执行的基本过程

所谓程序,就是为了完成某项工作,将一系列指令有序地组合,而指令则是要求CPU执行某种操作的命令。CPU执行一条指令一般分为取指令和执行指令两个阶段。从存储器中取出指令,并且对指令进行译码,以明确该指令执行何种操作,以及操作数的存放地址(即操作数存放在哪一个单元中),再根据这个地址获取操作数,这是取指令阶段。按操作码指明的操作类型对获取的操作数进行操作(也可称为运算),这是执行指令阶段。本章主要内容2.18086/8088微处理器2.2内存储器2.3输入/输出接口2.2内存储器2.2内存储器

2.2.1半导体存储器的分类2.2.2内存储器的技术指标2.2.3随机存取存储器(RAM)2.2.4只读存储器ROM的分类及特点2.2.5存储器与CPU的接口技术2.2.1半导体存储器的分类半导体存储器是能存储大量二值信息的半导体器件,用来存放程序和数据,分为主存储器(也称主存、内存)和辅助存储器(也称辅存、外存)两类。半导体存储器分类从存取功能分:只读存储器ROM、随机存取存储器RAM只读存储器:掩模ROM、PROM、EPROM、EEPROM随机存储器:静态RAM(SRAM)、动态RAM(DRAM)从制造工艺分:双极型和MOS(CMOS)型“读”是指CPU将程序或数据从存储器中取出,“写”是指CPU将程序或数据存入存储器,“随机”是指读写存储器中任何位置的数据所用的时间都相同。半导体存储器的分类2.2.2内存储器的技术指标主存储器主要有以下技术指标:(1)存储容量:在一个存储器中可以容纳的存储单元总数存储空间的大小。(2)存取时间:信息写入存储器的操作称为“写”操作,从存储器取出信息的操作称为“读”操作,读写操作统称为“访问”操作。存取时间是指从启动一次存取操作到完成该操作所经历的时间。(3)存储周期:是指连续启动两次独立的存储器操作(如连续两次读操作)所需间隔的最小时间。通常,存储周期略大于存储时间。(4)存储器带宽:单位时间里存储器所存取的信息量,是体现数据传输速率技术指标,单位是位/秒,(bitspersecond,b/s),或字节/秒(Bytespersecond,B/s)。2.2.3随机存取存储器(RAM)随机存储器(randomaccessmemory,RAM)。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。按照存储信息的原理不同,随机存储器又分为静态随机访问存储器(StaticRAM,SRAM)和动态随机访问存储器(DynamicRAM,DRAM)。1.静态随机访问存储单元(SRAM)存储原理:由双稳态触发器存储数据单元结构:六管NMOS构成优点:速度快、使用简单、不需刷新、静态功耗极低;常用作Cache缺点:元件数多、集成度低、运行功耗大常用的SRAM集成芯片:6116(2K×8位),6264(8K×8位),2114(1K×4位)静态RAM(SRAM)基本的存储电路典型的静态RAM芯片2114(1K×4位)6116(2K×8位)6264(8K×8位)62256(32K×8位)2.动态随机存储器DRAM动态随机存储器DRAM的存储元以电容来存储信息,电路简单。但电容总有漏电存在,时间长了存放的信息就会丢失或出现错误。因此需要对这些电容定时充电,这个过程称为刷新,即定时将存储单元的内容读出再写入。由于需要刷新,所以这种RAM称为动态RAM。DRAM的主要特点有:基本存储电路用单管线路组成(靠电容存储电荷);集成度高;功耗比静态RAM低;价格比静态便宜;因动态存储器靠电容来存储信息,由于总是存在有泄漏电流,故要求刷新(再生);适用于大存储容量的微型计算机,如微机中的内存主要由DRAM组成。动态随机存取存储器结构结构特点:单管动态存储电路动态RAM的刷新。为保持电容中的电荷不丢失,必须对动态RAM不断进行读出和再写入2.2.4只读存储器ROM的分类及特点只读存储器是一种非易失性的半导体存储器件。其中所存放的信息可长期保存,掉电也不会丢失,常被用来保存固定的程序和数据。在一般工作状态下,ROM中的信息只能读出,不能写入。对可编程的ROM芯片,可用特殊方法将信息写入,该过程被称为“编程”。对可擦除的ROM芯片,可采用特殊方法将原来信息擦除,以便再次编程。掩模ROM:掩模只读存储器由制造厂做成,用户不能进行修改。可编程只读存储器PROM(ProgrammableROM),PROM允许用户对其进行一次编程,即写入数据或程序。一旦编程之后,用户可以读出其内容,但再也无法改变它的内容。紫外线可擦除的只读存储器EPROM(ErasableProgrammableROM),用紫外线照射来擦除,擦除后可编程,并允许用户多次擦除和编程;电可擦除的只读存储器EEPROM或E2PROM(ElectricallyErasableProgrammableROM),采用加上一定电压的方法进行擦除和编程,也可多次擦除和编程。掩膜式只读存储器(ROM)掩膜式ROM一般由生产厂家根据用户的要求定制的。有晶体管可以表示1,没接晶体管表示0。可编程的ROM(PROM)出厂时,所有存储单元的熔丝都是完好的。编程时,通过字线选中某个晶体管。若准备写入1,则向位线送高电平,此时管子截止,熔丝将被保留;若准备写入0,则向位线送低电平,此时管子导通,控制电流使熔丝烧断。换句话说,所有存储单元出厂时均存放信息1,一旦写入0使熔丝烧断,就不可能再恢复。可擦除可编程的ROM(EPROM)结构特点:

在N型的基片上安置了两个高浓度的P型区,分别引出源极(S)和漏极(D),在S和D之间有一个由多晶硅构成的栅极,但它是浮空的,被绝缘物SiO2所包围。出厂时,硅栅上没有电荷,则管子内没有导电沟道,D和S之间是不导电的。可擦除:芯片的上方有一个石英玻璃的窗口,通过紫外线照射,芯片电路中的浮空晶栅上的电荷会形成光电流泄漏走,使电路恢复起始状态,从而将写入的信号擦去。可编程:要写入时,则在D和S之间加上25V的高压,另外加上编程脉冲(其宽度约为50ms),所选中的单元在这个电源作用下,D和S之间被瞬时击穿,就会有电子通过绝缘层注入到硅栅,当高压电源去除后,因为硅栅被绝缘层包围,故注入的电子无处泄漏走,硅栅就为负,于是就形成了导电沟道,从而使EPROM单元导通,输出为“0“或”1“。电可擦除可编程的ROM(E2PROM)结构:浮栅隧道氧化物结构。由浮栅晶体管组成,每个晶体管可存储1比特数据。‌‌控制机制‌是通过控制栅施加电压实现写入(电子注入浮栅)和擦除(电子移除浮栅),擦除操作通过反向电压完成。应用特性:(1)对硬件电路没有特殊要求,编程简单。(2)采用+5V电源擦写的EEPROM,通常不需要设置单独的擦除操作,可在写入过程中自动擦除。(3)EEPROM器件大多是并行总线传输的。闪速存储器(FlashMemory)基于浮栅晶体管结构的非易失性存储器,分为NOR和NAND两类。NORFlash支持随机访问,适用于嵌入式系统等小容量代码存储场景;NANDFlash存储密度高,适用于大容量数据存储(如SSD、U盘)。‌‌FlashMemory芯片借用了EPROM结构简单,又吸收了EEPROM电擦除的特点。不但具备RAM的高速性,而且还兼有ROM的非易失性。同时它还具有可以整块芯片电擦除、耗电低、集成度高、体积小、可靠性高、无需后备电池支持、可重新改写、重复使用性好(至少可反复使用10万次以上)等优点。使用它不仅能有效解决外部存储器和内存之间速度上存在的瓶颈问题,而且能保证有极高的读出速度。FlashMemory芯片抗干扰能力很强。

2.2.5存储器与CPU的接口技术存储器引脚结构举例图2-7SRAM芯片6264引脚图2-10DRAM芯片2164引脚图2-13EEPROM芯片2816引脚图2-12EPROM27128EPROM芯片2716与系统总线的连接示意图根据片选和字选来确定存储器的地址范围存储器与地址总线的连接根据对CPU高位地址总线的译码方法不同,片选译码方法有三种,分别是全译码方法、部分译码方法和线译码方法。1.全译码法:这种方法除了将CPU的低位地址总线直接连接至芯片的地址线用于字选外,将余下的高位地址总线全部译码,译码输出作为各芯片的片选信号2.部分译码法:这种方法对余下的CPU高地址线中的一部分地址信号进行译码,以产生各存储芯片的片选信号3.线译码法:这种方法将CPU低位地址线直接接存储芯片的片内地址外,将余下的CPU高位地址线分别直接作为各存储区芯片的片选信号,而不需要通过的译码逻辑电路译码全译码法举例部分译码法举例线译码法举例本章主要内容2.18086/8088微处理器2.2内存储器2.3输入/输出接口2.3输入/输出接口2.3I/O接口概述2.3.1I/O接口的分类和功能2.3.2I/O接口的典型结构2.3.3I/O端口的编址2.3.4CPU与I/O接口的数据传送方式2.3.1I/O接口的分类和功能I/O接口的分类:按外设和接口之间的数据传送方式,分为并行接口和串行接口,并行接口一次传输一个字节或一个字的全部位,串行接口一次传送一位。CPU和接口的数据总是并行传输的。按主机访问I/O接口的控制方式,分为程序查询接口、中断接口和DMA接口等。按功能选择的灵活性,分为可编程接口和不可编程接口。按照电路和设备的复杂程度,主要分为I/O接口芯片和I/O接口控制卡。I/O接口的主要功能:I/O接口是处于主机与外设之间,用来协助完成数据传送和传送控制任务的一部分电路。为保障CPU与外部设备能有效地进行数据传送,接口必须具有如下各种功能:设置数据的寄存/缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;能够进行信息格式的转换,例如串行和并行的转换;能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;协调时序差异;地址译码和设备选择功能;设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。2.3.2I/O接口的典型结构2.3.3微机系统中I/O接口的编址

2.3.4CPU与I/O接口的数据传送方式1.无条件传送方式无条件传送方式也叫做延时方式,在确知外设的工作速度情况下,执行输入/输出指令之前,插入一段延时程序即可。2.程序查询方式在程序查询方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。3.中断处理方式在这种方式下,CPU不再被动等待,当外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。4.直接存储器存取(DirectMemoryAccess,DMA)方式DMA最明显的一个特点是它不是用软件而是采用一个专门的DMA控制器,来控制完成内存与外设之间高速的数据传送,数据传送期间CPU不参与,大大提高CPU的工作效率。本章结束第3章MCS-51单片机的硬件结构本章教学目标掌握MCS-51的内部结构掌握MCS-51存储器地址空间的分配掌握4个并行I/O端口的内部结构及应用特点掌握存储器和并行I/O口的扩展技术了解I/O接口的地址分配掌握单片机最小系统的组成了解读写操作时序了解单片机的低功耗工作方式本章主要内容3.1MCS-51单片机的组成3.2MCS-51的微处理器3.3MCS-51的存储器3.4单片机的并行输入/输出口3.5并行I/O端口的直接输入/输出3.6MCS-51单片机的片外总线结构3.7MCS-51单片机最小系统3.8CMOS型单片机的低功耗方式本章主要内容3.1MCS-51单片机的组成3.2MCS-51的微处理器3.3MCS-51的存储器3.4单片机的并行输入/输出口3.5并行I/O端口的直接输入/输出3.6MCS-51单片机的片外总线结构3.7MCS-51单片机最小系统3.8CMOS型单片机的低功耗方式3.1MCS-51单片机的组成3.1.1内部功能结构单片机主要部件有以下几个:一个8位的中央处理器(CPU)128字节数据存储器(RAM)4KB程序存储器(ROM/EPROM)4个并行输入/输出口(P0口-P3口)一个串行口2个可编程的16位定时器/计数器中断系统外部数据存储器和程序存储器扩展电路3.1.2引脚功能

1.MCS-51单片机的引脚

MCS-51单片机的封装有两种形式:一种是双列直插式PDIP(PLASTICDIP)封装的形式,另一种是方形封装形式PLCC(PLASTICLEADEDCHIPCARRIED),方形封装有44引脚,其中4个NC为空引脚。HMOS工艺的80C51单片机采用40引脚的PDIP封装,CHMOS工艺的单片机80C51除采用PDIP封装外,还采用PLCC封装形式。

40引脚PDIP封装的80C51单片机引脚排列图如图3-2所示。

2.MCS-51单片机的片外三总线结构所谓总线,就是连接单片机与系统中各部件的一组公共的信号线。3.1.3MCS-51系列单片机类型本章主要内容3.1MCS-51单片机的组成3.2MCS-51的微处理器3.3MCS-51的存储器3.4单片机的并行输入/输出口3.5并行I/O端口的直接输入/输出3.6MCS-51单片机的片外总线结构3.7MCS-51单片机最小系统3.8CMOS型单片机的低功耗方式3.2MCS-51的微处理器CPU由运算器、控制器和若干特殊功能寄存器(如累加器A、寄存器B、程序状态字寄存器PSW、堆栈指针寄存器SP、数据指针寄存DPTR等)组成。

1.运算器具有一般微机所不具备的位处理功能。

2.控制器以主振频率为基准产生时钟信号,控制取指令、执行指令、存取操作数或运算结果等操作,并向其它部件发出各种微控制信号,保证单片机各部分能自动协调地工作。3.2.1运算器用于实现算术和逻辑运算,主要包括:ALU(算术和逻辑运算单元)、ACC(累加器)、PSW(程序状态字)、寄存器B、布尔处理器、2个8位暂存器ALU:可对4位(半字节),8位(单字节)和16位(双字节)数据进行操作,数据来自两个暂存器。ACC:累加器,它是最繁忙的8位特殊功能寄存器,用A表示,累加器A是运算、处理时的暂存寄存器,用于提供操作数和存放运算结果。B:8位寄存器,作为乘除运算时的辅助寄存器,存放另一个操作数,并存放一部分结果。在不进行乘、除法运算的其他情况下,寄存器B可用做一般的寄存器或中间结果暂存器。PSW:8位程序状态字寄存器,用于存放指令执行后的状态信息,供程序查询和判别。PSW各位的定义如下:D7D6D5D4D3D2D1D0CyACF0RS1RS0OV-PCy:进位标志位。当指令运算结果的最高位产生进位或借位时置位(Cy=1),否则复位(Cy=0)。除此之外,Cy还在布尔处理器中作为位累加器使用,用“C”表示。AC:辅助进位标志,又称半字节进位标志位。在进行加法或减法运算中,当一个字节的低4位数向高4位数有进位或借位时,AC将被硬件置位,否则就被清零。AC常被用于BCD码运算时的十进制调整。F0:用户自定义标志。RS1,RS0:工作寄存器组选择控制位。OV:溢出标志。P:奇偶标志位。该位在每个指令周期期间都由硬件来置位或清零,以表示累加器A中1的位数的奇偶性:若A中1的位数为奇数,则P置位,否则清03.2.2控制器控制器主要包括:程序计数器(ProgramCounter,PC);程序地址寄存器;指令寄存器;指令译码器;条件转移逻辑电路;时序控制逻辑电路。控制取指令、执行指令、存取操作数或运算结果等操作。指令执行过程如下:1.单片机执行一条指令一般分为取指令和执行指令两个阶段。取指令:从存储器中取出指令,并且对指令进行译码,以明确该指令执行何种操作,以及操作数的存放地址(即操作数存放在哪一个单元中),再根据这个地址获取操作数,这是取指令阶段。执行指令:按操作码指明的操作类型对获取的操作数进行操作,这是执行指令阶段。2.程序计数器PC(ProgramCounter,PC)是一个16位的有自动加1功能的计数器。PC没有地址,是不可寻址的,因此用户不能对它进行读写。

16位PC中的内容总是CPU将要执行的那条指令所存放的存储单元的首地址。

在单片机复位时,PC中的内容为0000H,指向第1条要执行的指令的首地址,在CPU从存储单元取指令的过程中,每取1个字节的内容,程序计数器PC就自动加1,在取完这条指令后,PC中的内容就是下一条要执行的指令所存放的存储单元的首地址。3.在实际应用中,有时CPU还要执行程序的转移、子程序的调用和中断响应等操作,那时PC中的内容不再是上述情况中简单的加1,而是根据不同的情况自动地被置入或修改成新的目的地址,从而改变程序的执行顺序。本章主要内容3.1MCS-51单片机的组成3.2MCS-51的微处理器3.3MCS-51的存储器3.4单片机的并行输入/输出口3.5并行I/O端口的直接输入/输出3.6MCS-51单片机的片外总线结构3.7MCS-51单片机最小系统3.8CMOS型单片机的低功耗方式3.3MCS-51的存储器3.3.1MCS-51单片机存储器结构3.3.2MCS-51单片机的程序存储器3.3.3MCS-51单片机的数据存储器3.3.4片外存储器的扩展技术

3.3.1MCS-51单片机存储器结构

与通用微机不同,MCS-51单片机中存放程序的程序存储器和存放数据的数据存储器,在物理空间上是相互独立的哈佛结构。

MCS-51单片机的存储器在物理结构上可以分为片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。而对这些空间的管理,是分为3个逻辑地址空间进行的:片内片外统一编址的64KB程序存储器地址空间;片内独立编址的128B数据存储器地址空间;片外独立编址的64KB数据存储器地址空间。访问这3个不同的逻辑空间,要采用不同形式的指令。8051单片机存储器地址空间3.3.1程序存储器8051单片机系列有片内有程序存储器和片内无程序存储器之分,片内存储器的容量大小也有所不同。8051单片机片内设置有4K字节的掩膜型ROM,其地址范围为0000H~0FFFH,若片外扩展程序存储器,其地址范围为1000H~FFFFH。程序存储器的0000H~002AH共43个单元用作存储特定程序的入口地址。0000H~0002H这3个单元是系统的启动单元;0003H~002AH共40个单元是中断服务程序区,它被分为五段,每段8个单元,分别分配给5个中断源:0003H~000AH

外部中断0中断服务程序地址区;000BH~OO12H

定时/计数器0中断服务程序地址区;0013H~001AH

外部中断1中断服务程序地址区;001BH~0022H

定时/计数器1中断服务程序地址区;0023H~002AH

串行口中断服务程序地址区。程序存储器的预留单元

3.3.2数据存储器

MCS-51单片机数据存储器是RAM型存储器,用于暂存数据和运算结果等。MCS-51单片机数据存储器也可以分为片内数据存储器和片外数据存储器。当片内数据存储器不够用时,可扩展片外数据存储器。一般情况下,片外数据存储器的容量不超过64KB。与内、外部的程序存储器不同,内部和外部数据存储器空间存在重叠(内部RAM的地址范围为00H~FFH,外部RAM的地址范围为0000H~FFFFH),通过不同指令来区别。当访问内部RAM时,用MOV类指令;当访问外部RAM时,则用MOVX类指令,所以地址重叠不会造成操作混乱。一、内部数据存储器

MCS-51单片机的内部数据存储器空间共计256字节,在功能上有具体分为片内数据存储器与特殊功能寄存器区,它们统一编址,其中片内数据存储器共有128个字节,占用00H~7FH地址范围,特殊功能寄存器区占用80H~0FFH这段空间。片内数据存储器分成:(1)工作寄存器区(2)可位寻址区(3)通用RAM区(4)特殊功能寄存器区(I/O接口、CPU)00H20H2FH7FH1FH30H80HFFH特殊功能寄存器区(SFR)

普通RAM区位寻址区

工作寄存器区内部数据存储器地址空间地址1.片内数据存储器

工作寄存器区地址范围在00H~1FH的32个字节,可分成4个工作寄存器组,每组占8个字节。具体划分如下:

第0组工作寄存器:地址范围为00H~07H

第1组工作寄存器:地址范围为08H~0FH

第2组工作寄存器:地址范围为10H~17H

第3组工作寄存器:地址范围为18H~1FH每个工作寄存器组都有8个寄存器,它们分别称为R0、R1、R2、R3、R4、R5、R6、R7。但在程序运行时,只允许有一个工作寄存器组工作,把这组工作寄存器称为当前工作寄存器组,所以每组之间不会因为名称相同而混淆出错。

可通过对特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0的状态设置,来选择哪一组工作寄存器作为当前工作寄存器组。单片机复位时,当前工作寄存器默认为0组。2.片内数据存储器

位寻址区单片机片内RAM中20H~2FH地址范围中共16个字节单元称为位寻址区。该区的16个字节单元,既可作为一般的RAM使用,进行字节操作,也可以对单元中的每一位进行位操作。16个字节单元共128位,每位有位地址,位地址范围是00H~7FH。位地址表

3.片内RAM数据

堆栈和通用数据区

单片机片内RAM中,地址30H--7FH的80个单元只能以字节存储单元的形式来使用,没有其它任何规定或限制,用户可以根据需要自由安排所以称它为通用RAM区。该区域中的单元可以用直接寻址、寄存器间接寻址等方式按字节访问。

堆栈就是设在单片机内部RAM中,遵循先进后出存储原则的一片连续的存储区域。堆栈及其存储特性堆栈的概念堆栈是在单片机内部RAM中从某个选定的存储单元开始划定的一个地址连续的区域,这个区域本身没有任何特殊之处,它就是内部RAM的一部份,不同的是这个区域以选定的某个存储单元作为栈底,只允许向一个方向写入数据,最后一个写入数据的存储单元称为栈顶。堆栈的生成有两种情况,向高地址方向写入数据生成的堆栈称为向上生长型堆栈,反之称为向下生长型堆栈,MCS-51单片机属于向上生长型堆栈(即向高地址方向生成)。数据写入堆栈为插入运算(PUSH),通常称为入栈,数据从堆栈中读出为删除运算(POP),通常称为出栈,按堆栈的规定,入栈和出栈只能在栈顶一端进行。MCS-51单片机中,用一个称为堆栈指针SP(StackPointer)的特殊功能寄存器来给出栈顶存储单元的地址,堆栈指针SP中存储的总是堆栈栈顶存储单元的地址,即堆栈指针SP总是指向堆栈栈顶。向上生长型堆栈出栈入栈的操作原则是“先进后出”或“后进先出”。入栈操作规则为:先SP中的内容加1,后写入数据;

出栈操作规则为:先读出数据,后SP中的内容减1。系统复位后,

温馨提示

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

评论

0/150

提交评论