回覆列表
  • 1 # 使用者6104248591911

    sbit led1 = P1^0 含義:是將發光二極體 led1 接 P1口 0 位端,用以控制 led1 的亮滅。sbit是定義特殊功能暫存器的位變數。bit和sbit都是C51擴充套件的變數型別。典型應用是:sbit P0_0=P0^0;//即定義P0_0為P0口的第1位,以便進行位操作。bit和int char之類的差不多,只不過char=8位, bit=1位而已。都是變數,編譯器在編譯過程中分配地址。擴充套件資料在C語言裡,如果直接寫P1.0,C編譯器並不能識別,而且P1.0也不是一個合法的C語言變數名,所以得給它另起一個名字,這裡起的名為P1_0,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一類的名字,只要下面程式中也隨之更改就行了。

  • 中秋節和大豐收的關聯?
  • 如何評價虞世南?