微控制器,sbit什麼意思,微控制器C程式設計sbit指令是什麼意思

時間 2021-07-14 23:07:23

1樓:

sbit是c51擴充套件的變數型別,是定義特殊功能暫存器的位變數。典型應用是:sbit p0_1=p0^1;//即定義p0_1為p0口的第2位,以便進行位操作。

在c語言裡,如果直接寫p1.1,c編譯器並不能識別,而且p1.1也不是一個合法的c語言變數名,所以得給它另起一個名字,這裡起的名為p1_1,可是p1_1是不是就是p1.

1呢?你這麼認為,c編譯器可不這麼認為,所以必須給它們建立聯絡,這裡使用了keil c的關鍵字sbit來定義,sbit的用法有三種:

第一種方法:sbit 位變數名=地址值

第二種方法:sbit 位變數名=sfr名稱^變數位地址值第三種方法:sbit 位變數名=sfr地址值^變數位地址值用sbit p1_1=p1^1;就是定義用符號p1_1來表示p1.

1引腳,如果你願意也可以起p11一類的名字,只要下面程式中也隨之更改就行了。

2樓:匿名使用者

sbit single bit 。。。。。。。。。。。。就是一位。。。。。。。

3樓:沒事來玩幽白

按位定義,主要針對於可按位定址 取值的暫存器。

多數用於各種可按位定址暫存器的位定義。

比如:sbit ex0=ie^0; 就是給中斷暫存器的第0位進行定義,之後只要使用ex0,就代表了ie^0

微控制器c程式設計sbit指令是什麼意思

4樓:angelxf_功夫王

定義特殊功能暫存器的位變數。

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

希望解釋對你有幫助。

5樓:smart天寂

sbit是對應可位

抄定址空間的襲一個位,可位定址區:20h~2fh。一旦用了sbit *** = rege^6這樣的定義,這個sbit量就確定地址了。

sbit大部分是用在暫存器中的,方便對暫存器的某位進行操作的。

6樓:匿名使用者

sbit是c51擴充套件資料型別,意思是從位元組中宣告的位變數。如sbit f=p1^4;//將f位定義為 p1.4

7樓:匿名使用者

sbit對映到io口(p1^1這種io口的“位”)

比如sbit key p1^1 //使用key來表示p1.1

只有在sbit下才能用p1^1

8樓:匿名使用者

你確定字元沒打錯?

sbit中

有一個split是函式分割擷取字串的作用

微控制器sbit是什麼意思

9樓:匿名使用者

位變數的宣告 你可以直接對i/o口任一位進行操作 但是不能直接使用p1^1之累這的 首先你得進行位變數宣告 用一個變數來代替這一個位口 例如 sbit d1=p1^1;d1=0;這兩句話就是讓p1^1=0的意思

10樓:祝筱示湛芳

按位定義,主要針對於可按位定址

取值的暫存器。

多數用於各種可按位定址暫存器的位定義。

比如:sbit

ex0=ie^0;

就是給中斷暫存器的第0位進行定義,之後只要使用ex0,就代表了ie^0

11樓:匿名使用者

位的巨集定義定義

sbit key p1^1 //使用key來表示p1.1

12樓:一萬光年

sbit 是c51中定義位變數用的。

如:led=p1^0;

buzzer=p1^1;等等

13樓:

就是定義為一個位

這一位可以使0或者1

例如 sbit deng=p1^1

p1^1這個口的狀態(高低電平)用deng來表示

51微控制器c語言sbit的作用是什麼

14樓:匿名使用者

^在51微控制器中

,不來能直接自

使用p0^0=***操作,因為p0^0是地址值,即指標,p0指標地址值0x80,p0^0指標地址0x81,p0^0=***是修改指標地址,即0x81=***,明顯是錯誤的,我們想修改指標指向管腳值,必須使用位定義關鍵字sbit p00 = p0^0;然後p00=***,操作p00管腳值,即操作0x81指標指向的管腳p00的值。

15樓:匿名使用者

這個叫位定義

就是給p0^0又定義了個名字叫p00。這樣在程式中用到p0^0的時候寫p00就可以了,這樣為的書寫方便。如果沒有sbit就成了賦值語句。

16樓:棍※棍

據說不行,試試不就知道了

微控制器中bit和sbit有什麼區別?

17樓:

sbit對映到io口(p1^1這種io口的“位”)

bit在ram中的可位定址空間中,一般用作程式判斷的標誌位。

你可以認為它們一個對外(sbit),一個對內(bit)。

18樓:

bit和sbit都是c51擴充套件的變數型別。

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

sbit更像是型別定義,不像是變數定義。

sbit: 只是說明性說明

bit 可以在外部或內部定義。

bit和int char之類的差不多,只不過char=8位, bit="1位而已"。都是變數,編譯器在編譯過程中分配地址。除非你指定,否則這個地址是隨機的。

這個地址是整個可定址空間,ram+flash+擴充套件空間。bit只有0和1兩種值,意義有點像windows下vc中的bool。

bit是編譯器在的可定址區分配的一個位變數,是不定的,不是絕對地址目標。

所有可位定址的位都可由sbit指定,這包括可位定址區和sfr中的位。

sbit是對應可位定址空間的一個位,可位定址區:20h~2fh。一旦用了sbit *** = rege^6這樣的定義,這個sbit量就確定地址了。

sbit大部分是用在暫存器中的,方便對暫存器的某位進行操作的。

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

19樓:匿名使用者

sbit跟int一樣是一種資料型別

即位用sbit可以定義一個位變數

而bit則是用來強制轉換比如(bit)a

20樓:匿名使用者

sbit 就是置1的意思。。。跟clr相反。。。

51微控制器用c語言,sbit怎麼使用???什麼作用呢??什麼含義

21樓:匿名使用者

1. sbit是一種資料型別,表示一個位,值為0或12. 舉個例子:

sbit clk=p3^0; 其中clk佔一個位,表示埠p3^0,表示輸出給這個埠的資料不是0就是1.

(lz學過51,所以p3^0的含義就不用我多解釋了吧)3. lz如有其他問題可追問

微控制器 sfr定義,微控制器sfr和sbit有什麼區別

老友記愛學習 我是一名微控制器工程師,很多人都有類似的問題發生,其實弄懂一個sfr,其它的也就懂了,我已經用通俗易懂的方法把它寫在了一個貼子上,感興趣的可以瀏覽一下。sfr到底是什麼 p0 p3 psw acc等這些暫存器在sfr中的地址,是intel設計mcs 51微控制器時就定下的。後來許多廠家...

51微控制器init什麼意思,51微控制器的“51”是什麼意思?

51微控制器init 一般初始化函式的函式名。用法 類 alloc init init 是建構函式初始化用,他能初始化啥,都初始化為預設值,alloc 之後就是預設值。51微控制器簡介 51系列微控制器是一個統稱。代表時鐘為12分頻,內部儲存器為哈佛結構 資料和 分別儲存 的一系列8位微控制器。代表...

微控制器C語言程式設計,微控制器C語言程式設計題

按你的程式的結構,不做大的變動,又能理解的方法 四個程式合併成一個,當然就只能有一個主程式了,一個while 1 了,凡是while 1 以上的程式只保留一個就行了。四個程式的while 1 以下的都合併寫在一個while 1 下面,分為四段。有四個按鍵,判斷按鍵被按下的程式會寫吧?那判斷每個按鍵的...