关于51单片机内存问题
2018-08-21 本文已影响0人
来自空间的冥想
今天写程序的时候发现内存不够用了,所以就查了一些资料,记录一下自己的理解

程序存储器Flash 8KB 0000H--1FFFH
数据存储器SRAM 2KB
内部直接访问RAM(DATA)128B
内部直接访问RAM(IDATA)128B
内部拓展RAM(XDATA)2048B

data: 0x00-0x7F的128个RAM,可以用ACC直接读写的,速度最快
bit: 0x20-0x2F 可以位寻址
idata: 0x00-0xFF的256个RAM
xdata: 外部拓展RAM,0x000-0xFFFF,用DPTR访问(这款芯片只有8K,所以直到0x1FFF)
pdata: 外部拓展RAM的低256个字节
code: 程序存储区
应用举例:
1.unsigned char idata RX_Buff[RX_BUFF_SIZE];

2.unsigned char xdata TX_Buff[TX_BUFF_SIZE];
