?? keypad.c
字號:
/*
標題:小鍵盤的輸入函數
版本:1.0
Target:89S51
函數描述: char gotkey(void)
從4ⅹ4小鍵盤輸入數據,返回0 15
小鍵盤的連接方式:
1 P20 -----0----1----2----3
| | | |
2 P21 -----4----5----6----7
| | | |
3 P22 -----8----9----10---11
| | | |
4 P23 -----12---13---14---15
| | | |
5 P24 ---- | | | |
| | | |
6 P25 ---------- | |
| |
7 P26 --------------- |
|
8 P27 --------------------
*/
#include <REGX51.H>
code char key_code[]={0x7E,0XBE,0XBD,0XBB,0XDE,0XDD,0XDB,0XEE,
0XED,0XEB,0X7D,0X7B,0XE7,0XD7,0XB7,0X77};
code ksp[4]={0x7F,0xBF,0xDF,0xEF};
void delay (void) { /* 時間延遲函數 */
unsigned char i,j;
for (i=0;i<5;i++)
for(j=0;j<255;j++)
;
}
char keypad_scan()
{
char key,i;
P2=0xF0;
while (P2!=0xF0);
do{
for(i=0;i<=3;i++)
{
P2=ksp[i];
if(P2!=ksp[i])
{
delay();
key=P2;
if(key!=ksp[i])
{
return(key);
}
}
}
} while(1);
}
// 檢查是否有按鍵按下
char gotkey()
{
char temp,i;
temp=keypad_scan();
for (i=0;i<=15;i++) {
if(temp==key_code[i]) return(i);
}
return(16);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -