查看: 125|回复: 0

实用技巧:mcs-51单片机的存储器分为哪几个空间?分为哪几种类型

[复制链接]

363

主题

99

回帖

1289

积分

金牌会员

积分
1289
发表于 2026-6-28 20:44:28 | 显示全部楼层 |阅读模式
  在日常单片机的存储器分为哪几个空间工作中,分为哪几种类型是很多人都会遇到的问题。下面结合实际案例,为大家详细讲解。 MCS-51的存储器有片内RAM、片外RAM 和 ROM 三个空间。 MCS-51 单片机 在物理结构上有四个存储空间 1、片内程序存储器(片内ROM) 2、片外程序存储器(片外ROM) 3、片内数据存储器(片内RAM) 4、片外数据存储器(片外RAM) 在逻辑上(即从用户的角度上)MCS-51单片机有三个存储空间 1、片内外统一编址的64K的程序存储器(ROM)地址空间(MOVC) 2、256B的片内数据存储器(片内RAM)的地址空间(MOV) 3、以及64K片外数据存储器(片外RAM)的地址空间(MOVX)
  注:在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。 2.存储空间划分 2.1 片内RAM MCS-51单片机存储地址空间划分图:片内AM地址空间划分
  地址范围是00H到7FH (52系列延伸到FFH),为8位地址,所以可寻址的范围为256个单元地址 00H到1FH 共32字节,分成四个工作寄存器区,每区有寄存器 R0~R7。
  对此区域,可以使用 R0~R7 来操作,代码短捷,但是,只有一个当前工作区是可以这样读写的。 对此区域,也可以使用字节地址,来读写。 20H-2FH 共16字节,是位寻址区,共有128个“位”,位地址:00~7FH。 此区域,也可按照字节寻址,来读写。 30H-7FH 没有什么特色,只进行字节寻址。 80H-FFH



  共有128个地址号码,其中离散的分布着21个特殊功能寄存器,必须直接寻址才能读写。 (52系列,在此范围,还有128字节的 RAM,必须间接寻址才能读写)。 注:对上述空间读写,必须使用 MOV 指令。 2.2 片外RAM
  片外RAM的地址范围是0000H到FFFFH,容量即为64KB。对片外RAM读写,必须使用 MOVX 指令。
  对片外RAM采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。
  也就是说在寻址片外RAM时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。 2.3 ROM
  ROM的地址范围是0000H到FFFFH,容量即为64KB,地址长度16位,作用是 存放程序及程序运行时所需的常数。 其中0000~0FFFH,即4K,在片内,其它在片外。 EA = 1,寻址内部ROM;EA = 0,寻址外部ROM 对ROM读出,必须使用 MOVC 指令。
回复

使用道具 举报

关注公众号
Archiver|手机版|小黑屋|工控学习网

相关侵权、举报、投诉及建议等,请发 E-mail:gkket@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|苏ICP备2026023666号-3|苏公网安备32131102000976号

在本版发帖
关注公众号
QQ客服返回顶部