8051的C语言编程和传统的C语言编程是类似的。当然其中有些数据类型是不一样的,我们知道8051支持强大的位寻址能力,因此8051的C语言编程增加了一些新的数据类型,为了不使的8051的能力被浪费。下面给出新增的数据类型。
bit ——用于定义1个位变量,用于8051的位寻址空间(仅仅限于内部RAM的20H——2FH的字节空间(00H——7FH的位地址空间)).(不得不说8051的地址重叠搞得人很烦)
例如:bit flag = 0; 定义flag为一个位变量,并且初始化为0.
sbit ——用于定义一个位变量,用于8051的特殊功能寄存器(内部RAM的80H——FFH的字节空间)
例如:sbit CY = 0xD7;
sbit P0_0 = 0x80^0;
上面的bit和sbit是两种不同的数据类型,bit是用于给某一位地址赋值,而sbit是用于给某一个特殊功能寄存器的某一位的位地址起名字。
sfr ——用于定义一个特殊功能寄存器变量。
例如:sfr PSW = 0xD0;
当有了上面的定以后,可以这样来使用PSW的每一位,例如:PSW^0;表示PSW的第0位,即奇偶校验位P。
sfr16 ——用于定义16位的特殊功能寄存器变量。
例如:sfr16 DPTR = 0x82;
通过上面引入的数据类型&