bit和sbit都是C51扩展的变量类型。
bit和int char差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非指定,否则这个地址是随机分配的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,和Windows下VC中的BOOL类似。
sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6的定义,这个sbit量就确定地址了。
bit和sbit的最大区别在于,bit是定义一个变量;sbit经常用在寄存器中的,方便对寄存器的某位进行操作。 |
|