| Autor | Mensagem |
|---|
eddy12345
Registrado em: 22 de janeiro de 2008 Posts: 4 Localização: Reino Unido
| 14 de fevereiro de 2008 8:24 temporizadores entendimento no PIC16F84 | | |
|
| Oi pessoal,
Eu tenho um problema ao tentar fazer um contador que pode lidar com uma vasta gama de tempo. Supondo que o meu prescaler é 4 e 231 mov em TMR0
i get 4 (256-231) nós = 100us
e cada vez que transborda, eu aumento o valor de um contador. Neste caso, terá 100US para cada contagem (até o valor máximo foi alcançado, que é 125).
Como posso fazer um contador que pode lidar com valores entre 1 a 5000? Eu quero que seja assim porque eu vou produzir um conjunto de tempo de atraso para a saída:
1) 0ms para 600 <count <5000 2) 4ms para 0 <<75 3) O convite valores da tabela de atraso para 75 <count <600 4) contagem de reiniciar o programa> 5000 |
|
| Voltar ao topo | |
 |
Google AdSense

| 14 de fevereiro de 2008 8:24 Anúncios | | |
|
|
|
|
| Voltar ao topo | |
 |
adidav
Registrado em: 19 de abril de 2006 Posts: 15 Ajudado: 1 Localização: Roménia
| 14 de fevereiro de 2008 11:40 Re: temporizadores entendimento no PIC16F84 | | |
|
| Oi eddy12345,
Não usar o Timer1. É um temporizador de 16 bits e você pode ter um período de tempo de alguns nós até ms.
Exemplo: Fquartz = 4MHz, prescaler = 2
para TMR1 = 0 o tempo é 131.07ms para TMR1 = 65500 o tempo é 70us
O cálculo foi feito usando a fórmula: tempo = ((Fquartz Prescaler *) / 4) * (65535 - TMR1), o resultado está em nós.
Saudações, ADi |
|
| Voltar ao topo | |
 |