Forum: Projekte & Code ATmega8 TIMER-1 (16bit) (Assembler) aktivieren


von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

Ein kleines Beispiel, um mit dem Timer-1 zu arbeiten.

Viel Spaß

Gruß

Bernhard

von Peter D. (peda)


Lesenswert?

Bist Du wirklich so blöd es nicht zu kapieren, daß es hier keinen Preis
für die meisten nutzlosen Threads gibt ?


Peter

von DerMax (Gast)


Lesenswert?

@Bernhard: Du kannst deine... einsteigerfreundlichen... Beispiele auch
in einen einzigen Thread posten.
Ich denke nicht das sich über die jeweiligen Beiträge so lange
Diskussion entwickeln werden, das mehrere Threads angebracht wären.

Damit wäre uns allen geholfen (Das Forum wird nicht so stark zugemüllt
und wahrscheinlich wird dir dann auch nicht mehr ganz so viel Protest
entgegenschlagen)

von Hans (Gast)


Lesenswert?

oder noch besser...

man mache im wiki eine kategorie ASM code snippets und eine mit C code
snippets und da tut man das dann rein..

dann haben 1. alle was davon weils nicht nach kurzer zeit aus den augen
verschwindet und 2. forum ist wieder frei für diskussionen ;)

73 de oe6jwf / hans

von luxx (Gast)


Lesenswert?

hey leute,
ihr seid schon die besten!!! *klatsch, klatsch*
ich habe zB durch diesen "nutzlosen" thread endlich ein problem bei
meinem projekt gelöst. und wenn ihr so supertoll seid, alles könnt und
euer forum entmüllen wollt, dann redet doch selbst mit dem admin, dass
er das wiki erweitern soll, damit ihr eure augen nicht mit
einsteigerhilfen quälen müsst. weil MICH zB stört dieser "sinnlose"
threat hier wirklich nicht!

luxx

von D. W. (dave) Benutzerseite


Lesenswert?

Jeder kann selbst Artikel erstellen, oder ich bin bevorzugt.

http://www.mikrocontroller.net/articles/AVR_Assembler_-_Codefetzen

Da kann man sich ja mal ranmachen.

von Boriza (Gast)


Lesenswert?

Hallo Bernhard und Co,

ich interessiere mich für die Timer-Geschichte nur leider habe ich keine 
Ahnung, wie ich so ein Ding auf dem ATMEGA8 programmieren soll. Ich 
möchte nur ganz einfach einen Ausgang für 30 Sekunden auf High setzen 
wenn ich auf einen Taster am Eingang einen High-Impuls anlege. Das mit 
dem Ausgang über den Taster schalten funktioniert gut nur die 
Zeitverzögerung für das Abschalten des Ports fehlt noch. Bitte wer kann 
mir da helfen ?
Die Sache mit den Timern scheint mir nicht so einfach zu sein oder ?
Vielen Dank schon mal !

PS: Hier mein Prog in das der Timer eingebaut werden soll (siehe 
Anhang).

LG
Boriza

von Trixter (Gast)


Lesenswert?

Hi, du hast anscheinend den Anhang vergessen aber ist nicht weiter 
schlimm.

Das Problem hier ist das 30s ziemlich lange ist, selbst für einen 16bit 
Timer. Das Grundprinzip hier ist zu schauen wie lange ein Timer Overflow 
braucht, bzw. wieviele pro Sekunde erzeugt werden.
Im AVR-Tutorial z.B. kriegt man mit 4Mhz und einem Prescaler von 1024 
15,2587 Overflows pro Sekunde. In 30s währen es schon 457,761 Overflows. 
Die Aufgabe hier ist es nun diese 458 (oder 457) zu zählen, am besten 
geht das mit 2 Registern die als 16 bit Register auf 457 gesetzt werden 
wenn der Taster gedrückt wird. Bei jedem Interrupt wird diese herunter 
gezählt, wenn es null ist sind logischerweise 30s vergangen und man kann 
endlich die Aktion ausführen die man wünscht. In deinem Fall einen Pin 
wieder abschalten.

von Sinusgeek (Gast)


Lesenswert?

Warum Overflow??

Timer 1 hat doch zwei Compare-Einheiten. Das geht viel besser, da man 
den Timer durchlaufen lassen kann und trotzdem trotzdem beide Compares 
und den ICP nutzen kann. Man arbeitet dazu mit den Compare-Registern 
(Aufaddieren des Intervalls auf den jetzigen Stand des 
Compare-Registers). Und weil man auf diese Art den Timer nicht stört, 
bekommt man die Compare-Interrupts auch noch garantiert jitterfrei, 
Verzögerungen beim Int-Aufruf addieren sich also nicht.

von spess53 (Gast)


Lesenswert?

Hi

>Im AVR-Tutorial z.B. kriegt man mit 4Mhz und einem Prescaler von 1024
>15,2587 Overflows pro Sekunde. In 30s währen es schon 457,761 Overflows.

Bitte richtig nachsehen oder mal selbst rechnen . Das gilt für einen 
8Bit-Timer. Ein 16Bit-Timer hat unter gleichen Bedingungen eine 
Overflowzeit von 16,8s.

>Die Sache mit den Timern scheint mir nicht so einfach zu sein oder ?

Doch. Wenn man sich einmal selbst durchgearbeitet hat geht das beim 
nächsten mal wie von selbst.

MfG Spess

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.