-         

Ergebnis 1 bis 2 von 2

Thema: Zeit Probleme

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2006
    Alter
    30
    Beiträge
    12

    Zeit Probleme

    Anzeige

    Hall zusammen ich habe zwei probleme ich will eine zeit angezeigt bekommen wenn die lichtschranke durchbrochen wird und wenn noch Sie nach paar runden noch mal unterbrochen wird dann stoppt.

    Habe die Zeit soweit möchte nur noch die 1/10, 1/100 und 1/1000 sekunden angezeigt bekommen,

    und ich habe das Problem das ich die runden nicht eingeben kann, vielleicht kann mir einer weiterhelfen.

    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Lcd = 20 * 4 , Chipset = KS077
    Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , _
    Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Portd.6
    
    Config Timer0 = Timer , Prescale = 64
    On Timer0 Timer1int
    
    S1 Alias Pind.3
    S2 Alias Pind.4
    S3 Alias Pind.7
    S4 Alias Pind.2
    
    Dim Millisekunden As Word
    Dim Sekunde As Byte
    Dim Minute As Byte
    Dim Stunde As Byte
    Dim Flag As Byte
    Enable Interrupts
    
    Stunde = 0
    Minute = 0
    
    Enable Timer0
    
    Main:
    
    Initlcd
    Cls
    Cursor Off
    Do
    
      Debounce S1 , 0 , Tast1 , Sub
      Debounce S2 , 0 , Tast2 , Sub
      Debounce S3 , 0 , Tast3 , Sub
      Debounce S4 , 0 , Tast4 , Sub
    
    If Flag = 1 Then
    Flag = 0
    If Sekunde > 59 Then
    Incr Minute
    Sekunde = 0
    If Minute > 59 Then
    Incr Stunde
    Minute = 0
    If Stunde > 23 Then
    Stunde = 0
    End If
    End If
    End If
    
    locate 1,1
      LCD  "Rundezahl: " : LCD I
    
    Locate 3 , 1
    
    If Stunde => 10 Then
    Lcd Stunde
    else
    Lcd "0" ; Stunde
    end if
    
    LCD":"
    
    If Minute => 10 Then
    LCD Minute
    else
    Lcd "0" ; Minute
    end if
    
    LCD ":"
    
    If sekunde =>10 Then
    Lcd sekunde
    else
    Lcd "0"; sekunde
    end if
    
    End If
    Loop
    
    Goto Main
    
    Timer1int:
    Timer0 = 131
    Incr Millisekunden ' Millisekunden hochzählen
    if Millisekunden > 999 then
    Incr Sekunde
    Flag = 1
    Millisekunden = 0
    End If
    Return
    
    
    Tast1:
    
    I = I + 1
    
    Return
    
    Tast2:
    
    Return
    
    Tast3:
    
    I = 0
    
    cls
    
    Return
    
    Tast4:
    
    Return

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    das goto main kannste dir schenken,
    das main: hat keine Funktion,
    das LCD "Rundezahl: " : LCD I kann man in ne schönere Version ala LCD "Rundezahl: " ; I umbysteln,
    das I = I +1 kann man durch incr I ersetzen,
    hinter den Returns brauchen manche Bascom Versionen noch das End,
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Berechtigungen

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