2016-12-17 18:22:08 | 人围观 | 评论:
1.C51存储类型<?XML:NAMESPACE PREFIX = O />
对于在片外扩充的接口,可以根据硬件形成的地址,用#define语句进行定义,例如:
#define unsigned char xdata adAddr_at_0x2000;/*定义了片外接口地址为2000H*/
C51编译器支持80C51及其派生系列的体系结构,并提供对80C51所有存储区的访问。每个变量可以用表1中所列的存储器类型明确地分配到指定的存储空间。
表1 C51存储类型与80C51存储空间的关系
数据类型 | 位 | 字节 | 值的范围 |
char | 8 | 1 | -128~127 |
unsigned char | 8 | 1 | 0~255 |
enum | 16 | 2 | -32768~32767 |
short | 16 | 2 | -32768~32767 |
unsigned short | 16 | 2 | 0~65535 |
int | 16 | 2 | -32768~32767 |
unsigned int | 16 | 2 | 0~65535 |
long | 32 | 4 | -2147483648~2147483647 |
unsigned long | 32 | 4 | 0~4294967295 |
float | 32 | 4 | ±1.175494E-38~±3.402823E+38 |
bit | 1 | - | 0,1 |
sbit | 1 | - | 0,1 |
sfr | 8 | 1 | 0~255 |
sfr16 | 16 | 2 | 0~65535 |