#include "keyPad.h";
//#include "LCD.h";
volatile char *dirf,*outf,x;
volatile char *dira,*outa,*dirc,*inc;
volatile char i,number;
volatile char keypadScan[4][4]={{1,2,3,11},{4,5,6,12},{7,8,9,13},{15,16,17,14}};
volatile char row[9]={0,0,1,0,2,0,0,0,3};
volatile char col[9]={0,0,1,0,2,0,0,0,3};
volatile long j;
void setup() {
// put your setup code here, to run once:
dirf=0x30;
*dirf=0x0f;
outf=0x31;
init_keypad();
while(1)
{
scan();
}
}
void loop() {
// put your main code here, to run repeatedly:
}
void init_keypad()
{
dira=0x21;dirc=0x27;
*dira=0x0f;*dirc=0x00;
outa=0x22; inc=0x26;
*outa=0x00;
}
void scan()
{
for(i=0;i<4;i++)
{
*outa=1<<i;
if(*inc!=0){
//*outf=row[1<<i];
//*outf=col[*inc];
*outf=keypadScan[row[1<<i]][col[*inc]];
}
}
return number;
}