- LiFePO4 Speicher Test         
Ergebnis 1 bis 6 von 6

Thema: Softwareroutine

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Dann wirst Du um Timer- und Interruptprogrammierung nicht
    drumrumkommen. VG Micha

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    23.10.2010
    Beiträge
    43
    Hi,
    wie genau soll die Zeit den sein?

    Hier mal ein Beispiel

    Code:
    $regfile = "M168Pdef.dat"                                   'es handelt sich um einen ATmega168P
    $crystal = 3686400                                          'der eingebauter RC-Oszillator läuft mit 3,6864 Mhz
    $hwstack = 100                                              'im Speicher werden für den Hardware-Stack 100 Byte reserviert
    $swstack = 100                                              'im Speicher werden für den Software-Stack 100 Byte reserviert
    $framesize = 100                                            'im Speicher werden für den Frame 100 Byte reserviert
    $baud = 19200
    
    
    S1 Alias Pind.2                                             'Schalter 1 an Port D2 (Taster)
    Config S1 = Input                                           ' als eingang festlegen
    Pind.2 = 1                                                  'Pullup einschalten
    
    
    'Timer einstellen
    'Frequenz-Teiler 1,8,64,256 or 1024
    Config Timer1 = Timer , Prescale = 1024
    '3686400 / 1024 = 3600 impulse/sek
    
    
    'Variable festlegen
    Dim Sekunde As Byte , Minute As Byte
    Sekunde = 0
    Minute = 0
    
    
    'Unterprogramme Declarieren
    Declare Sub Prog1                                           'Unterprog. 1
    Declare Sub Prog2                                           'Unterprog. 2
    
    
    Do
    
       If S1 = 0 Then                                           'Wenn S1 gedrückt
          Call Prog1                                            'und Unterprog. 1 Starten
       End If
    
    
       If Timer1 >= 3600 Then
          Incr Sekunde                                          'Sekunden werden gezählt bis 60
          Print "Sekunden: " ; Sekunde
          Timer1 = 0
       End If
    
    
       If Sekunde >= 60 Then
          Incr Minute
          Print "Minuten: " ; Minute                            'Minuten Zähler, Sekunden auf 0 setzen
          Sekunde = 0
       End If
    
    
       If Minute >= 60 Then                                     'Bei 60 Minuten, Unterprog 2 starten und Minuten auf = setzen
          Minute = 0
          Call Prog2
       End If
    
    Loop
    
    
    
    End
    
    
    
    Sub Prog1                                                   'Unterprog. 1
    
       Bitwait S1 , Set                                         'warten bis Taster S1 losgelassen wird
    
       Print
       Print "Taster S1 wurde gedrueckt"
       Print
    
       Sekunde = 0                                              'Zeit auf 0 setzen
       Minute = 0
    
    End Sub
    
    
    
    Sub Prog2                                                   'Unterprog. 2
    
       Print
       Print "Prog2 gestartet"
       Print
    
       Sekunde = 0                                              'Zeit auf 0 setzen
       Minute = 0
    
    End Sub
    Timer 1 läuft und zählt sekunden hoch, diese zählen minuten hoch bis Taster 1 gedrückt wird oder 60 Minuten gezählt sind.

    Bei Taster startet Prog1 und Zeit wird wieder auf 0 gestellt
    Bei 60 min startet Prog2 und Zeit wird wieder auf 0 gestellt

    ACHTUNG: Quarz richtig einstellen!!! und Timer anpassen falls andere Quarz verwendet wird

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Sehr gut: Quarzstabilisiert mit Baudratenquarz.
    Mit dieser Hardware dürfte nix schiefgehen. VG Micha
    Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
    Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...

Berechtigungen

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

Solar Speicher und Akkus Tests