51微控制器 按鍵,鍵盤檢測

2022-08-12 10:03:11 字數 1525 閱讀 5679

但凡做和51微控制器有關的東西,我們組都會用到按鍵..... 迷之有緣

獨立按鍵的原理很簡單,沒有按鍵按下時,全部為高電平,按下時接觸地變為地電平,檢測是否有低電平來檢測按下動作。

矩陣鍵盤稍微複雜一點,分別檢測行,檢測列,以此來確定按鍵位置。

注意的是,按下時會有抖動,因為寫程式時,需要消抖。常用的方式是延時函式消抖。

1/*2

獨立按鍵掃瞄基本程式 @l2 2016/08/03 3*/

4 #include 5

#define gpio_key p1 //

按鍵與p1口相連

檢測原理類似,檢測該按鍵對應io口是否為低電平

1/*2

矩陣鍵盤4x4,數碼管顯示鍵值 @l2 2016/08/033*/

4 #include5

#define gpio_dig p1

6#define gpio_key p0

78 unsigned char code dig_code[17]=;

1112 unsigned char

keyvalue;

13void delay10ms(unsigned int

c);14

void

keydown();

1516

void main(void)17

23}2425

void keydown(void)26

44//

測試行45 gpio_key=0x0f; //

給列io口置低電平

46switch

(gpio_key)

4753

while((a<50) && (gpio_key!=0xf0)) //

檢測按鍵鬆手檢測

5458}59

}60}61

6263

void delay10ms(unsigned int

c)

64

72}

73 }

(三)微控制器按鍵檢測

好了,微控制器這個東西呢,無非是輸入和輸出,所以經過前面兩個led燈,實際上微控制器就學完了一半了?甚至是學完了一大半了,畢竟任何乙個微控制器都不可能沒有輸出,沒有輸出的微控制器是沒有任何意義的,但是可以沒有輸入,比如流水燈,不需要進行任何資訊的輸入,也是可以好好的閃燈的。今天寫寫另一半,輸入之典型...

51微控制器 鍵盤掃瞄

p3口接16個按鍵 include define uint unsigned int define uchar unsigned char sbit dula p2 6 sbit wela p2 7 sbit key1 p3 4 uchar code table uchar num,temp,num...

51微控制器矩陣鍵盤

行列掃瞄法 所有的行線置高電平,依次對列線進行掃瞄。將第一列置低電平,p1.0 0 若檢測到行線p1.4 0,則k0鍵被按下。同理若p1.5 0,則k4被按下。pertues 圖 c程式 include include define uchar unsigned char define uint u...