Gast
#269188
Hallo @all!!
Ich hätte ein paar fragen zum timer die mir ältere forum-beiträge nicht
konkret beantworten können...
Ich hab meinen Timer0 (AT89S8252, 12Mhz, 8051er) im 8-Bit-Modus
laufen. Nach 12 oder 13 mal timer0 Overflow-bit
überprüfen/löschen/warten auf nächsten overflow
soll eine ca. 150 - 160ms lange schleife erzeugt werden.
- Wenn das overflow-Bit hardwaremäßig gesetzt wird hält mein timer
automatisch an oder muss ich ihn mit clr TR0 wieder stoppen?
- hab ich beim initialisieren des timers alles richtig gemacht -
vor allem nichts vergessen???
set_timer:
mov tmod,#00000000b ;--- timer-operation, 8Bit timer
mov tcon,#00000000b
;--später wird der timer gestartet....
setb 8ch (TR0 = 1)
;-- ....und gewartet, bis das Overflow-bit gesetzt wird
waiting_for_overflow:
jnb 8dh,waiting_for_overflow
;-- jetzt wird das Overflow-bit geslöscht, eine variable
dekrementiert (von 12h bis 0h), und die timerschleife erneut
durchlaufen ???!!
(ich weiß dass die SFRs tmod und tcon nach einem reset schon 00h sind
aber dass ich es gleich richtig lerne.....)
-was ist der auto-reload-timer (im tmod-register bit 0 und 1)
(ist das villeicht das was ich oben meine? dass er wieder von 0
anfängt zu zählen bis 255( 256??) um dann wieder bei 0 anzufangen??)
-findet der überlauf ÜBERHAUPT schon bei 256 statt???
(Im datenblatt steht noch was von 5 Bit prescaler)???
Ich bin dankbar für jede antwort!!!!
P.S. Hab schon einiges im Datenblatt gefunden aber andere dinge eben
nicht, bin auch nicht so der engländer.... :-)
habt verständniss:-))
MFG Burt