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如有其他問題可追問
微控制器之間如何實現通訊,微控制器與微控制器之間如何進行序列通訊?
兩個單抄片機之間串列埠襲通訊,如果是用proteus 最簡單 bai了,兩個微控制器的rxd,txd交叉連線就行了。du要是實物最zhi好用rs232連線通訊,距離可以達到幾十米。再遠點距離,用rs485連線通訊。總之,方法很多的,dao也很靈活的。1 微控制器的通訊 有抄序列襲通訊和並行通bai信...
bit用法 微控制器C語言,51微控制器C語言裡面,定義bit的方法,有哪些,請舉例,謝謝!
bit timerout 0 這裡的bit本質上和char int一樣的 功能一樣,型別不一樣 char是8位,int是16位,bit是1位。每個位元組是8位,就可以包含8個bit,bit只有兩個值,1和0.bit timerout 0 bit keypress 就是定義兩個長度為1位的變數。bit...
求助微控制器c語言程式問題,求助 微控制器C語言程式問題
第一個是在主程式中設定的定時計數器中斷相關引數設定,tmod 0x10 設定定時計數器的工作方式為方式1 16為計數器 也就是計數範圍為 0 65536 th1 65536 200 256 tl1 65536 200 256 設定計數器的初值為 200.ea 1 開總中斷,et1 1 開定時計數器1...