51单片机存储器

物理上:4个存储器空间:内部程序存储器外部程序存储器内部数据存储器外部数据存储器

逻辑上:3个存储器空间:片内外统一的64KB程序存储器地址空间128B的内部RAM地址空间64KB的外部数据存储器或I/O扩展地址空间

如图:


下面细说内部RAM的结构:共128个单元,其中有两个特殊用途的区域:寄存器区00-1f   4组工作寄存器(r0-r7)】、位寻址区20-2f  可以位寻址也可字节寻址】;30-7f  为 通用ram区  只能字节寻址。


1)寄存器区:共有4组寄存器,每组8个寄存器,4组寄存器都以R0~R7编号。这些寄存器用于存放操作数及中间结果。由于它们的功能和使用不作预先规定,所以也称通用寄存器或工作寄存器。4组占据内部RAM的00H~1FH单元地址,因此可以通过内部RAM的地址单元访问通用寄存器。

CPU在任一时刻只能使用寄存器区的一组通用寄存器。当前寄存器到底是哪一组,由程序状态字寄存器PSW中的RS0、RS1两位决定。RS1RS0=00代表使用单元地址为00H~07H中的R0~R7;RS1RS0=01代表使用单元地址为08H~0FH中的R0~R7;RS1RS0=10代表使用单元地址为10H~17H中的R0~R7;RS1RS0=11代表使用单元地址为18H~1FH中的R0~R7。

2)位寻址区:内部RAM中的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称为位寻址区。位寻址区共16个RAM单元,计128个位,位地址为00H~7FH,位地址用于位操作指令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
51单片机存储器可以分为程序存储器和数据存储器两类。每类存储器的寻址范围如下: 1. 程序存储器(Program Memory):用于存储程序指令。51单片机的程序存储器采用的是Flash存储器,它的寻址范围是 0000H 到 FFFFH(64KB)。 2. 数据存储器(Data Memory):用于存储数据、变量和中间结果。51单片机的数据存储器包括两部分:RAM和特殊功能寄存器(SFR)。 - RAM(Random Access Memory):用于存储数据和变量。51单片机RAM分为两个区域,分别是内部RAM和外部RAM。 - 内部RAM:寻址范围是 00H 到 7FH(128字节),常用来存储临时变量和栈。 - 外部RAM:寻址范围是 00H 到 FFH,可以通过外部扩展芯片来扩展RAM容量。 - 特殊功能寄存器(Special Function Register,SFR):用于控制和配置单片机的各种功能。SFR寻址范围是 80H 到 FFH。每个SFR都有唯一的地址,用于对特定功能进行操作和配置。 在51单片机中,不同存储器之间通过地址来区分。对于程序存储器和数据存储器,它们在不同的地址范围内,因此可以通过地址范围来区分。而在数据存储器内部RAM和SFR之间,它们的地址范围有一部分是重叠的。为了区分不同的存储器,在访问时需要使用特定的寻址方式。 对于访问内部RAM,可以直接使用地址进行寻址。例如,使用MOV指令将数据存储到内部RAM的地址20H中:MOV 20H, A。 对于访问SFR,需要使用特殊的寻址方式,如直接寻址、间接寻址、立即寻址等。例如,使用MOV指令将数据存储到SFR P1的位0中:MOV P1.0, A。 通过不同的寻址方式和地址范围,可以准确地区分不同的存储器,并进行相应的读写操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值