第二章课件1MCS-51系列单片机的结构和时序.ppt

上传人(卖家):晟晟文业 文档编号:4315789 上传时间:2022-11-29 格式:PPT 页数:40 大小:557KB
下载 相关 举报
第二章课件1MCS-51系列单片机的结构和时序.ppt_第1页
第1页 / 共40页
第二章课件1MCS-51系列单片机的结构和时序.ppt_第2页
第2页 / 共40页
第二章课件1MCS-51系列单片机的结构和时序.ppt_第3页
第3页 / 共40页
第二章课件1MCS-51系列单片机的结构和时序.ppt_第4页
第4页 / 共40页
第二章课件1MCS-51系列单片机的结构和时序.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、第第2章章 MCS-51系列单片机的系列单片机的结构和时序结构和时序2.1 MCS-512.1 MCS-51系列单片机的结构与引脚系列单片机的结构与引脚2.2 MCS-512.2 MCS-51系列单片机的存储器结构系列单片机的存储器结构2.3 MCS-512.3 MCS-51系列单片机的时钟电路和时序系列单片机的时钟电路和时序2.4 MCS-512.4 MCS-51系列单片机的复位与掉电处理系列单片机的复位与掉电处理 本章小结本章小结本章重点:本章重点:了解了解5151系列单片机基本结构;系列单片机基本结构;掌握掌握5151系列单片机的引脚名称及功能;系列单片机的引脚名称及功能;掌握存储器(内

2、掌握存储器(内RAMRAM)结构;)结构;掌握掌握PSWPSW寄存器各位名称及功能;寄存器各位名称及功能;掌握复位后掌握复位后PCPC、SPSP、PSWPSW的状态。的状态。http:/ 2.1 MCS-51单片机的基本结构和引脚单片机的基本结构和引脚 MCS-51是美国是美国Intel公司的公司的8位高档单片机系列,位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。也是我国目前应用最为广泛的一种单片机系列。8051/80C51是整个是整个MCS-51系列单片机的核心。系列单片机的核心。MCS51的典型产品有:的典型产品有:8031、8051、8751、89C51。8031片内片内无

3、无ROM程序存储器;程序存储器;8051片内片内有有4KB ROM程序存储器;程序存储器;8751片内有片内有4KB EPROM程序存储器;程序存储器;89C51片内有片内有4KB FLASH E2PROM程序存储器。除此之外,四者的内部结程序存储器。除此之外,四者的内部结构及引脚完全相同。构及引脚完全相同。2.1.1 MCS51单片机的内部结构单片机的内部结构80518051单片机的功能框图如图单片机的功能框图如图2-12-1所示,可以看出,所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:它包括以下几部分:l1 1个个

4、8 8位微处理器位微处理器(CPU)(CPU)。l4KB4KB程序存储器(程序存储器(ROM)ROM)。l256B256B数据存储器数据存储器(RAM)(RAM)。l4 4个个8 8位并行位并行I/OI/O接口接口P0P0P3P3。l1 1个全双工串行个全双工串行I/OI/O接口接口l2 2个个1616位定时位定时/计数器计数器T0T0和和T1T1。l64KB64KB扩展总线控制电路。扩展总线控制电路。l5 5个中断源,其中包括个中断源,其中包括2 2个优先级嵌套中断。个优先级嵌套中断。图2-1 8051单片机功能框图 振荡器和 时序 OSC 程序存储器 4KB ROM 数据存储器 256B

5、RAM 定时/计数器 2 个 16 位 8051 CPU 64KB 总线 扩展控制器 并行 I/O 接口 4 个 串行 I/O 接口 1 个 内 部 总 线 内中断 外中断 控制 P0 P1 P2 P3 串行输出 串行输入 外部时钟源 外部事件计数 MCS51系列单片机的内部结构框图如图系列单片机的内部结构框图如图2-2所示。所示。MCS51单片机组成结构中包含单片机组成结构中包含运算器运算器、控控制器制器、片内存储器片内存储器、并行并行I/O口口、串行串行I/O口口、定时定时/计数器计数器、中断系统中断系统、振荡器振荡器等功能部等功能部件。件。图中图中:PSW是程序状态字寄存器是程序状态字寄

