回覆列表
  • 1 # lanfengkd

    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一類的名字,只要下面程式中也隨之更改就行了。

  • 中秋節和大豐收的關聯?
  • 西遊記前12回內容概括?