Forum: Mikrocontroller und Digitale Elektronik Ich raffs nicht mit dem Timer


von Andi Lindl (Gast)


Lesenswert?

Hallo,
Ich glaube ich bin zu Blöd für diese Materie.
Kann mir jemand ein kleines Prog. (wenns geht mit Kommentaren) zukommen 
lassen,
das z.b. eine LED mittels Timer Interupt in 1Hz Takt blinken lässt? 
(Wenn man z.b.eine Uhr prog. will)
Mit externen Interrupts kapier ich ja (es ist ja ein schönes Tutorial 
auf dieser Page).Aber mit dem Timer ??
Bitte um Hilfe.
bye

von Andi Lindl (Gast)


Lesenswert?

Ach ja, wenn geht in Assembler.
Danke

von Andi Lindl (Gast)


Lesenswert?

Shit,ich bin heute aber zerstreut.
Ich brauch das Beispiel für die Atmel AVR´s (AT90S8535)

von Florian Pfanner (Gast)


Lesenswert?

Hab ein kleines Demo für den 2313 geschrieben. Du musst evt. nur den 
Kopf (include und Interruptvektoren) abändern.
Du findest es unter:
http://www.mikrocontroller.net/forum/read-1-26136.html

Wenn du weitere hilfe brauchst, so solltest du deinen Code einfügen und 
weitere Infos (z.B.Taktfrequenz) zur verfügung stellen.

Gruß, Florian

von Andi Lindl (Gast)


Lesenswert?

ahh,
Ich glaub jetzt ist der Groschen gefallen.
Die Routine sek wird automatisch jeder Sekunden aufgerufen.(Da kann ich 
z.b.meine Blinkende LED Routiene einbauen)
Und wenn ich mich bei dem Vorteiler und dem Compare Register spiele kann 
ich andere Timings als eine 1s einstellen.
Oder??

von noname (Gast)


Lesenswert?

Genau. Und wenn Du einen einfachen Timer ohne Compare Register benutzt 
kannst Du auch jedesmal in der Timer-Interruptroutine den Timer mit 
einem bestimmten Wert laden, was im Endeffekt das gleiche Ergebnis 
liefert wie die Verwendung des Compare Registers.

von Andi Lindl (Gast)


Lesenswert?

@noname
Kapier ich jetzt nicht.
Ich brauch doch ein compare das er dann zueinen bestimmten Zeitpunkt 
springt.
Hast du da ein Prog.Beispiel ?

von noname (Gast)


Lesenswert?

Ein 8bit Timer zählt zum Beispiel immer von 0 bis 255, löst dann den 
Interrupt aus und fängt wieder bei 0 an. Wenn Du aber in der 
Interruptroutine den Timer z.B. mit 100 lädst, zählt er nur noch von 100 
bis 255 und löst den nächsten Interrupt entsprechend eher aus.

von Andi Lindl (Gast)


Lesenswert?

ach so,
Jetzt hab ichs.
danke euch zwei.

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.