6、存器,PC是程序计是程序计数器数器,SP是堆栈指针寄存器,是堆栈指针寄存器,DPTR是数据是数据指针寄存器。指针寄存器。2.1.2 MCS51单片机的内部组成介绍单片机的内部组成介绍图2-2 8051单片机内部结构图 RAM 地址寄存器 寄存器 RAM 128B RAM 程序地址 寄存器 P0 驱动器 P2 锁存器 P2 驱动器 P1 锁存器 暂存器 2 B 寄存器 4KB ROM 暂存器 1 ACC SP P0 锁存器 PC PC 增 1 缓冲器 P3 锁存器 OSC 中断、串行口及定时器 PSW ALU DPTR P1 驱动器 P3 驱动器 XTAL1 XTAL2 P0.0P0.7 P2.

7、0P2.7 P3.0P3.7 P1.0P1.7 RST ALE VCC VSS 定时控制 指令译码器 指令寄存器 PSEN EA 2.1.2 MCS-51系列单片机内部主要组成部分介绍系列单片机内部主要组成部分介绍1中央处理器(中央处理器(CPU)(1 1)运算器)运算器 运算器由运算器由ALUALU(算术及逻辑运算单元)、(算术及逻辑运算单元)、A A(累加器)、(累加器)、B B寄存器、寄存器、PSWPSW(程序状态字寄存器)和暂存器等组成,主要功能用于实现算术(程序状态字寄存器)和暂存器等组成,主要功能用于实现算术运算和逻辑运算。运算和逻辑运算。它的主要任务是完成算术运算、逻辑运算、位运

8、它的主要任务是完成算术运算、逻辑运算、位运算和数据传送等操作,运算结果的状态由程序状态寄存器算和数据传送等操作,运算结果的状态由程序状态寄存器(PSW)保保存。存。(2 2)控制器)控制器 控制器由程序计数器控制器由程序计数器PCPC、指令寄存器、指令译码器、指令寄存器、指令译码器、堆栈指针堆栈指针SPSP、数据指针、数据指针DPTRDPTR、定时与控制逻辑电路等组、定时与控制逻辑电路等组成。成。控制器电路完成指挥控制工作,协调单片机各部分正常工作。控制器电路完成指挥控制工作,协调单片机各部分正常工作。http:/CPUCPU的主要功能是产生各种控制信号以控制存储器、输入的主要功能是产生各种控

9、制信号以控制存储器、输入/输出端口输出端口的数据传送、数据的算术运算和逻辑运算以及位操作处理。的数据传送、数据的算术运算和逻辑运算以及位操作处理。MCS-51单片机的单片机的CPU能处理能处理8位二进制数或代码。位二进制数或代码。从功能分:运算器、控制从功能分:运算器、控制器。器。(2)控制器)控制器执行一条指令的过程:执行一条指令的过程:先从程序存储器(先从程序存储器(ROM)中读出指令,送)中读出指令,送到指令寄存器保存,然后送到指令译码器进到指令寄存器保存,然后送到指令译码器进行译码,再送到系统的各部分进行相应的操行译码,再送到系统的各部分进行相应的操作以完成指令所规定的功能。作以完成指

10、令所规定的功能。1)程序计数器程序计数器PC:程序计数器:程序计数器PC(16位的计数器位的计数器)。用于存放。用于存放CPU下一下一条要执行的指令地址,是一个条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是位的专用寄存器,可寻址范围是0000HFFFFH,共,共64 KB。程序中的每条指令存放在程序中的每条指令存放在ROM区的某些单元,都有自己的存放地址。区的某些单元,都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在单元的地址送到地址总线。在要执行哪条指令时,就把该条指令所在单元的地址送到地址总线。在顺序执行程序中,当顺序执行程序中,当PC的内容被送到地址总线后,会自动

11、加的内容被送到地址总线后,会自动加1,即,即(PC)(PC)1,又指向,又指向CPU下一条要执行的指令地址。改变下一条要执行的指令地址。改变PC的内容,的内容,就可以改变程序的流向。就可以改变程序的流向。注:注:PC没有地址,是不可寻址的,因此用户无法对它进没有地址,是不可寻址的,因此用户无法对它进行直接读写。但可以通过转移、调用、返回等指令改变其内容,行直接读写。但可以通过转移、调用、返回等指令改变其内容,实现程序的转移。实现程序的转移。2)指令寄存器)指令寄存器:指令寄存器是一个:指令寄存器是一个8位的寄存器,位的寄存器,用于暂存待执行的指令代码,等待译码。用于暂存待执行的指令代码,等待译

