1. 标准C数据类型
1.1 bit
-
bit
是C51特有的数据类型,表示一个二进制位,只能存储0或1。它通常用于表示单个引脚的状态或特定的标志位。bit flag = 1; // 声明一个bit类型的变量
1.2 unsigned char
-
unsigned char
表示无符号字符,占用一个字节(8位),范围是0到255。unsigned char myChar = 65; // 范围是0到255
1.3 char
-
char
表示有符号字符,占用一个字节,范围是-128到127。char myChar = -10; // 范围是-128到127
1.4 unsigned int
-
unsigned int
表示无符号整数,通常占用两个字节(16位),范围是0到65535。unsigned int myUInt = 1000; // 范围是0到65535
1.5 int
-
int
表示有符号整数,通常占用两个字节,范围是-32768到32767。int myInt = -5000; // 范围是-32768到32767
1.6 float
-
float
表示浮点数,但在许多C51编译器中,对浮点数的支持有限。在一些简化的C51编译器中,可能没有对float
的完整支持。float myFloat = 3.14; // 浮点数
1.7 void
-
void
用于表示没有返回值的函数或指针。void myFunction() { // 无返回值的函数 }
2. C51特有数据类型
2.1 特殊寄存器
-
C51编程中,特殊寄存器与硬件直接相关,用于控制设备的行为、状态或配置。包括
P0, P1, P2, P3
等I/O端口寄存器,SP
栈指针寄存器,DPL, DPH
数据指针寄存器,PC
程序计数器寄存器,ACC
累加器寄存器,B
B寄存器,PSW
程序状态字寄存器等。P1 = 0x0F; // 设置P1端口的高4位为1 SP = 0x20; // 设置栈指针的初始值 DPL = 0x10; // 设置数据指针的低8位 DPH = 0x20; // 设置数据指针的高8位 PC = 0x1000; // 设置程序计数器的值 ACC = 0xAA; // 设置累加器的值 B = 0x55; // 设置B寄存器的值 PSW = 0x02; // 设置PSW寄存器的值