Página 1 de 1

PIC18F252 - interrupção de TMR0

MensagemEnviado: 29 Out 2009 09:25
por _blackmore_
Pessoal, bom dia.

Tenho a necessidade de usar a interrupção de timer0 do PIC18Fxx2 ( http://www.microchip.com/wwwproducts/De ... e=en010276 ) e estou apanhando mais que cachorro vagabundo! :(
Pelo que tenho apurado, o TMR0 dele é configurável para contar em 8 ou 16 bits, já consegui configurar isso, mas o meu problema está agora em conseguir fazer com que esse TMR entre em interrupção a cada 0,25s ou mesmo 0,5s ou ainda 1s ... a forma de calcular a frequência dele é diferente dos pic16 ... :?

Fqi = (clock/(4*PS)/(256-reload)

onde:

Fqi = frequência de interrupção
clock = valor do cristal utilizado
PS = Prescale
reload = repetições

como não tenho tantos recursos tecnológicos em casa, eu simulo no proteus e meço o período com o osciloscópio virtual dentro do proteus ... mas os valores não batem com o calculado.

-Será que a forma de calcular a frequência de interrupção está certa para este uC?
-Existe algum "macete" para fazer estes cálculos?
-Será que a simulação do proteus não é tão boa assim e eu preciso de uma bacada com instrumentos?

Agradeço aos amigos qualquer ajuda relaciona as questões acima. :)

MensagemEnviado: 29 Out 2009 13:55
por tcpipchip

MensagemEnviado: 29 Out 2009 15:00
por _blackmore_
vou testar ... mas isso aqui me chamou a atenção ...

This is designed for the 16F877A, but should work with other chips that have the same registers

abrax! e obrigado pela ajuda.

MensagemEnviado: 29 Out 2009 15:01
por Djalma Toledo Rodrigues
E o Prescaler ?

T0CON
bit 3 PSA: Timer0 Prescaler Assignment bit
1 = TImer0 prescaler is NOT assigned. Timer0 clock input bypasses prescaler.
0 = Timer0 prescaler is assigned. Timer0 clock input comes from prescaler output.
.