12、码。(2)控制器)控制器http:/8051单片机中共有单片机中共有256个个RAM单元,包括低单元,包括低128个单个单元(地址为元(地址为00H7FH)的内部)的内部RAM区和高区和高128B(地(地址为址为80HFFH)的特殊功能寄存器区。)的特殊功能寄存器区。8051单片机共有单片机共有4KB的内部的内部ROM,用于存放程序或,用于存放程序或表格,称为程序存储器。表格,称为程序存储器。2.内部数据存储器内部数据存储器3.内部程序存储器内部程序存储器http:/P0-P3四个四个双向双向的的8位并行位并行I/O口,每个端口可以按字口,每个端口可以按字节输入或输出,每一条节输入或输出,每一

13、条I/O线也可以单独用作输入或线也可以单独用作输入或输出。输出。8051片内有一个全双工的串行口,以实现单片机和片内有一个全双工的串行口,以实现单片机和其他设备之间的串行数据传送。其他设备之间的串行数据传送。4I/O端口端口5串行口串行口http:/ 8051带有带有2个个16位的计数器,既可以作为定时器用于位的计数器,既可以作为定时器用于对被控系统进行定时控制,也可以作为计数器用于产对被控系统进行定时控制,也可以作为计数器用于产生各种不同频率的矩形波及用于测量脉冲宽度等。生各种不同频率的矩形波及用于测量脉冲宽度等。8051单片机有单片机有5个中断源,个中断源,2个中断优先级。个中断优先级。6

14、定时定时/计数器计数器7中断控制系统中断控制系统http:/2.1.3 MCS-51系列单片机的引脚系列单片机的引脚http:/2.1.3 MCS-51系列单片机的引脚系列单片机的引脚4.并行并行I/O端口端口注:注:I/O口管脚的第二功能口管脚的第二功能 http:/表表2-1 P02-1 P0、P2P2、P3P3口的第二功能口的第二功能http:/总结单片机的工作原理总结单片机的工作原理 单片机执行程序的过程,就是逐条执行指令的过单片机执行程序的过程,就是逐条执行指令的过程。单片机每执行一条指令都可分为三个阶段,程。单片机每执行一条指令都可分为三个阶段,即即取指令取指令分析指令分析指令执行

15、指令执行指令。取指令取指令的任务是根据程序计数器的任务是根据程序计数器PCPC中的值从程序中的值从程序存储器读出下一条要执行的指令,送到指令寄存存储器读出下一条要执行的指令,送到指令寄存器。器。分析指令分析指令的任务是将指令寄存器中的指令操的任务是将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。接下来,就是要求操作数,则寻找操作数地址。接下来,就是执行指令执行指令。单片机中的程序一般事先都已通过写入器单片机中的程序一般事先都已通过写入器(编程器编程器)固化在片内或片外程序存储器中,因而一开机即固化在片内或片

16、外程序存储器中,因而一开机即可执行指令。可执行指令。2.2 MCS-51系列单片机的存储器结构系列单片机的存储器结构MCS-51MCS-51单片机内部有程序存储器和数据存储器两大类。单片机内部有程序存储器和数据存储器两大类。l程序存储器:用于存放程序和常数。程序存储器:用于存放程序和常数。ROMROM类存储器类存储器(4KB4KB,但,但80318031片内无片内无ROMROM)l数据存储器:数据存储器:MCS-51MCS-51系列单片机的数据存储器(采用系列单片机的数据存储器(采用8 8位二位二进制数寻址),用于存放中间结果或暂存数据,部分单元作进制数寻址),用于存放中间结果或暂存数据,部分

17、单元作为特殊功能寄存器。为特殊功能寄存器。RAMRAM类存储器类存储器http:/l 在物理结构上分为四个存储空间在物理结构上分为四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。片外数据存储器。l 从逻辑上分为三个存储器地址空间从逻辑上分为三个存储器地址空间:片内、片外统一编址的片内、片外统一编址的64KB程序存储器地址空间程序存储器地址空间0000HFFFFH;64KB的外部数据存储器或扩展的外部数据存储器或扩展I/O口地址空间口地址空间0000HFFFFH;256B的片内数据存储器地址空间的片内数据存储器地址空间

