Buenas tardes, vengo a consultar un proyecto de mi escuela por que apenas estoy dando mis primeros pasos en PIC, estoy diseñado un tacometro usando CCS PIC Compiler, Proteus y el PIC16f877A, donde debo obtener el tiempo entre cada pulso de mi sensor exterior que estoy simulando como un tren de pulsos en Proteus.
Mi duda es sobre el desbordamiento del Timer 1, uso el Timer 1 para tomar el numero de Ticks entre los pulsos y ese funciona muy bien, hasta una frecuencia de 11-12HZ, por teoria se que el Clock que uso de 20Mhz tiene sus limitantes, entonces para medir Ticks que rebasen los 66535 Ticks (es el máximo para Timer1 si no estoy tan mal), uso la interrupción del Timer 1 para formar mi tiempo de la siguiente manera:
Tiempo= Ticks de RBO + # de desbordamientos
Sin embargo cuando los tiempos entre pulsos son mayores a los Ticks máximos, el LCD muestra datos que no son correctos, y el correspondiente a desbordes se incrementa sin control.
Adjunto mis archivos como mi código en un bloc de notas para su visualización y mi simulación en Proteus como una imagen que estoy usando para simular así como mi código, si me pudieran orientar donde podría tener el error.
¡Gracias!
(Anotación: ya también intente por CCP y ese me mide a partir de 15 HZ, pero según las características del sistema son desde menos de 1 Hz.