STC单片机内部RAM介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STC单片机内部RAM介绍
STC内部RAM介绍
一、内部RAM
1.内部RAM共256字节,可分为三个区域:低128字节(与传统8051兼容)、高128字节RAM(Intel在8052中扩展了高128字节RAM)。

2.低128字节RAM既可以直接寻址也可以间接寻址。

低128字节RAM也称通用
RAM区。

通用RAM区又可以分为工作寄存器组区,可位寻址区,用户RAM区和堆
栈区。

工作寄存器组区地址从00H-1FH共32BYTE(字节)单元,分为4组(每一组称为一个工作寄存器组),每组包括8个8位的寄存器,编号均为R0-R7,但
属于不同的物理空间。

通过使用工作寄存器组,可以提高运算速度。

R0-R7是
RAM低128字节地址也是00H-7FH。

从表面看,二者地址是一样的,实际上二者具常用的寄存器,提供4组是因为1组往往不够用。

可位寻址区的地址从20H-7FH
共16个字节单元。

20H-7FH单元既可以像普通RAM区按字节存取,也可以对单元中的任何一个位单独存取,共128个位,所对应的地址范围是:00H-7FH。

内部有本质的区别:位地址指向的是一个位,而字节地址指向的是一个字节单元,在程序中使用不同的指令进行区分。

内部RAM中的30H-FFH是用户RAM和堆栈区一个8位的堆栈指针(SP),用于指向堆栈区。

单片机复位后堆栈指针SP=07H,指向了工作寄存器组0中的R7。

因此,用户初始化程序都应对堆栈设置初值,一般在80H以后的单元为宜。

3.高128字节RAM与特殊功能寄存器区貌似共用相同的地址范围,都使用
80H-FFH,地址空间貌似重叠,但物理上是独立的,使用
时通过不同的寻址
方式加以区分。

高128字节只能间接寻址,特殊功能寄存器区只能直接寻址。

二、内部扩展RAM(物理上是内部,逻辑上是外部,用MOVX访问)
STC某些型号的单片机内除了集成256字节的内部RAM外,还集成了1024
字节的扩展RAM,地址是0000H-3FFFH。

访问内部扩展RAM的方法和传统8051
访问外部扩展RAM的方法相同,但不影响P0、P2、P3.6、P3.7和ALE。

在汇编语言中,内部扩展RAM通过MOVX访问,即使用“MOVX@DPTR”或者
“MOVX@Ri”指令访问。

在C语言中使用XDATA声明即可,如“
unsignedcharxdatai=0”。

----------------------由‘崔家寨大当家’整理。

相关文档
最新文档