la verdad que tambien me e fijado que tienes decimales y no los usas. me imajino que el retraso lo deves de tener l contar la cantidad de pulsos en un segundo. me equivoco?
de hay sacas las revoluciones. mas un muy ligero tiempo que se necesita para refrescar la pantalla lcd.. por que no pruevas a usar tmr0 y medir el tiempo que tarda en hacer un solo ciclo a relacion del oscilador del mismo pic. podrias scar el valor con mucha mas exactitud. tansolo tndrias que ajustar bien tmr0 y la reuccion de option_reg = %0000xxxx ajustandolas hasta que te de aprosimadamente revoluciones por minuto vastante exactas
me esplico mejor..
usando las interruciones de tmr0 y b0/int, podrias sacar con muha esctitud en unn solo ciclo las revoluciones. y sobrrte tiempo pra cer otras cuantas operciones con el pic, ala ve de rfrescarlo en pantalla a una velocidad en pantalla vastante vestial. (que reducirias pausndo o añadiendo mas fuciones o operaciones..)
Pongamos, en un momento del programa activas la interruccion de canvio de estado de b.0 de 0 a 1, locua que al accionarse la bujia entramos en la interruccion, comprovamos si la interruccion tmr0 esta activada si no es asi la activamos y dejamos tmr0 contando. (la varieble que incremente tmr0 en la interruccion por desvordamiento seria por ejemplo revoluciones) se activa otra vez la interruccion por canvio de estado de b.0 que l interrucion tmr0 esta activada la desactivamos al salir de la interruccion en el programa paramos la interruccion de canvio de estado b.0 y ya puedes usar la bariable revoluciones te consejava que fuera una bariable de 16bit asi tendrias una resolucion muy chula asta 65500 revoluciones (cosa que 18000 ya es mucho)
piensa que 18000 revoluciones por minuto equivale a una frecuencia de 300Hz. si el pic o aces funcionar a 4mhz ya tendras una resolucion bien alta para reducir el tiempo de un solo ciclo y aun asi las revoluciones seriaa la mitad si el motor es de 2 tiempos, una cuarta parte si fuera de 4 tiempos.. lo cual que podrias ajustar tmr0 muy bien para sacar una resolucion muy exacta y una gran velocidad recogiendo el valor de las rvoluciones.. (vamos podrias refrescar la pantalla sobrdamente mas de 10 veces por segundo. pero con que muestres l informacion en pantalla 5 veces por segundo ya qued una autentica virgeria)
un saludo: