Lo que podrias hacer para medir la frecuencia, es usar la interrupcion del registro tmr0 como contador:
1- Configuras el tmr0 como contador, podes leer esto si no sabes como
http://members.fortunecity.es/electronico/tutoriales/tutopic16f84/p9.html2- En la rutina principal, haces una rutina que cuente el tiempo (en segundos o lo que sea)
3- El contador lanza una interrupcion cuando desborda (cuando conto 256 pulsos)
4- Para calcular la frecuencia dividimos 256 por la cantidad de segundos q contamos en la rutina principal
Y eso es todo. Como es muy complicado dividir en ensamblador, lo que podrias hacer es revisar el valor del contador cada un segundo y resetearlo, entonces no tendrias q dividir.
Saludos y suerte!
PD: por este metodo podrias medir frecuencias mayores que la del cristal que uses. Aunq tiene su limite, habria q calcularlo