char cadena[3];
int valor;
char c;
cadena[2] = 0;
lcd_init(); // el lcd sólo se inicializa una vez (mejor que coloques esto en el programa principal)
printf (lcd_putc , "pulse B"); // esto también basta con ejecutarlo una vez y no dentro de un bucle
c = kbd_getc();
while(c != 'B')
{
c = kbd_getc(); // nos mantenemos aquí dentro hasta que se pulse B
}
printf (lcd_putc , "/f"); // una vez se ha pulsado B y hemos salido del bucle borramos la pantalla del lcd
cadena[0] = kbd_getc( );
while(cadena[0] = 0)
{
cadena[0] = kbd_getc( ); // esperamos pulsación para capturar las decenas
}
printf (lcd_putc , "%c",cadena[0]); // una vez se ha producido pulsación y hemos salido del bucle representamos la 1ª tecla capturada
cadena[1] = kbd_getc( );
while(cadena[1] = 0)
{
cadena[1] = kbd_getc( ); // esperamos pulsación para capturar las unidades
}
printf (lcd_putc , "%c",cadena[1]); // una vez se ha producido la 2ª pulsación y hemos salido del 2º bucle representamos la 2ª tecla capturada
valor= atoi (cadena); // llegados aquí, aquí hacemos la conversión
c = kbd_getc();
while(c != 'A')
{
c = kbd_getc(); // no salimos de aquí hasta que se pulse A
}