首頁 >常見問題 >sbit是什麼意思

sbit是什麼意思

(*-*)浩
(*-*)浩原創
2019-07-22 11:30:128715瀏覽

sbit是定義特殊功能暫存器的位元變數。 bit和sbit都是C51擴充的變數型別。

sbit是什麼意思

典型應用是:sbit P0_0=P0^0;//即定義P0_0為P0口的第1位,以便進行位元操作。 (推薦學習:PHP影片教學

bit和int char之類的差不多,只不過char=8位元, bit=1位元而已。都是變量,編譯器在編譯過程中分配地址。

用法

在C語言裡,如果直接寫P1.0,C編譯器並不能識別,而且P1.0也不是一個合法的C語言變量名,所以得給它另一個名字,這裡起的名為P1_0,可是P1_0是不是就是P1.0呢?你這麼認為,C編譯器可不這麼認為,所以必須給它們建立聯繫,這裡使用了Keil C的關鍵字sbit來定義,sbit的用法有三種:

第一種方法:sbit 位元變量名=位址值

第二種方法:sbit 位元變數名稱=SFR名稱^變數位址值

第三種方法:sbit 位元變數名稱=SFR位址值^變數位址值

如定義PSW中的OV可以用以下三種方法:

sbit OV=0xd2 (1)說明:0xd2是OV的位址值

#sbit =PSW^2 (2)說明:其中PSW必須先用sfr定義好

sbit OV=0xD0^2 (3)說明:0xD0就是PSW的位址值

因此這裡用sbit P1_0=P1^0;就是定義用符號P1_0來表示P1.0引腳,如果你願意也可以起P10一類的名字,只要下面程式中也隨之更改就行了。

sbit 要在最外面定義,就是說必須定義成外部變數.sbit定義的是SFR(特殊功能暫存器)的bit

sbit是對應可位尋址空間的一個位,可位尋址區:20H~2FH。一旦用了sbit xxx = REGE^6這樣的定義,這個sbit量就確定位址了。 sbit大部分是用在暫存器中的,方便對暫存器的某位進行操作的。

sbit位元暫存器是可位元尋址的絕對位址目標,定義後編譯器是不會改變位置的。

更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!

以上是sbit是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn