STC89C52共有512个字节的ARM,是用来保存数据的,比如我们定义的变量都是直接存在ARM里面的。但是单片机的这512字节的RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构上都是有区别的,因此我们在使用的时候也一定要注意一些问题。51单片机的ARM分为俩个部分,一块是片内ARM,一个是片外ARM。标准51的片内RAM地址是从0x00H ~0x7=F共128字节,而现在我们使用的51系列的单片机都是带扩展片内RAM的,即RAM是从0x00~0xFF共256個字節。片外RAM最大可以拓展到0x0000~0xFFFF共64k字節。这里片内和片外RAM地址不是链接起来的。片内是从0x00开始,片外也是从0x0000开始的。
注:片内和片外这俩个名词,来自于早期的51单片机,分别指芯片内部和外部,但是现在几乎所有的单片机芯片内部都是继承了片外RAM的,而真正的芯片 外扩展则很少用到了。虽然现在也叫片外RAM,但其实它现在也是在单片机内部的,比如STC89C52等(详细请查阅187相关资料)。