Bueno en realidad no le aplico mucho a la programación pero la subrutina es la siguiente:
#byte port_b=6
int key2; // variable que corresponde al no. de pulsaciones del boton
float key3; // variable que transforma a key2 en decimal
int tiempo_acel(float &key3) // subrutina devuelve al prog. principal el no. decimal
{
key2=0;
port_b=0;
while(1){
while(input(PIN_B1)) // RB1 boton para aumentar no.
{
restart_wdt();
key2++;
key3=0.1*key2;
delay_ms(200);
lcd_gotoxy(16,1);
printf(lcd_putc," %1.1f",key3);
}
while(input(PIN_B2)) // RB2 boton para disminuir no.
{
restart_wdt();
key2--;
key3=0.1*key2;
delay_ms(200);
lcd_gotoxy(16,1);
printf(lcd_putc," %1.1f",key3);
}
if((input(PIN_B4))&&(key2!=0)){ // RB4 es como el "enter"
return key3;}
}
}