18、00HFFH(包括(包括低低128B的内部的内部RAM地址地址00H7FH和高和高128B的特殊功的特殊功能寄存器地址空间)。能寄存器地址空间)。http:/存储空间分布图 片内外统一寻址的片内外统一寻址的64KB64KB程序存储器空间,地址范围为程序存储器空间,地址范围为0000H0000HFFFFHFFFFH。64KB64KB的片外数据存储器空间,地址范围也为的片外数据存储器空间,地址范围也为0000H0000HFFFFHFFFFH。256B256B的片内数据存储器空间,地址范围为的片内数据存储器空间,地址范围为00H00HFFHFFH。0000H 7FH 00H 80H FFH 0FFF

19、H 0FFFH 0000H 0000H EA0 FFFFH SFR RAM EA1 ROM 4KB FFFFH 64KB ROM RAM 64KB(I/O)RAM 片内存储器 1000H 片外扩展存储器 注:注:CPU访问程序存储器用访问程序存储器用MOVC指令指令2.2.1 2.2.1 程序存储器程序存储器ROMROM程序存储器程序存储器ROMROM用来存放用来存放程序程序、常数常数或或表格表格等。等。在在80518051中,其存储空间分布如下:中,其存储空间分布如下:l片内有片内有4KB4KB的的ROMROM存储单元,地址为存储单元,地址为0000H0000H0FFFH0FFFH。l片外最

20、多可扩至片外最多可扩至64KB64KB的的ROMROM,地址为,地址为1000H1000HFFFFHFFFFH。l内部内部ROMROM和外部和外部ROMROM统一编址。统一编址。当当EAEA引脚接引脚接高电平高电平时,时,CPUCPU将首先访问片内将首先访问片内ROMROM,当指令地址,当指令地址超过超过0FFFH0FFFH时,自动转向片外时,自动转向片外ROMROM取指令。取指令。当当EAEA引脚接引脚接低电平低电平时,时,CPUCPU只访问片外只访问片外ROMROM。片外。片外ROMROM的地址从的地址从0000H0000H开始编址。对于开始编址。对于80318031,由于其片内无,由于其

21、片内无ROMROM,所以使用时,所以使用时必须使必须使EAEA接低电平,以便能够从片外扩展的接低电平,以便能够从片外扩展的EPROMEPROM中取指令。中取指令。CPU总是按程序计数器总是按程序计数器PC(16位)的指示读取程序。位)的指示读取程序。PC可可自动加自动加1。因此。因此CPU执行程序一般是顺序方式。当发生转移、执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,子程序调用、中断和复位等操作,PC被强制改写,程序执行被强制改写,程序执行顺序也发生改变。顺序也发生改变。复位时,复位时,PC=0000H,所以所以CPU总是从总是从0000H开始执行程序。开始执行程序。2.

22、2.12.2.1程序存储器程序存储器ROMROM外部外部ROM60KB内部内部ROM4KBEA1外部外部ROM4KBEA0FFFFH1000H0FFFH0000H0FFFH0000H注:注:CPU访问程序访问程序存储器用存储器用MOVC指指令令http:/2.2.1 2.2.1 程序存储器程序存储器ROMROM在程序存储器中,以下在程序存储器中,以下6 6个单元具有特殊含义。个单元具有特殊含义。2.2.2 2.2.2 数据存储器数据存储器RAMRAM 数据存储器数据存储器RAMRAM主要用来存放运算的主要用来存放运算的中间结果中间结果和和数数据据等。等。数据存储器分内部存储器和外部存储器两个独

23、立部分:数据存储器分内部存储器和外部存储器两个独立部分:C51C51扩展扩展64KB64KB(地址范围为(地址范围为0000H0000HFFFFHFFFFH)外部数)外部数据存储器和外部据存储器和外部I/OI/O端口,两者统一编址。端口,两者统一编址。l片内片内RAMRAM为为256B256B存储单元,地址范围为存储单元,地址范围为00H00HFFHFFH。片内片内RAMRAM地址空间共有地址空间共有256B256B,又分为两个部分:,又分为两个部分:l低低128B(00H128B(00H7FH)7FH)为为真正的真正的RAMRAM区区,如图,如图2-52-5所示所示。l高高128B(80H1

24、28B(80HFFH)FFH)为为特殊功能寄存器特殊功能寄存器(SFR)(SFR)区,如区,如表表2-52-5所示所示。图2-5 片内RAM地址空间 7FH30H2FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H2726252

