这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 8051存储器总结经典

共3条 1/1 1 跳转至

8051存储器总结经典

工程师
2021-05-20 23:59:46     打赏

8051单片机有4个存储空间:

1.内部数据存储器(片内RAM)

共128字节,字节地址范围为00H~7FH。

前32个字节00H~1FH为寄存器区,每8个寄存器形成一个寄存器组,共4个寄存器组。

之后的16个字节20H~2FH,共128位,为位地址区,位地址范围为00H~7FH。

最后的80个字节30H~7FH,为通用RAM区。


具体分布如下图所示:

寄存器0组 00H~07H

寄存器1组 08H~0FH

寄存器2组 10H~17H

寄存器3组 18H~1FH

位地址区 20H~2FH

通用RAM区 30H~7FH


2.特殊功能寄存器(片内RAM)

共21字节,分布于80H~FFH中,仅有21个有效的字节地址。

有11个特殊功能寄存器可以进行位寻址,位地址范围也为80H~FFH,但只有83个有效的位地址。

其他无效地址单元是不能被访问的。


3.程序存储器(片内ROM,可外扩)

64KB,字节地址范围0000H~FFFFH,其中片内只有4KB的程序存储器(0000H~0FFFH),如果不能满足要求,可以扩展60KB的片外程序存储器。

程序存储器中的某些地址被固定地用于特定程序的入口地址:

0000H 复位操作后的程序入口

0003H 外部中断0(INT0)服务程序入口

000BH 定时器0中断(T0)服务程序入口

0013H 外部中断1(INT1)服务程序入口

001BH 定时器1中断(T1)服务程序入口

0023H 串行I/O中断(RI/TI)服务程序入口

通常在这些入口地址开始的二、三个字节的地址单元中存放一条转移指令,用于跳转到中断服务程序,如果中断服务程序足够短,或者不会占用到下一个特定程序的入口(比如从001BH开始连续存放,不会占用到0023H地址单元),则不需要用转移指令,直接在入口地址处写中断服务程序。


4.外部数据存储器(片外,通过接口电路与单片机相连)

最大容量可达64KB。

片外RAM与片内RAM的区别:片外RAM不能进行堆栈操作;片内RAM操作时无读写信号产生,片外RAM读写操作时有读写信号(RD*,WR*)产生。


内部数据存储器和特殊功能寄存器统一编址,程序存储器和外部数据存储器均单独编址,因此89C51存储器具有三套独立编址的存储空间。


89C51的堆栈位于片内RAM中,最大空间为128B,向地址增大的方向增长,操作步骤为先加后压、先弹后减。




专家
2021-05-21 13:42:05     打赏
2楼

哪里来的资料,骇人 。


高工
2021-06-04 23:49:39     打赏
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]