矩陣鍵盤 按鍵檢測 按鍵次數檢測

2021-08-19 22:46:30 字數 1067 閱讀 3896

在進行矩陣按鍵檢測的時候,對於51微控制器來說,由於io輸出電流較小,驅動能力不足,若用乙個a號io口去檢測b號io口,無論b口高電平還是低電平,a口皆是低電平;若a口置高,可用來檢測b口的低電平。

io.h檔案

#ifndef _matrix_h_

#define _matrix_h_

#include "stc15f2k60s2.h"

#include "delay.h"

#define line0 p30

#define line1 p31

#define line2 p32

#define line3 p33

#define list0 p44

#define list1 p42

#define list2 p35

#define list3 p34

extern bit flagsmgscreen;

extern bit numclear;

extern unsigned char num;

extern unsigned char countpress;

void key_scan();

#endif

.c檔案

#include "matrix.h"

bit flagsmgscreen=0; //介面轉換標誌

bit numclear; //清零按鍵

unsigned char num;

unsigned char countpress;

void key_scan()

while(!line0 || !line1 || !line2 ||!line3) //若按鍵一直按下去則一直在該

}else temp = 20; //while中迴圈

switch(temp)

}

VB檢測按鍵CTRL C的次數

print 按住了c x else print 沒按住c x end if if y 0 then print 按住了ctrl y else print 沒按住ctrl y end if if x 0 and y 0 and chongfu 0 then 當ctrl c按下並且重複次數為0,capt...

7 按鍵檢測

當按鍵沒有按下去,電容達到飽和,電路短路,gpio口pa0為低電平 當按鍵k1按下,四腳按鍵左側1,2和右側3,4導通,pa0變成高電平。而且與按鍵併聯的電容放電達到了消除按鍵抖動產生的波紋的效果,避免檢測不正確。確定好兩個gpio口 goioa 0和gpioc 13,進行埠初始化,還要對埠進行檢測...

按鍵檢測(二)

基本功是每按一次按鍵,訊號電平發生一次反轉 按鍵長按或者不按訊號狀態不發生變化,比如按下後led點亮,此時繼續保持按下或者鬆開,led狀態不變,當按鍵再次按下後,led才會熄滅。應用場景 如果按鍵按下為高電平,那麼就可以用來檢測按鍵按下時的上公升沿,或者中斷的上公升沿,調整防抖時延實現不同的靈敏度。...