char Tecla;
char Teclas[17]={'7','8','9','/',
'4','5','6','x',
'1','2','3','-',
'.','0','=','+',' '};
#int_RB
void RB_isr(void){
Tecla=Teclas[Test_Teclado()];
.
.
}
int Test_Teclado(void){
int i,k,Filas;
Filas=0x0E; //xxxx1110.
output_b(Filas);
i=0;
for(k=0;k<4;k++){
if(input(PIN_B4)==0){break;}
i++;
if(input(PIN_B5)==0){break;}
i++;
if(input(PIN_B6)==0){break;}
i++;
if(input(PIN_B7)==0){break;}
i++;
shift_left(&Filas,1,1);
output_b(Filas); //Trasladamos el 0 a siguiente Pin.
}
output_b(0xF0);
return(i);
}