I/O口,I代表Inpout,O代表Output。前面的所講的點(diǎn)亮LED,是單片機(jī)輸出高低電平,從而達(dá)到控制LED;這一講將會(huì)通過(guò)按鍵輸入電平,單片機(jī)檢測(cè)到輸入高低電平,將會(huì)有對(duì)應(yīng)的動(dòng)作。
STC89C52的輸入電平識(shí)別。

獨(dú)立按鍵
按鍵的一端接單片的I/O口,另一端接GND或者VCC(接VCC的時(shí)候需要注意,電壓是需要單片機(jī)能夠識(shí)別的輸入的電壓。) ,下圖是接GND的連接方式。

當(dāng)獨(dú)立按鍵按下時(shí),高低電平(VCC或者GND)會(huì)直接到達(dá)I/O口,此時(shí)單片機(jī)可以檢測(cè)到該I/O口是高電平(1)或者低電平(0),然后做獨(dú)立按鍵被按下的對(duì)應(yīng)處理。
現(xiàn)在有一個(gè)功能需求,當(dāng)按下按鍵時(shí)LED被點(diǎn)亮,手松開(kāi)時(shí)LED熄滅。代碼應(yīng)該如何寫(xiě)呢?
#include "reg52.h"
//引入頭文件
sbit led1 = P2^0;
//位定義led1,可以直接通過(guò)位控制led亮滅
sbit key1 = P3^1;
//位定義key1,可以通過(guò)位控制檢測(cè)該I/O口的狀態(tài)
void main() {
//循環(huán)
while(1) {
if(key1==0) { //判斷I/O口狀態(tài),如果為0
led1 = 0; //點(diǎn)亮Lled
}
else {
led1 = 1; //熄滅led
}
}
}
總結(jié):獨(dú)立按鍵一端連接I/O口,另一端連接GND或者VCC,當(dāng)按鍵被按下GND或者VCC的電平直接到I/O口。通過(guò)檢測(cè)I/O口電壓可以判斷按鍵是否被按下,進(jìn)而觸發(fā)不同的程序行為。
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45494瀏覽量
670254 -
51單片機(jī)
+關(guān)注
關(guān)注
278文章
5714瀏覽量
134262 -
GND
+關(guān)注
關(guān)注
2文章
549瀏覽量
41516 -
獨(dú)立按鍵
+關(guān)注
關(guān)注
1文章
45瀏覽量
12033
發(fā)布評(píng)論請(qǐng)先 登錄
求解惑:使用51單片機(jī)的獨(dú)立按鍵實(shí)現(xiàn)數(shù)碼管的顯示控制,代碼無(wú)報(bào)錯(cuò),但是運(yùn)行結(jié)果是錯(cuò)的
請(qǐng)問(wèn)怎么實(shí)現(xiàn)51單片機(jī)獨(dú)立按鍵和矩陣按鍵?
51單片機(jī)的獨(dú)立按鍵和按鍵消抖及矩陣按鍵的電路與程序免費(fèi)下載
使用51單片機(jī)獨(dú)立按鍵的程序免費(fèi)下載
51單片機(jī)的獨(dú)立按鍵程序免費(fèi)下載
51單片機(jī)(二十四)—— 獨(dú)立按鍵工作原理
51單片機(jī)按鍵檢測(cè)--獨(dú)立按鍵與矩陣鍵盤(pán)
51單片機(jī)鍵盤(pán)接口-獨(dú)立按鍵和矩陣按鍵
51單片機(jī)獨(dú)立按鍵數(shù)碼管(模塊化)
基于89C51單片機(jī)的8位端口檢測(cè)8獨(dú)立按鍵源程序
基于89C51單片機(jī)的獨(dú)立按鍵依次輸入數(shù)據(jù)源程序
基于51單片機(jī)的電子鐘【整點(diǎn)報(bào)時(shí),6數(shù)碼管,獨(dú)立按鍵】(仿真)
基于51單片機(jī)的電子鐘【調(diào)時(shí),DS1302,數(shù)碼管,獨(dú)立按鍵】(仿真)
基于51單片機(jī)的獨(dú)立按鍵實(shí)現(xiàn)原理
評(píng)論