Hola Churi, no nos comentas la exactitud que pretendes conseguir en las mediciones ya que esto hará que el circuito (en realidad la conexión del PIC) cambie considerablemente.
Hola de nuevo, la exactitud va a depender de las funciones que introduzca, me explico, para la primera fase del proyecto que era la de controlar que marcha esta metida, no creo que necesite mucha exactitud sino valores relativos y constantes. No necesito saber que son 1583 RPM sino unas 1400 a 1600 RPM, pero para las siguientes, aunque a priori no necesite mucha mas exactitud si que quería representar el valor de esas RPM o velocidad.
Yo en tu lugar usaría usaría RA4 para la entrada del cuenta vueltas, de esta manera tienes libre RB0 para usar como entrada del velocímetro, creo que con esta conexión aparte de obtener una mayor exactitud el programa será sustancialmente más sencillo de realizar.
Decidi usar la interrupción del puerto B (4..7) porque desconocía que hubiera mas del tipo RB0, la del RA4 que se usa con la interrupción que provoque T0CKL ???.
De todas formas para un buen control necesitaría 2 mas (aunque podría montarmelo de otra forma): para el Punto muerto y para el pulsador de estados /configuración.
¿Lo ves muy complicado utilizando la interrupción del puerto B para leer esas frecuencias?
Más alla de eso yo usaría un reloj un poco más alto que los 4MHz que pretendes usar , pero esto lo puedes comprobar en la practica.
Pensaba usar esa frecuencia (solo si se puede calcular bien con esta) porque para optimizar el circuito puedo quitar el cristal por el oscilador que tiene interno el 16F628 y así ahorrar componentes. Hasta donde he leido en el 16F628a el oscilador interno trabaja a 4Mhz.
Del resto, tomo nota y modifico el circuito y de nuevo muchas gracias.