×
单片机 > 单片机程序设计 > 详情

8051存储器总结

发布时间:2020-05-28 发布时间:
|
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,向地址增大的方向增长,操作步骤为先加后压、先弹后减。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式