Generar Pausa en Picc

#1
Hola gente qué tal....

Sucede que estoy haciendo un programa basado en un reloj pero tengo un problemita; y es que no sé cómo generar una pausa del reloj, algó así como un play y un pause para el reloj; NO lo estoy haciendo con ds1302, así que les recomiendo si alguno de ustedes conoce alguna instrucción o en su defecto una librería para generar un retardo equivalente a una pausa.

Un saludo a todos.
 
#2
el tipico
#use delay(clock=40000000) //la frecuencia del micro

delay_us(1000); // 1msegundo
delay_ms(1000); //1 segundo

aunque la forma optima es utilizando interrupciones
 
#3
Imagino que el reloj lo estas implementando mediante el timer? entonces podrías detener la interrupción del timer cuando apretes el boton de "Pause" de esa manera se detendría el conteo, y rehabilitarla cuando oprimas "Play"
 
#6
Respuesta rapida 52 minutos y 15 segundos

for(n=0;n<(52*60)+15=;n++) delay_ms(1000);

esta es la peor forma de hacerlo.

La forma de hacerlo son con los timers y si funciona con pilas debes dormirlo.

Como que con las interrupciones no llegas a las horas, se busca un valor alto, por ejemplo cada 100ms.

En la rutina de interrupciones pones un contador que aumente en cada interrupcion y cuando llege a ((52*60)+15)*10 (por que son 100ms) encienda la bombilla o lo que haga falta.
 
#7
podrias utilizar un while: si x pata cambia se mete al while de tal forma que no siga contando, si la undes nuevamente, se sale y no vuelve a entrar hasta que la vuelvas a undir, con un suich y una resistencia de pull-up, puede que sea lo que necesitas
 
Arriba