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經常用在寄存器中的,方便對寄存器的某位進行操作。