25、42322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H07060504030201001FH18H第第3组工作寄存器组工作寄存器(R0R7)17H10H第第2组工作寄存器组工作寄存器(R0R7)0FH08H第第1组工作寄存器组工作寄存器(R0R7)07H00H第第0组工作寄存器组工作寄存器(R0R7)工作寄存器工作寄存器区区位寻址区位寻址区用户用户RAM区区(堆栈、数据缓冲堆栈、数据缓冲区区)图2-5 SFR中位地址分布表 SFRMSB位地址位地址/位定义位定义LSB字节地址字节地址BF7F6F5F4F3F2F

26、1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HCYACF0RS1RS0OV-PIPBFBEBDBCBBBAB9B8B8H-PSPT1PX1PT0PX0P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0IEAFAEADACABAAA9A8A8HEA-ESET1EX1ET0EX0P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRIP19796959

27、49392919090HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0TCON8F8E8D8C8B8A898888HTF1TR1TF0TR0IE1IT1IE0IT0P0878685848382818080HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.02.2.2 2.2.2 数据存储器数据存储器特殊功能特殊功能寄存器寄存器128B内部内部RAM128B外部外部RAM64KBFFH80H7FH00HFFFFH0000H注注1:用:用MOV指令读写指令读写注注2:用:用MOVX指令读写指令读写http:/l内部数据存储器内部数据存储器FFH80H7FH30H2F

28、H20H1FH00H特殊功能寄存器特殊功能寄存器SFR通用通用RAM区区位寻址区位寻址区通用寄存器区通用寄存器区http:/1.通用寄存器区通用寄存器区通用寄存器区共分通用寄存器区共分4个区,每个区个区,每个区有有8个单元,每个区的个单元,每个区的8个单元从低个单元从低地址到高地址分别命名为地址到高地址分别命名为R0R7。复位后当前工作寄存器区为复位后当前工作寄存器区为0区,区,可以通用对可以通用对PSW中的中的RS1、RS0的的设置改变当前工作寄存器区。设置改变当前工作寄存器区。RS1 RS0 被选寄存器组被选寄存器组 0 0 0区区 0 1 1区区 1 0 2区区 1 1 3区区R7R0R

29、7R0R7R0R7R6R5R4R3R2R1R01FH1FH|18H18H17H17H|10H10H0FH0FH|08H08H07H07H06H06H05H05H04H04H03H03H02H02H01H01H00H00H3区2区1区0区http:/2.位寻址区位寻址区 字节地址为字节地址为20H2FH,既可作,既可作RAM,也可位操作,也可位操作 共有共有16个个RAM单元,每个单元有单元,每个单元有8位,共位,共128位,位地址为位,位地址为00H7FH。位地址区的各位可以单独作为软件触发器,由位操作指令位地址区的各位可以单独作为软件触发器,由位操作指令直接对他们置位、清零、取反等操作。直接

30、对他们置位、清零、取反等操作。每位地址两种表示形式:一种以位地址的形式表示,看表每位地址两种表示形式:一种以位地址的形式表示,看表2-4,如,如20H单元的单元的D0位可以表示位可以表示00H,DI位可以表示为位可以表示为01H;另一种是以字节地址加第几位的形式来表示,比如同样另一种是以字节地址加第几位的形式来表示,比如同样20H单元的单元的D0位还表示为位还表示为20H.0注意:虽然位地址和字节地址的表现形式可以一样,但注意:虽然位地址和字节地址的表现形式可以一样,但因为位操作与字节操作的指令不同,所以不会混淆。因为位操作与字节操作的指令不同,所以不会混淆。http:/2.位寻址区位寻址区

31、表表2-4字节字节地址地址位地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00Hhttp:/也称用户也称用户RAMRAM区。在该区域内,只能进行区。在该区域内,只能进行字节寻址字节寻址。A A、堆栈指针操作是在内存堆栈指针操作是在内存RAM区中专门开辟出来的按照区中专门开辟出来的按照“先进后出先进后出,后进先出后进先出”的原则进行数据存取

