Página 1 de 1

Frequencimetro

MensagemEnviado: 18 Set 2010 22:23
por ddspereira
boa noite!
Estou precisando entender como funciona o contador no modo 16bits
estou usando PIC18F452 cristal 8MHZ
estou querendo fazer um frequencimetro, onde preciso medir quantidade de pulso em 1 segundo assim obtendo a frequencia e mostrar no display.
estou usando compilado MIKOC
obrigado.

Diogo Pereira

MensagemEnviado: 18 Set 2010 23:39
por cristian
o contador em 16 bits ele so estoura quando passar de 65536 para 0

se vc ta usando 8mhz entao o ciclo de maquina é de 500ns ( 0,0000005 s)

este timer vai estourar a cada 0,032768 ou seja 32,768ms

acho q é isso

MensagemEnviado: 19 Set 2010 07:53
por renatokodaira
O PIC tem 4 contadores/temporizadores, dos quais apenas o TMR2 nao pode receber sinais externos.

Dos que restam, o TMR0 pode receber sinais ateh 50MHz, o TMR1 ateh 16,6MHz e o TMR3 ateh 16,6MHz. Esses 3 timers sao de 16 bits.

Para frequencimetro eu acho mais adequado o TMR0 como receptor de sinais externos, porque ele eh quem tem mais opçoes de prescaler (divisao ateh 256) e por isso recebe sinais de frequencia maior. Assim voce terah mais escalas. E como base de tempo, pode usar o TMR1 com um cristal externo para gerar base de tempo baseado em 32768Hz. Com a base de tempo precisa voce gera a interrupçao, para a contagem do TMR1 (ou pega os valores dos registradores do TMR1) e faz a mediçao da frequencia desejada.
Cheque se houve estouro do TMR1, nesse caso aumente a escala do prescaler e refaça a mediçao.

MensagemEnviado: 20 Set 2010 23:21
por ddspereira
eu consegui fazer um codigo aqui está funcionando, meu contatdo está setado para funcionar no modo 16bits, borda de descida, ai tem o TMR3L e TMR3H, não estou conseguindo tratar os registradores, estou usando o TMR3L ele só vai até 255, como faço para usa-lo corretamente?
obrigado