Duda con timer0 y t0ckl

buenas tardes... estoy trabajando en un proyecto que pueda detectar la cantidad de pulsos que entran a través del t0ckl hacia el timer0. pero se me ha presentado un problema... mi duda es como podria validar la entrada en este caso el pin gp2 de un pic 12f675 para que solo deje entrar cierta cantidad de pulsos durante 1 segundo y luego ese pin quede deshabilitado para que no entren mas pulsos de la cuenta. muchas gracias por su ayuda. ...
 
Puedes hacer uso del Timer1 con sincronización externa y usando un cristal de 32768 Hz.
Estableces el prescaler 1:1 y cargas el Timer1 con 32768 = 0x8000
Con esto consigues una interrupción cada 1 segundo exactamente.
Durante la interrupción del Timer1 puedes desactivar la interrupción del Timer0 para que deje de contar por GP2.

Nota: Para que esto funcione necesitas usar el oscilador interno como fuente de reloj primaria.

Suerte.
 
Puedes hacer uso del Timer1 con sincronización externa y usando un cristal de 32768 Hz.
Estableces el prescaler 1:1 y cargas el Timer1 con 32768 = 0x8000
Con esto consigues una interrupción cada 1 segundo exactamente.
Durante la interrupción del Timer1 puedes desactivar la interrupción del Timer0 para que deje de contar por GP2.

Nota: Para que esto funcione necesitas usar el oscilador interno como fuente de reloj primaria.

Suerte.

Hola...
Eso es pero sólo como comentario, no es suficiente con desactivar la interrupción del TMR0 porque esto sólo hace que el TMR0 deje de interrumpir más no de contar. Creo que es mejor que dentro de la rutina de interrupción del TMR1 (1seg) respaldar en un registro alterno el estado del TMR0 y ya después usarlo para lo que se requiera.
 
Hola...
Eso es pero sólo como comentario, no es suficiente con desactivar la interrupción del TMR0 porque esto sólo hace que el TMR0 deje de interrumpir más no de contar. Creo que es mejor que dentro de la rutina de interrupción del TMR1 (1seg) respaldar en un registro alterno el estado del TMR0 y ya después usarlo para lo que se requiera.
Sip, en realidad lo que se tiene que desactivar es el bit INTE del registro INTCON.
Si lo que quiere @Furlan6 es contar los pulsos que entran por GP2, yo me olvidaría del TMR0.

Así, habilitando y deshabilitando la interrupción externa por GP2, se pueden contar directamente los pulsos durante 1 segundo.
 
Atrás
Arriba