0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解51单片机的存储器组织结构

j4AI_wujianying 来源:lq 2019-02-27 15:53 次阅读

程序存储器:

① 用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息),还包括初始化代码等固件。

② 为只读存储器。注意,这里的“只读”,是指单片机(CPU)在正常工作时对其的访问方式是只读的;而现在大多数单片机的程序存储器(不管是内部还是外部)都采用了FLASH ROM,来取代以前所用的ROM、E2PROM等,可方便地进行在线编程(ISP)。

③ 标准8051的内部程序存储器大小为4KB(0x0000 ~ 0x0FFF);而具体的51核的兼容单片机的内部ROM大小需要参考其Datasheet,例如P89C51RA2xx的内部程序存储器是8K的Flash。

④ 内部、外部存储器统一编址,在软件设计上(指令系统中)没有差别;是否使用外部程序存储器是通过引脚EA在硬件电路上控制的:不使用外部程序存储器时,EA=0(接地);如果扩展了外部程序存储器,则使EA=1,当寻址到内部存储空间以外时,会自动转向外部程序存储器空间(与扩展外部程序存储器有关的还有PSEN和ALE的时序配合,以及P0和P2口用于地址线)。

[注] 一般直接选用内部程序存储器满足代码大小要求的单片机型号,避免扩展外部存储器,造成系统软硬件设计上的复杂和额外开销。

数据存储器:

RAM。首先必须要强调的是,不管是物理上还是逻辑上,51单片机的内部、外部数据存储器都在不同的地址空间。两者不是一回事,用途也不一样,访问的指令也不同(内部RAM为MOV指令,外部为MOVX)。

1、内部数据存储器(内部RAM)

相当于内存,为程序(进程)中的变量和常量分配存储空间,掉电后内容消失。

标准8051的内部RAM为256B(0x00 ~ 0xFF):其中可供用户自由使用的是低128B(0x00 ~ 0x7F)区域,高128B中定义了26B的特殊功能寄存器(SFR),其余没有定义,因而没有意义。

P89C51RA2xx的片内RAM是512B(片内RAM不等于内部RAM,见释疑2)。

[说明] 关于内部RAM中的SFR,其中不但定义了一些控制字段,还包括累加器(ACC)、程序状态字(PSW)、数据指针(DPTR)、堆栈指针(SP)等,值得注意的是,片上I/O口P0 ~ P3的地址也在这里定义(即有3个特殊功能寄存器的地址实际上是P口的地址)——这是因为51单片机的I/O口与存储器是统一编址的*。

2、外部数据存储器(外部RAM)

上面谈到“I/O口与存储器统一编址”的问题,因此,这里称作外部RAM空间更为合适。在这个64KB地址空间中(0x0000 ~ 0xFFFF),除了可以扩展外部RAM外,还可以扩展外部I/O设备。

外部RAM主要用于存储程序运行时产生的重要数据(如数据采集结果、数据处理结果、系统日志等),这时一般需要外加电源进行掉电保护,以在系统掉电时保存其中的数据信息;也可用于数据的暂时存储,供CPU正常读写操作使用。因此外部RAM主要是使用其“可随机访问、读写方便且高速”的特性。

* 所谓I/O口与存储器统一编址,是指I/O口与主存在同一地址空间,将处理器的可寻址存储空间中专门划出一部分地址空间分配给I/O口使用。这与PC机的x86处理器不同,x86体系结构为I/O口专门定义了独立于存储空间之外的地址空间(事实上,除X86外,其他体系结构的处理器都对I/O口与存储器统一编址,可参考《Linux Device Drivers》)。

释疑1:51只有16根地址线,为什么能同时将程序存储器和外部数据存储器都扩展到64KB呢?即外部即有ROM,又有RAM,如何知道访问的是哪个?

在体系结构上,程序存储器和数据存储器是不同的地址空间,两者的访问是不会相互干扰的,这主要是通过在硬件和指令集设计上来实现的。

在硬件上,访问外部ROM是通过EA和PSEN引脚来控制的;访问外部RAM则是通过WR和RD信号来控制的;

在指令集上,访问外部ROM不需要使用显示指令,是通过PC(指令计数器)来控制取指地址的(跳转指令也可能引起PC跳转);而访问外部RAM则需要在程序设计上使用指令MOVX来执行。另外,访问内部RAM则使用了指令MOV,以区分外部RAM的访问。

释疑2:P89C51RA2xx的片内RAM是512B,是如何组织的?

P89C51RA2xx的片内RAM是512B:其中内部RAM为256B(使用MOV指令访问,定义与标准51相同);另外的256B为XRAM(片内的外部数据存储器),属于外部存储器的范畴,因此用途也同外部RAM,使用MOVX指令访问,当程序中的全局变量或单个局部变量需占较大存储空间时,可以定义为xdata型,保存到XRAM区。注意这个片内的XRAM掉电后其数据也会丢失;另外,如果要扩展外部RAM,则一般是设置XRAM为禁用态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7121

    浏览量

    161927
  • 51单片机
    +关注

    关注

    269

    文章

    5648

    浏览量

    120645

原文标题:MCS-51单片机的存储器组织结构

文章出处:【微信号:wujianying_danpianji,微信公众号:单片机精讲吴鉴鹰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MCS-51单片机存储器结构

    MCS-51单片机存储器结构
    发表于 08-19 21:12

    51单片机存储器扩展问题

    ,具体情况要具体分析。四,51单片机存储器分为数据存储器和程序储存,其地址空间、存取指令、和控制信号各有
    发表于 09-28 16:13

    51单片机存储器分为俩大部分

    :思维结构很重要:由上图可知,51单片机存储器分为俩大部分:程序存储器ROM和数据存储器RAM
    发表于 11-18 09:03

    单片机存储器结构资料大合集

    3课:单片机存储器结构单片机内部存储结构分析1.当我们在编程
    发表于 11-30 07:42

    浅析51单片机存储器结构

    四、51单片机存储器结构1.存储器总体结构概述般微
    发表于 12-01 08:24

    51系列单片机的内部存储器简介

    51 系列单片机的内部存储器般微型存储器的配置不同。
    发表于 12-01 08:32

    单片机中的存储器介绍

    区(80H-FFH)单片机的物理结构MCS-51单片机存储器采用哈佛结构(har-vard)(哈
    发表于 02-08 06:42

    单片机存储器,单片机存储器结构原理是什么?

    单片机存储器,单片机存储器结构原理是什么? 存储器单片机
    发表于 03-11 09:15 6719次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>存储器</b>,<b class='flag-5'>单片机</b><b class='flag-5'>存储器</b><b class='flag-5'>结构</b>原理是什么?

    51单片机存储器结构的详细资料说明

    MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器,2、片外程序存储器,3、片内数
    发表于 08-14 17:32 0次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>存储器</b><b class='flag-5'>结构</b>的详细资料说明

    51单片机存储器结构和原理解析

    51单片机存储器采用的是哈佛结构,即是程序存储器空间和数据存储器空间分开,程序
    发表于 10-21 16:33 2.1w次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>存储器</b>的<b class='flag-5'>结构</b>和原理解析

    51单片机存储器

    51单片机存储器51单片机结构:程序存储器ROM:
    发表于 11-11 20:36 15次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>之<b class='flag-5'>存储器</b>

    51汇编(一):存储器结构

    文章目录内存结构程序存储器数据存储器通用寄存器区位寻址区一般RAM区特殊功能寄存器区内存结构MCS-51
    发表于 11-23 09:36 13次下载
    <b class='flag-5'>51</b>汇编(一):<b class='flag-5'>存储器</b><b class='flag-5'>结构</b>

    51单片机(2)硬件结构(2)存储器

    一.存储器结构51单片机存储采用的是哈佛结构,即程序存储器
    发表于 11-23 10:21 17次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>(2)硬件<b class='flag-5'>结构</b>(2)<b class='flag-5'>存储器</b>

    MCS-51系列单片机存储器结构

    四、51单片机存储器结构1.存储器总体结构概述一般微机通常是程序和数据共用一个
    发表于 11-23 16:51 12次下载
    MCS-<b class='flag-5'>51</b>系列<b class='flag-5'>单片机</b><b class='flag-5'>存储器</b><b class='flag-5'>结构</b>

    MCS51 系列单片存储器结构

    51 系列单片机的内部存储器与一般微型机存储器的配置不同。一般微型机的程序存储器和数据存储器被安
    发表于 11-23 16:51 14次下载
    MCS<b class='flag-5'>51</b> 系列<b class='flag-5'>单片</b>的<b class='flag-5'>存储器</b><b class='flag-5'>结构</b>