32、的一种工作的原则进行数据存取的一种工作方式方式,这个存储器区域的一端是固定的,另一端是活动的,这个存储器区域的一端是固定的,另一端是活动的,每个存储单元是不能按字节任意访问的每个存储单元是不能按字节任意访问的。主要用于子程序主要用于子程序调用及返回和中断断点处理的保护及返回,在完成子程序调用及返回和中断断点处理的保护及返回,在完成子程序嵌套和多重中断处理中是必不可少的。嵌套和多重中断处理中是必不可少的。B、堆栈专门指令:数据压入堆栈(堆栈专门指令:数据压入堆栈(PUSH)PUSH)或数据弹出堆栈或数据弹出堆栈(POPPOP)。)。在使用堆栈之前,应规定堆栈的起始位置(固在使用堆栈之前,应规定堆

33、栈的起始位置(固定端),称为栈底。堆栈最后压入或即将弹出数据的单元定端),称为栈底。堆栈最后压入或即将弹出数据的单元(活动端),称栈顶。(活动端),称栈顶。http:/3 通用通用RAMRAM区(区(30H-7FH)30H-7FH):堆栈堆栈C.不管入栈和出栈都是针对栈顶单元的数据不管入栈和出栈都是针对栈顶单元的数据进行操作,为此设置堆栈指示器进行操作,为此设置堆栈指示器SP(8位)位)来指示栈顶地址,即来指示栈顶地址,即SP的内容就是堆栈栈的内容就是堆栈栈顶的字节地址。顶的字节地址。SP是个是个8位位特殊功能寄存特殊功能寄存器。器。SP始终指向栈顶,栈顶随数据入栈和出栈始终指向栈顶,栈顶随数

34、据入栈和出栈上下浮动。上下浮动。D.D.复位时复位时 SP=07HSP=07H例如例如:假设假设SP当前值为当前值为2FH,则入栈指令,则入栈指令“PUSH B”将将寄存器寄存器B内容压入堆栈的执行过程如图内容压入堆栈的执行过程如图2-6所示。所示。出栈指令出栈指令“POP B”指令的执行过程如图指令的执行过程如图2-7所示。所示。数据入栈的操作过程为:先将数据入栈的操作过程为:先将SP加加1,即,即(SP)(SP)1,然后将要入栈的数据存放在,然后将要入栈的数据存放在SP指指定的存储单元中。定的存储单元中。而将数据从堆栈中弹出时,先将而将数据从堆栈中弹出时,先将SP寄存器指定的寄存器指定的存

35、储单元内容传送到存储单元内容传送到POP指令给定的寄存器或内指令给定的寄存器或内部部RAM单元中,然后单元中,然后SP减减1,即,即(SP)(SP)1。可以看出堆栈的底部是固定的,而堆栈的顶部则可以看出堆栈的底部是固定的,而堆栈的顶部则随着数据入栈和出栈而上下浮动。随着数据入栈和出栈而上下浮动。数据入栈和出栈数据入栈和出栈(a)PUSH B指令执行前;指令执行前;(b)SP加加1;(c)寄存器寄存器B存入存入SP指定的单元中指定的单元中图图2-6 PUSH B指令的执行过程指令的执行过程(a)POP B指令执行前;指令执行前;(b)出栈时的指针;出栈时的指针;(c)出栈后的指针出栈后的指针图图

36、2-7 POP B指令的执行过程指令的执行过程4.4.特殊功能寄存器特殊功能寄存器l 2121个个SFRSFR的地址离散地分部在内部数据存储器的的地址离散地分部在内部数据存储器的80H80HFFHFFH地地址空间。址空间。l SFRSFR占用占用2121个单元,其余的大部分是空余单元,它们没有定个单元,其余的大部分是空余单元,它们没有定义不能作内部义不能作内部RAMRAM使用使用。l 有有1111个个SFRSFR具有位地址,可以进行位寻址,对应的位也有位具有位地址,可以进行位寻址,对应的位也有位名称,它们的字节地址正好能被名称,它们的字节地址正好能被8 8整除。整除。http:/4.4.特殊功

37、能寄存器特殊功能寄存器1 1)累加器)累加器ACCACC:最常用的:最常用的8 8位特殊功能寄存器,大部分指令位特殊功能寄存器,大部分指令的操作数取自于的操作数取自于ACCACC,许多运算结果也存放在,许多运算结果也存放在ACCACC中。中。A A是是累加器累加器ACCACC的助记符。的助记符。2 2)B B寄存器:一个寄存器:一个8 8位寄存器,主要用于乘法和除法操作。位寄存器,主要用于乘法和除法操作。在其他指令中,作为一般的内部在其他指令中,作为一般的内部RAMRAM使用。使用。3 3)程序状态字寄存器)程序状态字寄存器PSWPSW:一个:一个8 8位的寄存器,用于存放程位的寄存器,用于存

