- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 12

Thema: Flankenwechsel erkennen, aber wie?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Eine Idee:
    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    
    Config Timer0 = Timer , Prescale = 1024                     'längster Impuls (bei 1 MHZ etwa 1/4 Sekunde) für längere Zeit 16 Bit Timer nehmen
    On Timer0 Timer_irq
    Enable Timer0
    Enable Interrupts
    Ddrc = &B00001111                                           'Ausgänge an Port C0-3
    Ddrb = 0                                                    'Eingänge an B0-3
    Dim Pinb_alt As Byte
    
    Do
    
    
    Loop
    End
    
    
    Timer_irq:
       Dim I As Byte
    
       For I = 0 To 3
          If Pinb_alt.i <> Pinb.i Then
             Set Portc.i
          Else
             Reset Portc.i
          End If
       Next I
       Pinb_alt = Pinb
    Return
    Oder für längeren Impuls:

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    
    Const Impulsdauer = 5                                       '4fache Impulsdauer
    Config Timer0 = Timer , Prescale = 1024                     'längster Impuls (bei 1 MHZ etwa 1/4 Sekunde) für längere Zeit 16 Bit Timer nehmen
    On Timer0 Timer_irq
    Enable Timer0
    Enable Interrupts
    Ddrc = &B00001111                                           'Ausgänge an Port C0-3
    Ddrb = 0                                                    'Eingänge an B0-3
    Dim Pinb_alt As Byte
    Dim Zeit(4) As Byte
    Dim I As Byte
    
    Do
       If Zeit(4) >= 1 Then                                     '>=1 erzeugt kleineren Code als >0...
    
          For I = 0 To 3
             If Zeit(i) >= 1 Then
                Decr Zeit(i)
             End If
             If Zeit(i) = 0 Then
                Reset Portc.i
             Else
                Set Portc.i
             End If
    
             If Pinb_alt.i <> Pinb.i Then
                Zeit(i) = Impulsdauer
             End If
          Next I
          Pinb_alt = Pinb
          Zeit(4) = 0
       End If
    
    Loop
    End
    
    
    Timer_irq:
       Incr Zeit(4)
    Return
    Geändert von peterfido (25.06.2011 um 22:24 Uhr)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. 12V mit AVR erkennen
    Von phyro im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 01.07.2009, 21:45
  2. Ball erkennen
    Von Luca im Forum Sensoren / Sensorik
    Antworten: 8
    Letzter Beitrag: 17.09.2008, 16:26
  3. flankenwechsel detektieren
    Von alper im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 10.05.2007, 13:04
  4. Kondensatorkapazität erkennen
    Von MischaMV im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 28.02.2006, 17:49
  5. gcc erkennen?
    Von bluebrother im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 09.11.2005, 12:10

Berechtigungen

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

Labornetzteil AliExpress