PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeit messen mit ATmega8



Björn
29.06.2005, 20:15
Guten Abend!

Ich möchte mit meinem ATmega8 eine Zeit, z.B. zwischen zwei Knopfrücken, messen.
Leider weiß ich nicht wie ich das am besten anstellen kann.
Hat der AVR so etwas wie eine interne Stopuhr?

Gruß, Björn

Florian
29.06.2005, 20:24
Hallo Björn!
Hast Du schonmal mit Timern gearbeitet?
In welcher Programmiersprache programmierst Du?

bertl100
29.06.2005, 20:25
Schau mal bei www.rowalt.de rein.
Da gibt es mehrere Beispiele für Zeitmessungen.


MfG

Vader

Björn
29.06.2005, 20:25
Hallo Florian,

nein - noch nicht.

Gruß, Björn

P.S.: icq?

Björn
29.06.2005, 20:45
Hi,

ich habe diesen Code gefunden:


$crystal = 4000000
Config Timer1 = Timer , Prescale = 64 '4MHz/64 = 62500
Const Timer_start = 6250 'alle 100ms Überlauf
Load Timer1 , Timer_start
Enable Timer1
On Timer1 Int_1

Do
wenn Lichtschranke 1, dann Takt = 0
wenn Lichtschranke 2, dann Wert = Takt in 1/100 Sek
Loop

Int_1:
Load Timer1 , Timer_start
Incr Takt
Return

Wie kann ich den jetzt auf mein Quarz (7,3728Mhz) um ändern?

Ich dachte jetzt so:

$crystal = 7372800
Config Timer1 = Timer , Prescale = 64 '7,3728MHz/64 = 115200
Const Timer_start = 11520 'alle 100ms Überlauf
Load Timer1 , Timer_start
Enable Timer1
On Timer1 Int_1

Do
wenn Lichtschranke 1, dann Takt = 0
wenn Lichtschranke 2, dann Wert = Takt in 1/100 Sek
Loop

Int_1:
Load Timer1 , Timer_start
Incr Takt
Return

Richtig?! ;-)

Gruß, Björn

Björn
30.06.2005, 18:35
Leider funst der Code bei mir irgendwie nicht :(

Wenn ich "Takt" auf dem Display ausgebe ist dieses immer = 0.

Gruß, Björn

Björn
02.07.2005, 10:23
Morgen!

Kann mir keiner sagen was falsch am Code ist ??

Gruß, Björn

harryup
07.07.2005, 21:24
hi,
das ist ja auch nur ein halbes prog, die variable TAKT is ja noch nicht deklariert, kannste das überhaupt fehlerfrei compilieren? irgendwie fehlt auch der bezug zu den beiden lichtschranken, woran hängen die und wie fragste die ab?
am genauesten wird wohl 'ne mischung aus timer und interupt (für die lichtschranken oder tasterabfrage) sein, sonst rennt dein prog ewig in einer schleife und fragt pausenlos taster (oder eben lichtschranke) ab.
grüssens, harry

Björn
09.07.2005, 19:19
Das mit Takt habe ich noch geändert.
Und dass mit den Lichtschranken habe ich zur Vereinfachung gemacht. Normal steht das was mit Spannung abfragen etc (das funst aber).

Gruß, Björn