38、放程序运行中的各种状态信息。序运行中的各种状态信息。CyACF0RS1 RS0OVPPSWhttp:/Cy:Cy:进位标志位。进位标志位。在进行加(或减)法运算时,若在进行加(或减)法运算时,若操作结果的最高位(操作结果的最高位(D7D7位)有进位(或借位)时,位)有进位(或借位)时,Cy=1;Cy=1;否则否则Cy=0Cy=0。AC:AC:辅助进位标志位。辅助进位标志位。在进行加(或减)运算时,在进行加(或减)运算时,若操作结果的低半字节(若操作结果的低半字节(D3D3位)向高半字节产生位)向高半字节产生进位(或借位)时,进位(或借位)时,AC=1;AC=1;否则否则AC=0AC=0。F0F

39、0:用户标志位。:用户标志位。RS1RS1、RS0RS0:当前工作寄存器区选择位当前工作寄存器区选择位。http:/ OVOV:溢出标志位。:溢出标志位。当进行补码运算时,运算结果超出当进行补码运算时,运算结果超出-128128127127范围时,即溢出,则范围时,即溢出,则OV=1OV=1;没有溢出,则;没有溢出,则OV=0OV=0。出现下列情况即为溢出(运算后出现下列情况即为溢出(运算后OVOV1 1):正数加正数为):正数加正数为负数;负数加负数为正数;正数减负数为负数;负数减正负数;负数加负数为正数;正数减负数为负数;负数减正数为正数;乘法时结果数为正数;乘法时结果B0B0;除法运算时

40、除数为;除法运算时除数为0 0。P P:奇偶校验标志位。:奇偶校验标志位。每条指令执行完后,该位始终跟踪每条指令执行完后,该位始终跟踪累加器累加器A A中中1 1的数目的奇偶性。如果的数目的奇偶性。如果A A中有奇数个中有奇数个1 1,则,则P P1 1;否则否则P P0 0。http:/【例】若【例】若A96H,R0=84H,执行执行A+R0 A后,判断后,判断Cy、AC、OV、P的状态。的状态。解:执行该指令解:执行该指令 A 96H +84H A 1AH0001 1010B 最高位向前有进位最高位向前有进位Cy=1,低四位向高四位无进位低四位向高四位无进位AC=0,负数加负数为正数负数加

41、负数为正数OV=1,A中中“1”的个数为奇数的个数为奇数P=1【例】若【例】若A36H,执行,执行ADD A,#3BH后,则:后,则:A71H,Cy=0,AC=1,OV=0,P=0负数负数负数负数正数正数Why?http:/4 4)堆栈指针)堆栈指针SPSP:用于存放当前堆栈操作的单元地址,并根用于存放当前堆栈操作的单元地址,并根据入栈指令(据入栈指令(PUSHPUSH)或出栈指令()或出栈指令(POPPOP)修改其内容,)修改其内容,SPSP始终指向栈顶。始终指向栈顶。系统复位后,系统复位后,SPSP初始化为初始化为07H07H。5 5)数据指针)数据指针DPTRDPTR:DPTRDPTR可

42、以作为一个可以作为一个1616位位SFRSFR使用,也可以使用,也可以作为两个独立的作为两个独立的8 8位寄存器位寄存器DPHDPH和和DPLDPL来使用,其中来使用,其中DPHDPH为为8 8位,位,DPLDPL为低为低8 8位。位。如:如:DPHDPH34H34H,DPLDPLA6H,A6H,则则DPTRDPTR34A6H34A6H。6 6)I/OI/O端口锁存器端口锁存器P0P0P3P3:P0P0P3P3为四个为四个8 8位的特殊功能寄位的特殊功能寄存器,它们有字节地址和位地址。当存器,它们有字节地址和位地址。当I/OI/O端口某一位用于端口某一位用于输入时,必须在相应口锁存器的对应位先写入输入时,必须在相应口锁存器的对应位先写入1 1。7 7)其它的其它的SFRSFR有:有:TMODTMOD、TCONTCON、T0T0(TH0TH0和和TL0TL0组成)、组成)、T1T1(由(由TH1TH1和和TL1TL1组成)、组成)、IEIE、IPIP、SCONSCON、SBUFSBUF、PCONPCON等。等。http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第二章课件1MCS-51系列单片机的结构和时序.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|