Hallo Leute,
ich versuche die tasten einer softclock mit Debounce zu entprellten und komme einfach nicht so richtig da hinter.
wen ich die Uhr stellen will springt die gleich um 2-5 stellen weiter.
verwende ich da die verkehrten Mittel oder ist alles nur nicht am richtigen Ort, kann jemand helfen ?
Gruß Neuuser
ich versuche die tasten einer softclock mit Debounce zu entprellten und komme einfach nicht so richtig da hinter.
wen ich die Uhr stellen will springt die gleich um 2-5 stellen weiter.
verwende ich da die verkehrten Mittel oder ist alles nur nicht am richtigen Ort, kann jemand helfen ?
Gruß Neuuser
Code:
Declare Sub Schalter1
Declare Sub Schalter2
Portd.0 = 1 'Taster1, Zeit/Datum stellen, PullUp ein, schaltet gegen Minus
Portd.3 = 1 'Taster2, Zahl hochzählen, PullUp ein, schaltet gegen Minus
Time$ = "00:00:00" 'Setzen auf Startwert
Date$ = "00/00/00" 'Setzen auf Startwert
Do
Debounce Pind.0 , 0 , Schalter1 , Sub
Debounce Pind.3 , 0 , Schalter2 , Sub
Locate 1 , 1
Lcd Time$ 'Zeige Zeit in Zeile1
Locate 2 , 1
Lcd _day ; "/" ; _month ; "/0" ; _year 'Zeige Datum in Form DD/MM/YYin Zeile2
'lcd Date$ 'zeige Datum in Form MM/DD/YY
If Pind.0 = 0 Then Gosub Time 'wiederhole Anzeige bis Taster 1 zum Stellen gedrückt, springe nach Sub "Time"
Loop
End
'Stunde
Time:
Waitms 200
Cls 'lösche Zeilen
Do
Toggle Portd.3
Locate 1 , 1
Lcd "Set Hour:" 'Stunden setzen
Locate 2 , 1
Lcd _hour
Sub Schalter2 : If Pind.3 = 0 Then 'Mit Taster 2
End Sub
Incr _hour 'hochzählen
Locate 2 , 1
Lcd _hour
End If
If _hour > 23 Then 'Zählt bis Max, danach wieder ab 0
Cls
_hour = 00
End If
'solange, bis Taster 1 gedrückt
Sub Schalter1 : Loop Until Pind.0 = 0
Waitms 200
Cls
End Sub