char data[4][4]={{'1','2','3','A'},{'4','5','6','B'},{'7','8','9','C'},{'*','0','#','D'}};
void setup()
{
Serial.begin(9600);
char i,j;
volatile char *dir_D,*dir_B;
volatile char *row,*col;
long k;
dir_D=0x27; dir_B=0x24;
row=0x28;col=0x23;
*dir_D=0x0F;*dir_B=0x00;
while(1)
{
for(i=0;i<4;i++)
{
*row = 1<<i;
if(*col)
{
if(*col==0x01)
j=0;
else if(*col==0x02)
j=1;
else if(*col==0x04)
j=2;
else if(*col==0x08)
j=3;
delay(500);
Serial.println(data[i][j]);
}
}
}
}
void loop()
{
}