Forum: Mikrocontroller und Digitale Elektronik LPC936 THn und TLn berechnen.


von Hannes K. (chgruber)


Lesenswert?

Ich hab vergessen wie ich THn und TLn berechne um beim Timer eine 
bestimmte Zeit einzustellen.

Kann mir jemand helfen?

von Programmierer (Gast)


Lesenswert?

Ich auch, aber schau doch mal ins Datenblatt.

von Hannes K. (chgruber)


Lesenswert?

Im Datenblatt habe ich leider auch nichts gefunden.

von Hannes K. (chgruber)


Lesenswert?

Im Scriptum meines früheren Professors bin ich fündig geworden.





Üblicherweise werden Zeiten in der Größenordnung von Sekunden/Minuten 
benötigt.
Arbeitet der Timer als 16 Bit Zähler, also im Mode 1, so vergehen 65.535 
Mikrosekunden,
oder 65,535 ms bis der Zähler den ersten Überlauf produziert, also das 
erste Mal das
Timerinterruptprogramm bearbeitet. Es werden also mehrfache 
Interruptaufrufe erforderlich
sein, bis die nach Ablauf der gewünschten Zeit erforderlichen Aktionen 
gesetzt werden.
Nachdem die in der Aufgabenstellung geforderte Zeitdauer in den 
seltensten Fällen ein
ganzzahliges Vielfaches von 65,535 ms ist, wird man den Zähler nicht von 
0-65535 zählen
lassen, sondern immer von einem bestimmten Anfangswert ausgehend.
Beispiel: Geforderte Zeitdauer=10 Sekunden.
Würde der Zähler immer von 0-65535 zählen, so wären 
10000ms/65,535ms=152,59
vollständige Durchläufe und damit 152,59 Interrupts erforderlich.
Gewählt werden 153 Durchläufe. Dies ergibt 10.000.000 
Mikrosekunden/153=65359
Mikrosekunden zwischen 2 Interrupts. Damit der Zähler nach 66359 
Mirkrosekunden einen
Interrupt erzeugt, muß er immer bei der Zahl 65535-65359=176 beginnen.
176 dezimal = 0x 00B0
TH0=0x00;
TL0=0xB0;

von Bernhard S. (b_spitzer)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.