-
        

Ergebnis 1 bis 9 von 9

Thema: Zeit messen mit ATmega8

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Ort
    Sande (bei Reichelt)
    Alter
    28
    Beiträge
    663

    Zeit messen mit ATmega8

    Anzeige

    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
    Nur tote Fische schwimmen mit dem Strom...

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    29
    Beiträge
    2.624
    Hallo Björn!
    Hast Du schonmal mit Timern gearbeitet?
    In welcher Programmiersprache programmierst Du?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    37
    Beiträge
    464
    Schau mal bei www.rowalt.de rein.
    Da gibt es mehrere Beispiele für Zeitmessungen.


    MfG

    Vader

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Ort
    Sande (bei Reichelt)
    Alter
    28
    Beiträge
    663
    Hallo Florian,

    nein - noch nicht.

    Gruß, Björn

    P.S.: icq?
    Nur tote Fische schwimmen mit dem Strom...

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Ort
    Sande (bei Reichelt)
    Alter
    28
    Beiträge
    663
    Hi,

    ich habe diesen Code gefunden:

    Code:
    $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:
    Code:
    $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
    Nur tote Fische schwimmen mit dem Strom...

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Ort
    Sande (bei Reichelt)
    Alter
    28
    Beiträge
    663
    Leider funst der Code bei mir irgendwie nicht

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

    Gruß, Björn
    Nur tote Fische schwimmen mit dem Strom...

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Ort
    Sande (bei Reichelt)
    Alter
    28
    Beiträge
    663
    Morgen!

    Kann mir keiner sagen was falsch am Code ist ??

    Gruß, Björn
    Nur tote Fische schwimmen mit dem Strom...

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2004
    Ort
    durmersheim international
    Alter
    57
    Beiträge
    159
    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
    der kopf ist rund damit das denken seine richtung ändern kann...

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Ort
    Sande (bei Reichelt)
    Alter
    28
    Beiträge
    663
    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
    Nur tote Fische schwimmen mit dem Strom...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •