eddy12345
Beitritt: 22. Januar 2008 Beiträge: 4 Ort: Vereinigtes Königreich
| 14. Februar 2008 8:24 Verständnis Timer in PIC16F84 | | |
|
| Hallo Jungs,
Ich habe ein Problem versucht, einen Zähler, der eine breite Palette von Zeit zu bearbeiten können. Unter der Annahme, dass meine Vorteiler 4 und i mov 231 in TMR0 ist
i get 4 (256-231) = us-100US
und jedesmal, wenn es überläuft, i erhöhen Sie den Wert eines Zählers. In diesem Fall wird es 100us für jede Menge nehmen (bis zum maximalen Wert erreicht worden, die 125 ist).
Wie mache ich einen Zähler, der Werte zwischen 1 verarbeiten kann, um 5000? Ich will es so sein, weil ich eine Reihe von zeitlichen Verzögerung für die Ausgabe ergibt:
1) 0mS für 600 <count <5000 2) 4 ms für 0 <count <75 3) Call Table Delay-Werte für 75 <count <600 4) Neustart des Programms zählen> 5000 |
|
adidav
Beitritt: 19. April 2006 Beiträge: 15 Geholfen: 1 Ort: Rumänien
| 14. Februar 2008 11:40 Re: Verständnis der Timer in PIC16F84 | | |
|
| Hallo eddy12345,
Sie nicht, benutzen Sie den Timer1. Ist ein 16-Bit-Timer und Sie können Zeitraum von ein paar uns bis ms haben.
Beispiel: Fquartz = 4MHz, Prescaler = 2
für TMR1 = 0 ist die Zeit 131.07ms für TMR1 = 65500 ist die Zeit 70us
Bei den Berechnungen wurde nach folgender Formel: time = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), das Ergebnis ist in uns.
Grüße, Adi |
|