Dúvida 16F628A TMR1

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Dúvida 16F628A TMR1

Mensagempor Junior_C » 02 Ago 2007 09:56

Alguem sabe qual a frequencia máxima que consigo ler no contador tmr1, estou utilizando cristal de 4Mhz, até 999Khz funcionou, se passar de 1Mhz ele não le nada, é isso mesmo?
Junior_C
Nibble
 
Mensagens: 72
Registrado em: 16 Nov 2006 14:30

Mensagempor fabim » 02 Ago 2007 10:17

como assim ler ??
Abraços
Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Junior_C » 02 Ago 2007 10:32

Montei um frequencímetro com o 16F628A, e estou utilizando o TMR1 como contador para saber a frequencia e o TMR0 para gerar a base de tempo, mas se passar de 999Khz na entrada do TMR1 ele não conta mais nada simplesmente para de contar.
Junior_C
Nibble
 
Mensagens: 72
Registrado em: 16 Nov 2006 14:30

Mensagempor painho » 02 Ago 2007 11:00

tem que cuidar que o clock da int nao pode ser maior que OSC/4, se for maior o pic se perde, isso pq ele vai ficar maior parte do tempo acenando a int ha se for trabalhar perto deste limite e bom ter os códigos bem otimizado se nao ele acaba se perdendo ate mesmo dentro da int
se realmente tiver necessidade de trabalhar com 1mhz ja bota o cristal de 20mhz
painho
Bit
 
Mensagens: 24
Registrado em: 16 Out 2006 09:21

Mensagempor fabim » 02 Ago 2007 11:32

bom vamos pensar assim..
O timer1 de 16 bits sem prescaller = 65535 valores possiveis.

Configuro o timer 0 para estourar em 100mS.

valor da frequencia capturada pelo timer 1 = valor contido nele X 1/0.1=10

Suponha que em 100mS ele capturou 65500 pulsos.
65500 * 10 = 655000 pulsos = 655khz.

Se voce configurar o timer zero para 1S ... a frequencia máxima sem que haja o estouro vai ser de 65,535KHZ ou seja valor máximo do timer1.

Se for da forma que eu descrevi e voce não esta usando prescaller, não sei como voce esta contando até 999khz a não ser que o timer0 esteja para 1 ou 10mS.

Abraços
Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Junior_C » 02 Ago 2007 14:10

Esse frequencimetro é o de exemplo no livro PIC Técnicas Avançadas com uma modificação para mostrar em LCD e Cristal oscilador, ele esta funcionando até 1Mhz se passar de 1Mhz ele não mostra mais, no texto marca que funciona até 40Mhz, o Timer 1 inicia em 55536 e estoura a cada 10000 contagens e incrementa uma segunda variavel e assim por diante, no meu se a frequencia da entrada do contador Timer1 for maior que 1Mhz ele não conta nada, permanece o valor que estava, abaixo de 1Mhz funciona normal, a minha dúvida é o Timer1 pode receber um clock de mais de 1Mhz na entrada, se o cristal do pic é de 4Mhz e o clk interno de 1Mhz.
Junior_C
Nibble
 
Mensagens: 72
Registrado em: 16 Nov 2006 14:30

Mensagempor fabim » 02 Ago 2007 14:28

pode sim sem problemas.
Pois o timer 1 deve estar configurado pra receber incremento externo e não interno..

Mais da forma voce perde muito a resolução, porque a cada estouro voce insere o valor de 55536, o tempo que voce leva pra escrever isso ele ja perdeu pulsos, isto em alta frequencia claro..

Os frequencimetros que eu faço eu uso apenas o TIMER0 pra contar..

Chego a 60mhz tranquilo no 16F628/20.

e comparando com o frequencimetro que eu tenho profissional a margem de erro é muitissimo pequena.

Abraços

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x