sbit是定義特殊功能寄存器的位變量 在51系列的單片機,有這樣的位操作,是可以直接定義對應引腳,在應用時候,可以直接進行賦值操作
if(IsOK)K1=1;
else K1=0;
好處是當IO端口發生變化時,只需要修改這一處定義即可,無需整個工程多出修改代碼。
很多時候,為了方便,可以使用宏定義#define,
比如在stm32當中,可以這邊表述,
#define K1_ON GPIO-》ODR|(1
#define K1_OFF GPIO-》ODR&(~(1
還有些其他的寫法,這里就不再表述。
表示K1 這個元件是接在P3.2管腳上,K一般表示按鍵。
代碼可以這樣寫,直接寫K1就可以了。
if(k1==0)
{
執行動作
}
就知道是P3.2管腳的按鍵被按下了。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6050文章
44687瀏覽量
641186 -
sbit
+關注
關注
0文章
5瀏覽量
4300
發布評論請先 登錄
相關推薦
DIY:基于單片機的推箱子游戲
本文是電子工程師DIY:基于單片機的推箱子游戲。主要是采用STC89C54單片機,使用LCD12864 (0108)無字庫液晶屏來完成的。 引腳說明: 按鍵部分 sbit Up=P2^0; s
發表于 07-09 09:09
?5838次閱讀

單片機中pdata 的用法?
在單片機的編程中,unsigned char pdata str[51]; 的具體含義是什么??這種用法有什么好處?為什么去掉pdata之后就不行了??誰能給一個完美的解釋??.........
發表于 03-01 16:46
單片機sfr和sbit的用法
sfr用于將一個單片機的特殊功能寄存器(special function register)賦值給一個變量,這樣在后面的程序中就可以中這個變量指引(refer to)該寄存器。sbit與sfr用法
發表于 11-12 11:09
?5.4w次閱讀

單片機關鍵字sfr和sbit區別
在單片機C語言編程中,擴充了兩個關鍵字sfr和sbit。sfr(Special Function Register特殊功能寄存器的縮寫),sbit(特殊功能寄存器位),與定義一般的int、char型變量不同,這兩個字定義的并不是
發表于 11-22 10:14
?9786次閱讀
STC51單片機的printf函數的用法和注意事項詳細說明
今天用STC51系列的單片機寫程序遇到一個問題,就是Printf函數的用法,并在這個上面頗費周折,才弄清楚用法和注意事項!
發表于 04-17 17:27
?5次下載

使用C語言控制51單片機sbit與sfr的用法詳細資料說明
本文檔的主要內容詳細介紹的是使用C語言控制51單片機sbit與sfr的Keil擴展指令用法詳細資料說明
發表于 08-30 17:28
?9次下載

單片機高級系列丨基于單片機的智能計算器
單片機高級系列丨基于單片機的智能計算器#include <reg52.h>#define uint unsigned int #define uchar unsigned
發表于 11-23 17:21
?9次下載

單片機 單片機sfr和sbit關鍵字
bit與sfr用法類似,只是sbit是位操作,用于將某個sfr中具體位賦值給一個變量,這樣后面程序就可用通過該變量為該位清0或置1。sfr用于將一個單片機的特殊功能寄存器(special
發表于 11-26 15:06
?9次下載

單片機高級系列丨基于單片機的溫度濕度采集系統
單片機高級系列丨基于單片機的溫度濕度采集系統#include <reg52.h>#define uint unsigned int #define uchar
發表于 11-29 15:36
?11次下載

你不可不知的STC單片機中特殊用法的IO
IO的特殊用法是什么鬼?簡單說就是因為STC單片機的IO有好多都帶有復用功能,在單片機上電復位后,這些復用功能引腳的默認狀態有一些特殊的規定或處理辦法,若你不知曉,很有可能出現災難性的問題,下面我們就來具體說說這些特殊的IO的
發表于 02-10 11:19
?3次下載

sbit在單片機中的作用和用法
sbit在單片機中的作用和用法。 一、sbit的作用和意義 在單片機中,每個IO引腳都有特定的寄存器與之對應,可以通過讀寫這些寄存器來控制I
評論