Frecuencia que puede sorportar el pic cuando existe un conteo de pulsos

hola compañeros, soy nuevo en este foro de electronica
soy de venezuela , T.S.U en telecomunicaciones y actualmente estudiante Ing. Electronica.

Se me presentó una dad con respecto a los encoders incrementales y PIC.

Estoy simulando en proteus un conteo de pulsos(que es generado por el encoder) y el pic los lee, entonces, mi duda es cuanta es la frecuencia que soporta el pic?

la programación que estoy usando es la interrupcion por RB0 y la cantidad de interrupciones generadas lo imprimo en una pantalla virtual. Sin embargo cuando hago calculos ,el numero de interrupciones divida entre el tiempo, deberia dar la frecuencia que se le está introduciendo al pic.

sin embargo no es asi, por ejemplo el enocder da como salida (5v, 500Hz) y la salida (pantalla virtual del proteus) me da 144 interrupciones con un tiempo de 0.64segundos, si divimos 0.64s/144 = 4.44ms si le sacamos el inverso da 225Hz, es decir la mitad de la frecuencia real.

Sin embargo cuando introduzco en el encoder que de una salida (5v , 200Hz), los calculos son correctos y el numero de interrupciones (vista desde la pantalla virtual) y el tiempo (al dividirlo) coincide con la frecuencia del encoder que da en la salida.

Sin embargo puedo pensar que puede ser error del simulador, pero convoco este foro para que me oriente un poco.

Nota: el tiempo no lo saco del pic, sin del reloj que aparece en proteus al arrancar un programa. tambien la programación que utilizo es lenguaje C, el pic que utilizo es 18f4550.
 
Atrás
Arriba