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