Problemas com Timer - Proteus X PIC

Olá galera.
Tive um probleminha com o PIC no Proteus, e fiquei intrigado com o ocorrido.
Estou tentando medir a frequencia de um sinal quadrado, utilizando a entrada T1CKI do PIC 16F877A.
Para saber quantos pulsos ocorreram eu configurei o timer2 para gerar uma interrupção em espaços de tempo conhecido, de forma que eu posso contar quantos pulsos ocorreram no timer1 e calcular qual a frequencia do sinal de entrada.
Pelo que encontrei no help do CCS e conforme fui simulando no Proteus, cheguei nessa formula pra encontar a frequencia de ocorrencia das interrupções do timer2:
F = F_Cristal / ( 4 * mode * period * postscale )
onde:
F é a frequencia de ocorrencia da interrupção do timer2
F_Cristal é a frequencia do cristal (22.1184MHz no meu caso)
mode = 16
period = 216
postscale = ??
Encontrei problemas com o postscale.
No proteus a fórmula fica assim, por exemplo, utilizando postscale = 3:
F = F_Cristal / ( 4 * mode * period * (2^3) )
Simulei isso e deu certo.
Mas quando gravei no PIC, ficou diferente.
F = F_Cristal / ( 4 * mode * period * ( 2 * 3 ) )
Uma coisa que pode ser, é que o CI que estou utilizando tem a terminação A e no Proteus ele não tem.
Alguem ja passou por isso? Ou eu que estou viajando?
Abraço!
Mazzer
Tive um probleminha com o PIC no Proteus, e fiquei intrigado com o ocorrido.
Estou tentando medir a frequencia de um sinal quadrado, utilizando a entrada T1CKI do PIC 16F877A.
Para saber quantos pulsos ocorreram eu configurei o timer2 para gerar uma interrupção em espaços de tempo conhecido, de forma que eu posso contar quantos pulsos ocorreram no timer1 e calcular qual a frequencia do sinal de entrada.
Pelo que encontrei no help do CCS e conforme fui simulando no Proteus, cheguei nessa formula pra encontar a frequencia de ocorrencia das interrupções do timer2:
F = F_Cristal / ( 4 * mode * period * postscale )
onde:
F é a frequencia de ocorrencia da interrupção do timer2
F_Cristal é a frequencia do cristal (22.1184MHz no meu caso)
mode = 16
period = 216
postscale = ??
Encontrei problemas com o postscale.
No proteus a fórmula fica assim, por exemplo, utilizando postscale = 3:
F = F_Cristal / ( 4 * mode * period * (2^3) )
Simulei isso e deu certo.
Mas quando gravei no PIC, ficou diferente.
F = F_Cristal / ( 4 * mode * period * ( 2 * 3 ) )
Uma coisa que pode ser, é que o CI que estou utilizando tem a terminação A e no Proteus ele não tem.
Alguem ja passou por isso? Ou eu que estou viajando?
Abraço!
Mazzer