Temporizador descendente

#1
hola amigos, para un temporizador ascendente uso la siguiente instrucion:
tmr0=217 'se carga 217 a TMR0 para que cada 39 pulsos se produzcan 10 ms ovf=ovf+1 'se incrementa el registro que cuenta los OVF
if ovf==100 then ' cien pulsos de OVF hacen un seg.
ovf=0
rseg=rseg+1 'se incrementa el reg. de segundos
endif
if rseg==60 then
rseg=0 'si rseg=60 se ha cumplido un min.
rmin=rmin+1 'se incrementa rmin
como hacer para hacerlo en forma descendiente `por ejemplo de 10min. a 0
 
#2
hola amigos, para un temporizador ascendente uso la siguiente instrucion:
tmr0=217 'se carga 217 a TMR0 para que cada 39 pulsos se produzcan 10 ms ovf=ovf+1 'se incrementa el registro que cuenta los OVF
if ovf==100 then ' cien pulsos de OVF hacen un seg.
ovf=0
rseg=rseg+1 'se incrementa el reg. de segundos
endif
if rseg==60 then
rseg=0 'si rseg=60 se ha cumplido un min.
rmin=rmin+1 'se incrementa rmin
como hacer para hacerlo en forma descendiente `por ejemplo de 10min. a 0
Hola lo que puedes hacer es una variable con un valor x que a la ves que incrementas una variable vas en decremento con la otra, digamos que la variable se llama temperizador y tu quieres que valla de 10min a 0min, entonces como ya tienes los minutos calculados lo que haces es:

temporizador var byte
temporizador = 10 'esto cuando vas a empezar a temporizar

if rmin = 1 then 'cuando llega al minuto
rmin = 0
temporizador = temporizador - 1
endif

if temporizador = 0 then
lo que quieras que haga aquí
temporizador = 10 'en el caso vuelva a hacer 10minutos
endif

Todo esto seria en casos que se vaya a fijar dentro de un loop la temporizacion, osea que sea programable.
 
Arriba