Ich hab vergessen wie ich THn und TLn berechne um beim Timer eine bestimmte Zeit einzustellen. Kann mir jemand helfen?
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;
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.