📄 keyboard.c
字号:
#include "keyBoard.h"
//4*4按键排列
const unsigned char keyBoard[4][4]={ZHOUQI,PINLV,JIANGE,OK,
HISTORY,UP,DOWN,CANCEL,
Hz1,Hz2,Hz3,Hz4,
Hz5,Hz6,Hz7,SIXTEEN
};
//扫描键盘函数,返回按下键的值,不消抖
unsigned char KeyScan0()
{
KEY_PORT=0xff;
Delay20us(2);
row1=0;
Delay20us(2);
if(line1==0)
return keyBoard[0][0];
if(line2==0)
return keyBoard[1][0];
if(line3==0)
return keyBoard[2][0];
if(line4==0)
return keyBoard[3][0];
row1=1;
Delay20us(2);
row2=0;
Delay20us(2);
if(line1==0)
return keyBoard[0][1];
if(line2==0)
return keyBoard[1][1];
if(line3==0)
return keyBoard[2][1];
if(line4==0)
return keyBoard[3][1];
row2=1;
Delay20us(2);
row3=0;
Delay20us(2);
if(line1==0)
return keyBoard[0][2];
if(line2==0)
return keyBoard[1][2];
if(line3==0)
return keyBoard[2][2];
if(line4==0)
return keyBoard[3][2];
row3=1;
Delay20us(2);
row4=0;
Delay20us(2);
if(line1==0)
return keyBoard[0][3];
if(line2==0)
return keyBoard[1][3];
if(line3==0)
return keyBoard[2][3];
if(line4==0)
return keyBoard[3][3];
row4=1;
Delay20us(2);
return NOKEY;
}
unsigned char KeyScan() //对按键进行消抖
{
unsigned char a,b;
a=KeyScan0();
Delayms(100);
b=KeyScan0();
if(a!=b||a==NOKEY||b==NOKEY)
{
return NOKEY;
}
Delayms(150);
return a;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -