comprensione timer in PIC16F84

E

eddy12345

Guest
Hi guys,

Ho un problema cercando di fare un contatore in grado di gestire una vasta gamma di tempo.
Supponendo che il mio prescaler è di 4 e 231 i mov in TMR0

I get 4 (256-231) us = 100us

e ogni volta che trabocca, i aumentare il valore di un contatore.In questo caso ci vorrà 100us per ogni numero (fino a quando il valore massimo è stato raggiunto, che è 125).

Come faccio a creare un contatore in grado di gestire i valori tra 1 e 5000?Voglio che sia così perché i produrrà una serie di tempo di ritardo per l'uscita:

1) 0ms per 600 <count <5000
2) 4 ms per 0 <count <75
3) chiamare i valori di ritardo da tavola per 75 <count <600
4) riavviare count programma> 5000

 
Hi eddy12345,

Non si utilizza il timer1.È un timer a 16 bit e si può avere periodo di tempo da noi fino a pochi ms.

Esempio:
Fquartz = 4MHz, Prescaler = 2

per TMR1 = 0 il tempo è 131.07ms
per TMR1 = 65.500 il tempo è 70us

Il calcolo è stato effettuato utilizzando la formula:
= tempo ((Fquartz * Prescaler) / 4) * (65535 - TMR1), il risultato è in noi.

Saluti,
Adi

 

Welcome to EDABoard.com

Sponsor

Back
Top