sbit在C語言裡是編譯器裡面的關鍵字,sbit是keil c51中的關鍵字。
sbit 要在最外面定義,就是說必須定義成外部變數.sbit定義的是SFR(特殊功能暫存器)的bit。sbit更像是型別定義,不像是變數定義。sbit: 指示說明性說明。
bit和sbit都是C51擴充套件的變數型別。典型應用是:sbit P0_0=P0^0;//即定義P0_0為P0口的第1位,以便進行位操作。
bit和int char之類的差不多,只不過char=8位, bit=1位而已。都是變數,編譯器在編譯過程中分配地址。
擴充套件資料
sbit的用法有三種:
第一種方法:sbit 位變數名=地址值
第二種方法:sbit 位變數名=SFR名稱^變數位地址值
第三種方法:sbit 位變數名=SFR地址值^變數位地址值
如定義PSW中的OV可以用以下三種方法:
sbit OV=0xd2 (1)說明:0xd2是OV的位地址值
sbit OV=PSW^2 (2)說明:其中PSW必須先用sfr定義好
sbit OV=0xD0^2 (3)說明:0xD0就是PSW的地址值
因此這裡用sbit P1_0=P1^0;就是定義用符號P1_0來表示P1.0引腳,如果你願意也可以起P10一類的名字,只要下面程式中也隨之更改就行了。
sbit在C語言裡是編譯器裡面的關鍵字,sbit是keil c51中的關鍵字。
sbit 要在最外面定義,就是說必須定義成外部變數.sbit定義的是SFR(特殊功能暫存器)的bit。sbit更像是型別定義,不像是變數定義。sbit: 指示說明性說明。
bit和sbit都是C51擴充套件的變數型別。典型應用是:sbit P0_0=P0^0;//即定義P0_0為P0口的第1位,以便進行位操作。
bit和int char之類的差不多,只不過char=8位, bit=1位而已。都是變數,編譯器在編譯過程中分配地址。
擴充套件資料
sbit的用法有三種:
第一種方法:sbit 位變數名=地址值
第二種方法:sbit 位變數名=SFR名稱^變數位地址值
第三種方法:sbit 位變數名=SFR地址值^變數位地址值
如定義PSW中的OV可以用以下三種方法:
sbit OV=0xd2 (1)說明:0xd2是OV的位地址值
sbit OV=PSW^2 (2)說明:其中PSW必須先用sfr定義好
sbit OV=0xD0^2 (3)說明:0xD0就是PSW的地址值
因此這裡用sbit P1_0=P1^0;就是定義用符號P1_0來表示P1.0引腳,如果你願意也可以起P10一類的名字,只要下面程式中也隨之更改就行了。