第三章 MCS-51存储器组织.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS-51单片机设置的是向上生长型堆栈。数据写入堆栈叫入栈(PUSH指令),数据从堆栈中读出叫出栈(POP指令)。按堆栈的规定,入栈和出栈只能在堆栈的一端按“先入后出、后入先出”的原则进行,因此,向上生长型堆栈栈顶存储单元的地址必定随着数据的入栈而递增,随着数据的出栈而递减。向上生长型堆栈如下图2-8所示。 第三章 MCS-51存储器组织(P20) MCS-51系列单片机的存储器组织结构如图所示。 一、程序存储器(P21) 程序存储器用于存放单片机工作时的程序。 单片机工作时先由用户编制好程序和表格常数,并把它存放到程序存储器中,然后在控制器的控制下,依次从程序存储器中取出指令送到CPU中执行,实现相应的功能。为此设有一个程序计数器PC,用以存放要执行的指令的地址。 程序计数器PC具有自动计数的功能,每取出一条指令,它的内容会自动加1,以指向下一条要执行的指令,从而实现从程序存储器中依次取出指令的功能。 由于MCS-51单片机的程序计数器PC为16位寄存器,因此程序存储器最大地空间为64KB 对于有内部程序存储器的单片机,当需要扩展程序存储器时,可通过 引脚来选择内外程序存储器。 例如,8051/8751型单片机有4KB内部程序存储器,编址为0000H~0FFFH。当 引脚接高电平时,片内、片外程序存储单元统一编址,外部程序存储器从1000H开始编址。PC按先片内、后片外的顺序取指,当PC值大于0FFFH时,CPU自动转到片外程序存储器。当引脚接低电平时,单片机只执行片外程序存储器中的程序,此时外部程序存储器单元从0000H开始编址。对于不带ROM或EPROM的80C31、80C32单片机来说,引脚一律接低电平。 扩充的外程序存储器与 MCS-51的连接电路如图示。 二、内部数据存储器(P22) MCS-51系列单片机的内部数据存储器由读写存储器RAM组成,用于存储数据。它由内部数据存储器RAM块和特殊功能寄存器(SFR)块组成。 128个字节数据存储器,内部RAM的编址为00H-7FH。不同的地址区域,其功能不完全相同。 7FH 数据缓冲区 30H 2FH 位寻址区00-7FH 20H 1FH 工作寄存器区3 R0-R7 18H 17H 工作寄存器区2 R0-R7 10H 0FH 工作寄存器区1 R0-R7 08H 07H 工作寄存器区0 R0-R7 00H 内部数据存储器RAM块共分为工作寄存器区、位寻址区和数据缓冲区3个部分。 1.寄存器区 工作寄存器区(00H~1FH单元)共分4个组, 每组有8个工作寄存器(R0~R7)共32个内部RAM单元。 工作寄存器和数据存储器统一编址。当前程序使用的工作寄存器是由程序状态字PSW的3、4位确定的。PSW的状态和工作寄存器区对应关系为: PSW.4 PSW.3 当前使用的工作寄存器区 0 0 0 区 0 1 1 区 1 0 2 区 1 1 3 区 这样,虽然汇编指令中使用的的工作寄存器还是 R0~R7,但这些工作寄存器对应的地址单元已发生了变化。这个特点使MCS-51单片机具有快速现场保护功能, 对于提高程序的效率和响应中断的速度是很有利的。若程序中并不需要要全部的工作寄存器组, 那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用 2.位寻址区 内部RAM的20H-2FH为位寻址区,这16个单元的每一位有一个8位地址,可由程序直接进行位处理。位寻址区的RAM单元也可作为一般存储单元使用。 它具有有双重寻址功能,既可以进行位寻址操作,也可以同普通RAM 单元一样按字节寻址操作。16 个字节共有128 位,每一位都有相对应的位地址,位地址范围从00H~7FH(见表2-4)。例如,21H单元的第0位对应的位地址为08H,21H单元的第7位对应的位地址为0FH。 MCS-51能对位地址空间中的位直接寻址,执行置 位、清“0”、取反等操作。 3.数据缓冲区 30H~7FH是数据缓冲区(又称用户RAM区)共80个单元。对于52子系列,数据缓冲区从30H~FFH单元,共208个单元。另外,通用寄存器组区和位寻址区中未用的单元也可作为用户数据缓冲区使用。数据缓冲区用于存放中间结果,或设定为堆栈工作区。 4.堆栈区 设置堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护和恢复。堆栈就是在单片机内部RAM中,从某个选定的存储单元开始划定的一个地址连续的区域。这个区域本身没有任何特殊之处,不同之处是这个区域以选定的

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档