4 4矩陣鍵盤的實現方式

2021-09-30 09:13:36 字數 991 閱讀 3486

在網上看了些4*4矩陣鍵盤的程式,哥們自己也想寫乙個,首先是初始化就是p0口賦初值,這是數碼管的i/o口,然後就是p3口的賦初值,這個是選通有幾個數碼管的,就是這個意思吧,最重要的是p1口這是連線鍵盤的i/o口。首先說說它的原理(我是依據我自己的圖來寫的,我的圖是p1.0-p1.3是行,p1.4-p1.7是列掃瞄)。

先是令p1口

, p1=0xf0;高四位p1.4-p1.7全為高電平(為該列檢測)如果有按鍵按下那麼為低電平,這就能知道是那一列,然後在進行掃瞄,那麼令p1.0-p1.3全為高電位

p1=0x0f進行行掃瞄。哥們其實都看出來,這樣可以把p1的不同的值分別代入到函式,

該函式可以是乙個unsigned char 型別的函式,這樣p1分別代入的時候,就可以分別返回不同的值,進行相或,可以得到乙個準確的值,這後面的事就好辦了,把值代入到p0口進行顯示了。

#include

#include

#define uchar unsigned char

#define uint  unsigned int

unsigned char code disp_code=;

unsigned char code key_code=;

void delayms(uint ms) }

uchar  scanfdown(uchar  p1)

else if (p1==0x07||p1==0x0e||p1==0x0d||p1==0x0b)    //進行行掃瞄

if ((scanf1&b)!=b) }

else

}   

void main()

}p0=disp_code[value]; }

} 在寫這個程式的時候我是想用遞迴的方法來寫,但是到最後沒用遞迴用,因為我

在用遞迴寫的同時,遞迴最重要的就是條件判斷其函式中止,寫到最後,我找不到這樣

的條件,如果用遞迴寫的話,我也只是遞迴一次。後來我就放棄用遞迴的想法,希望那個哥們用遞迴寫出來,哥們我也學習。

51的矩陣鍵盤 4 4 的原理與實現

個人感覺,這個矩陣鍵盤的出現,就是為了減少序列口的使用,像這個4 4的矩陣鍵盤,8個序列口就可以控制16鍵,而如果是普通的則需要16個序列口,同樣的效果,序列口的使用減少了一般,對於序列口資源緊張的情況,這個矩陣鍵盤是個不錯的選擇。但凡事都不可能都是好的,你的序列口使用減少了,那麼使用難度也相應上去...

4 4矩陣鍵盤的FPGA驅動

4 4矩陣鍵盤有4行與4列,在按鍵按下時一行與一列即導通。其驅動方法非常簡單。本設計中以一定的時間頻率分別將每一行的引腳電平拉高,並在拉高某個引腳的同時檢測每一列的電平變化,當檢測到某列引腳有上公升沿跳變時,即為該行與該列導通對應的那個按鍵被按下。例如上圖中,拉高pd4,此時檢測到pd2引腳有上公升...

4 4 矩陣式鍵盤電路的改進

本文向大家推薦乙個精簡io介面的4 4鍵盤電路,該鍵盤電路僅僅使用4條io介面引線,即可完成一般需要8位介面才能完成的功能。在51微控制器系統中,經常使用4 4鍵盤,一般情況下,都是使用乙個8位的介面,外接16個按鍵。下圖就是乙個常規的4 4鍵盤電路圖。這種常規的矩陣鍵盤電路,相信大家都司空見慣了,...