Aktueller Stand, Led Blinkt nach 10 Runden und die Gesamt Zeit wird angezeigt.
Code:
'Einstellungen für Lcd Display
'-------------------------
Cls
Config Pind.2 = Input
Config Pind.3 = Input
Portd.2 = 1
Portd.3 = 1
Config Portd.2 = 0
Config Portd.3 = 0
'----------
Config Portc.5 = Output
Config Portc.5 = 1
portc.5 = 1
Dim Millisekunden As Byte
Dim Minuten As Byte
Dim Sekunden As Byte
Dim Runden As Byte
Dim Flag As Integer
Config Timer1 = Timer , Prescale = 64
Const Timervorgabe = 40536
On Timer1 Timer_irq
Enable Interrupts
Millisekunden = 00
Minuten = 0
Sekunden = 0
Runden = 0
Flag = 0
Declare Sub Start1
Declare Sub Stop1
Declare Sub Reset1
'---------------------------------------------
Do
Debounce Pind.2 , 0 , Start1 , Sub
Debounce Pind.3 , 0 , Stop1 , Sub
Debounce Pind.2 , 0 , Reset1 , Sub
Debounce Pind.3 , 0 , Reset1 , Sub
If Runden = 10 Then
disable timer1 : toggle Portc.5
End If
Locate 1 , 5
Lcd " Runden" ; Runden
Locate 2 , 2
Lcd "Zeit: " ; Minuten ; ":" ; Sekunden ; ":" ; Millisekunden ; " "
Locate 1 , 1
Lcd Flag
Loop
'---------------------------------------------
Start1:
Enable Timer1
Return
'-----------------------------------------
Stop1:
Runden = Runden + 1
return
'------------------------------
Reset1:
Reset Timer1
disable timer1
Locate 1 , 1
Lcd "Reset"
Wait 1
Cls
Sekunden = 0
Minuten = 0
Runden = 0
Millisekunden = 0
Flag = 0
Return
'--------------------------------------------
Timer_irq:
Timer1 = Timervorgabe
Incr Millisekunden
If Millisekunden = 10 Then
Incr Sekunden
Millisekunden = 00
End If
'End If
If Sekunden = 60 Then
Incr Minuten
Sekunden = 00
End If
Incr Flag
Return
Lesezeichen