按鍵矩陣(單鍵有效)

2021-07-09 11:14:30 字數 767 閱讀 7012

掃鍵流程

是否有按鍵按住?

┣ 是┃┗ 按鍵是否鬆開?

┃  ┣ 否,退出

┃  ┗ 是,按鍵狀態keyflag置零,退出

┃┗ 否

┗ 掃鍵

具體用c**實現

byte	keyflag ; // 記錄按鍵狀態

byte keybuffer; // 記錄按鍵上一狀態

byte keydelaytimer; // 按鍵計時器

byte halttimer; // 睡眠計時器

bit haltflag; // 睡眠標誌位

//---------------------------------

void interrupt (void)

//---------------------------------

void exitscan (void)

void clrhalt (void)

void scanportc (void)

void scanvdd_d (void)

else }

void scanvdd (void)

else

else

}}void onekeyscan (void)

else

exitscan();

}}

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

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

六 矩陣按鍵(4 4)

矩陣鍵盤 掃瞄法 例程 功能 按下按鍵 數碼管顯示 0 1 2 3 4 5 6 7 8 9 a b c d e f include sbit fmq p3 6 char duan 0123456789abcdef void delayms unsigned int i void delay500us...

矩陣按鍵掃瞄電路

說到鍵盤掃瞄,相信大多數人第一反應就是行列矩陣掃瞄,這樣我們可以用相對有限的io口得到盡可能多的按鍵。鍵盤掃瞄是微控制器技術的一種基本處理方法,學校的微控制器課程都會有相應章節進行闡述,只要按照課本上講述的方法,一般都能設計出比較可靠的鍵盤掃瞄電路與程式。課本上的鍵盤掃瞄方法 見下圖接法二 不能說是...