Hola, antes que nada perdón si este tema ya se encuentra en algún otro post, el problema no es que no se usar el buscador del foro!

el tema es que no se cómo llamarlo, pero paso a describir que es lo que quiero hacer y ustedes me dicen que opinan o con que nombre lo buscaría porque la verdad que no tengo ni idea como buscarlo.
tengo un pic con un lcd en el cual tengo un menú con varias opciones, cuando entro en una opcion tengo que cambiar un valor con cada pulsación de un botón mas (o up, se incrementa el valor) y un menos (o down, se decrementa el valor), pero el tema es que el usuario va a tener que cambiar por ejemplo de un valor de 30 a 200 por ejemplo pero con un incrementos de a 1, por tal motivo quiero programar una función que como suelen tener varios aparatos en donde el usuario presiona el boton y se va incrementando de a uno y si pasan por ejemplo 700 milisegundos con el boton presionado pasa a incrementar mucho mas rápido...
esto lo había pensado como voy a describir en el pseudo codigo (el pseudocodigo que pongo a continuación es solo ilustrativo ya que no tengo programado nada por ahora y no tengo las herramientas de programación a mano para programar y probarlo) me interesa únicamente la forma lógica de hacerlo, si alguien pone código mucho mejor

if(btn_up){
long valor_a_cambiar=0;
int cont=0;
while(btn_up){
if(cont<4){
cont++;
delay_ms(200);
}else{
delay_ms(10);
}
if(valor_a_cambiar<600){
valor_a_cambiar++;
}
imprimirValorEnLcd();
}
}
Ustedes que opinan??? o como lo harían ustedes?
P.D.: modifique el post porque habia puesto las 3 primeras lineas y por problemas con el teclado se me publico...
![redhot :5]](http://www.todopic.com.ar/foros/Smileys/default/redhot.gif)