STC单片机内部RAM介绍

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

STC内部RAM介绍

一、内部RAM

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

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

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

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

但属于不同的物理空间。通过使用工作寄存器组,可以提高运算速度。R0-R7

是常用的寄存器,提供4组是因为1组往往不够用。可位寻址区的地址为20H-

2FH共16个字节单元。它既可以像普通RAM一样按字节存取,也能对字节单元中的任何一个位单独存取,共128个位。这些位所对应的地址范围是:00H-7FH。RAM 地址也是00H-7FH。从表面看,二者地址是一样的,实际上二者具有本质

的区别:位地址指向的是一个位单元,而字节地址指向的是一个字节单元,要访问位还是字节可用不同的指令进行区分。内部RAM中的30H-7FH是用户RAM和堆栈区。一个8位的堆栈指针(SP),用于指向堆栈区。单片机复位后堆栈指针SP=07H,指向了工作寄存器组0中的R7。因此,用户初始化程序都应对堆栈设置初值,一般在70H以后的单元为宜。

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声明内部扩展RAM变量即可,如“unsigned char xdata i=0”。

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

相关文档
最新文档