功能
按鍵,在數碼管上顯示,無法顯示的字元不顯示
裝置準備
接到51微控制器p3口上
原理
講的鍵盤掃瞄原理部分很好,下文**採用逐行掃瞄
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[17]
=;void
delay
(uint xms)
void
display
(uchar num)
void
keyscan4x4
(void
)while
(temp!=
0xf0
)display
(key)
;//數碼管顯示函式}}
/*第二行掃瞄*/
p3=0xfd
;//1111 1101
temp=p3;
temp&
=0xf0;if
(temp!=
0xf0
)while
(temp!=
0xf0
)display
(key)
;//數碼管顯示函式}}
/*第三行掃瞄*/
p3=0xfb
;//1111 1011
temp=p3;
temp&
=0xf0
;//將高四位的值賦給中間量
if(temp!=
0xf0
)//中間量的值與預期的0xf0不符,所以第3行有鍵被按下
while
(temp!=
0xf0
)display
(key)
;//數碼管顯示函式}}
/*第四行掃瞄*/
p3=0xf7
;//1111 0111
temp=p3;
temp&
=0xf0
;//將高四位的值賦給中間量
if(temp!=
0xf0
)//中間量的值與預期的0xf0不符,所以第4行有鍵被按下
while
(temp!=
0xf0
)display
(key)
;//數碼管顯示函式}}
}/*主函式*/
void
main()
}
矩陣鍵盤 數碼管
在沒有數字顯示的開始,順序為矩陣鍵盤後,依次顯示的數碼管0 f,6同時數字控制靜態展示。數字控制和矩陣式鍵盤 首先關閉全部的數碼管的段選不讓數碼管顯示不論什麼數字。然後位選中全部的數碼管,接下來僅僅須要選中全部的數碼管,以後的操作的僅僅須要送段選資料即可了,接著進入while 大迴圈不停的掃瞄鍵盤是...
矩陣鍵盤 數碼管動態顯示
我把矩陣鍵盤和數碼管動態顯示綜合起來寫了個程式。這個 的意思是在一開始8個數碼管什麼也不顯示,因為p0的初始值是0x00,當我們按下矩陣按鍵裡的按鍵時,8個數碼管動態顯示該按鍵的鍵值,直到按下了下乙個按鍵,8個數碼管顯示的內容才可能改變。include 目的是每按下乙個按鍵,8個數碼管就動態顯示對應...
STM32 矩陣鍵盤控制數碼管
在以往的32部落格中,見過了數碼管和矩陣鍵盤,今天就將他們結合起來,如何用矩陣鍵盤去控制數碼管。我們都知道數碼管可以顯示從0 9十位數字,也可以顯示從a f的字母,將數碼管和2 2矩陣鍵盤結合起來也就是使用四個按鍵分別控制加,減,置0和全部點亮。加減的功能不用多說也就是從0加到f,如果繼續增加的話又...