微控制器獨立按鍵學習

2021-10-06 17:11:52 字數 1251 閱讀 3532

輕觸開關是一種電子開關,使用時,輕輕按開關按鈕就可使開關接通,當鬆開手時,開關斷開。如下圖:

「1,2」和「3,4」管腳之間距離短,初始不導通,「1,3」和「2,4」管腳之間距離長,初始值導通。

當按鍵按下時,距離短的會變為導通,距離長的會變為不導通,所以就可以利用按鍵這一特性來控制其他的事物。

例如管腳1接微控制器的乙個引腳,管腳2接地。當按鍵被按下時,就會給這個引腳乙個低電平。如果不按,微控制器的這個引腳預設的是高電平。

按鍵在閉合和開啟時,觸點會出現抖動現象

具體有兩種消抖方法,硬體消抖和軟體消抖,

硬體消抖是通過充放電延時時間來進行消抖,但成本高,乙個按鍵就需要(乙個電阻與乙個電源),所以一般選擇軟體消抖,軟體消抖時間一般為10ms。

硬體消抖電路圖

//定義標頭檔案

typedef

unsigned

char uchar;

//巨集定義

typedef

unsigned

int uint;

sbit led=p2^0;

//定義引腳

sbit k1=p3^1;

void

delay

(uchar i)

//延時函式 i=1時 延時10us

void

key(

)//按鍵處理子函式

while

(! k1)

;//鬆開按鍵}}

void

main()

//主函式

delay

(100);

//延時

}proteus整合環境圖

獨立按鍵控制 51微控制器實驗

用兩個按鍵控制顯示。乙個按鈕按下使第二個數碼管上數字從0到9迴圈顯示,另乙個按鈕按下使第三個數碼管上數字從9到0迴圈顯示。include 51微控制器標頭檔案 include define uchar unsigned char 巨集定義 define uint unsigned int uchar...

微控制器 按鍵掃瞄

按鍵掃瞄,我想應該是比較簡單的微控制器應用了,但是有時候看起來簡單的東西反而不好寫。本文拿大部分人覺得簡單的按鍵掃瞄聊聊我工作至今對於軟體結構的理解。嗯,對的,是結構,不是架構,暫時不敢提架構這個詞。下面說說我個人對於乙個按鍵檢測的 理解。按鍵檢測需要做什麼事情呢?乙個是按鍵按下的這個物理事件的檢測...

微控制器(四) 矩陣按鍵

矩陣鍵盤共有16個按鍵,如何通過按乙個按鍵,能夠將對應的引腳電位拉低,下面看一下電路圖 大概就是這樣,掃瞄按鍵的程式如下 unsigned char key scan void 這是縱向掃瞄 keyport 0xfd if 0xfd keyport 第二組四個按鍵 keyport 0xfb if 0...