新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機----sbit

51單片機----sbit

作者: 時間:2016-11-26 來源:網(wǎng)絡 收藏
sbit:定義特殊功能寄存器的位變量。

?典型應用:sbit P0_0=P0^0;//即定義P0_0為P0口的第1位,以便進行位操作。

本文引用地址:http://m.butianyuan.cn/article/201611/321834.htm

用法:?

?在C語言里,如果直接寫P1.0,C編譯器并不能識別,而且P1.0也不是一個合法的C語言變量名,所以得給它另起一個名字,這里起的名為P1_0,可是P1_0是不是就是P1.0呢?你這么認為,C編譯器可不這么認為,所以必須給它們建立聯(lián)系,這里使用了Keil C的關鍵字sbit來定義,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與bit:?

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

sbit更像是類型定義,不像是變量定義。

sbit: 只是說明性說明

bit可以在外部或內(nèi)部定義。

參考鏈接:http://baike.baidu.com/link?url=R_fzVbhmSpnJIcMdnyH1kJFNiJRW2wMLb-zjl9gr-Ht779OltInqwjJpibGxATyR7pLLTOMI4EQLNLaOCKZ1iK?



關鍵詞: 51單片機sbi

評論


技術專區(qū)

關閉