1# gmgmgm
51单片机片内只有128个字节RAM,单片机工作至少需要一个寄存器组8个字节(R0 - R7),所以可供应用程序使用的只有120个字节,如下定义,实际使用中因程序不同,可能定义不了120字节的数组。
unsigned char data ucData[120]; //默认即为data,定义时可省略
52单片机内有256个字节,多出来的128个字节需要用idata定义,如下:
unsigned char idata ucData[128]; //idata不能省略
除上述两部分RAM外,现在多数单片机在内部集成了一些RAM,相当于外扩的,只是由芯片厂家放到片内了,访问时做为外部存储器对待,不同型号集成的RAM大小不同。定义时用xdata,如下:
unsigned char xdata ucData[N]; //N为存储器大小
|