存储类型:
data: 片内直接寻址,内部RAM,128 bytes, 8bit,0-125;【直接访问,速度最快】
idata: 片内间接寻址,内部RAM,256 bytes, 8bit, 0-256;【允许访问全部内部地址】
pdata: 分页寻址,片外RAM, 256 bytes, 8bit, 0-256;【 movx @Ri 访问】
xdata: 片外数据存贮,64K,16位,0-65535; 【movx @DPTR】
code: 片内统一编址ROM,64K,16位,0-65535; 【MOVC @A+DPTR】
bdata: 片内可以按位寻址的RAM,16 bytes,1位,0-127;【位、字节混合访问】
编译器可以对寄存器类型,寻址方式和数据类型进行管理。C语言编写的时候不需要关注具体细节。
需要了解8051的存储器结构。
数据类型:
signed 有符号。包括赋值。
unsigned 无符号。
1 bit: bit, sbit
8 bit: char
16 bit: int, short
32 bit: long, long int, float
64 bit: double
sfr: 特殊功能寄存器声明,1 bytes。可以访问51内部的所有特殊功能寄存器。寄存器的地址范围之内(80H-FFH)。
sfr16: sfr的16位数据声明。比如52中的timer, T1,和T2.
sbit: 特殊功能位声明。对应可位寻址空间的一个位,可位寻址区:20H~2FH。
bit: 位变量声明。类似true和false。由编译器分配地址,和其他的类型,比如char,int是一样的。