STM32的矩陣按鍵程式思路

2021-10-02 10:47:59 字數 1187 閱讀 9536

之前學52的時候學過矩陣按鍵的程式,但是當我第一次拿到32板子寫程式的時候還是有一點懵,不過還來理理思路,感覺想一想還是可以寫出來的,我這次是沒有自己去焊矩陣按鍵,而是買了乙個薄膜按鍵,省去了焊接的麻煩//手動狗頭//

1、首先乙個大思路,我們用矩陣按鍵的時候,首先是先確定哪一行,接著是哪一列

(1)我讓行作輸出,並輸出低電平,列作輸入,並讀取電平,當有按鍵按下的時候就會有電平變化–>這個是用來判斷是哪一行

void

key_l_init

(void

)

(2)下面確定哪一列,因為我們剛剛確定了哪一行,只要確定哪一列,就可以找出按下的位置,這次思路是讓列輸出並輸出高電平,讓行作輸入並讀取電平變化

void

key_r_init

(void

)

(3)下面只需要作按鍵位置處理就可以了

char

keyscan

(void)}

if(pain(6

)==0)

}if(pain(5

)==0)

}if(pain(4

)==0)

}if(column==1)

if(pain(2

)==1)

if(pain(1

)==1)

if(pain(0

)==1)

}}if(column==2)

if(pain(2

)==1)

if(pain(1

)==1)

if(pain(0

)==1)

}}if(column==3)

if(pain(2

)==1)

if(pain(1

)==1)

if(pain(0

)==1)

}}if(column==4)

if(pain(2

)==1)

if(pain(1

)==1)

if(pain(0

)==1)

}}}return key_number;

}

stm32 工業按鍵檢測 STM32按鍵的檢測

stm32的按鍵檢測相對比較簡單,首先按部就班的初始化連線的到的i o,然後寫乙個按鍵掃瞄函式,這個和51微控制器的差不多。以下是乙個比較典型的例子 利用按鍵控制led key.件 ifndef key h define key h include sys.h definekey0 gpio rea...

STM32按鍵實驗

用systick做時間20ms的判斷,用狀態機概念的按鍵掃瞄三狀態去除抖動,狀態0 有按鍵按下,狀態1 有按鍵按下,判斷具體按鍵,狀態3 判斷按鍵抬起,沒20ms進行狀態的判斷。流程圖 systick程式 不包括初始化程式,初始化程式在delay.c中 systick load 20 fac ms ...

stm32按鍵輸入

對於上乙個實驗流水燈來說,這一次的實驗是獲取輸入的乙個小demo。在課堂上,看老師除錯的時候,只要有輸入則輸入暫存器idr的值就會改變,所以想要獲得輸入只需要迴圈去獲取idr的值即可。在stm32的庫中有乙個讀取輸入資訊的函式 uint8 t gpio readinputdatabit gpio t...