|
|
大家好,这是我写的矩阵键盘库函数:
#include <STC89C5xRC.H>
#define keyboard_pin P1
//x1->P10,x2->P11,...
//y1->P14,y2->P15,...
unsigned char code keyboard_table[4][4]={
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
unsigned char keyboard_check(){
unsigned char x,y,ch='?';
keyboard_pin=0xF0;
for(y=0;y<5;y++){
if((keyboard_pin&(0x80>>y))==0)break;
}
keyboard_pin=0x0F;
for(x=0;x<5;x++){
if((keyboard_pin&(0x01<<x))==0)break;
}
if(x<4 && y<4)ch=keyboard_table[x][3-y];
return ch;
}
|
|