Uhrzeit h:m:s in BASCOM auf LCD darstellen?
Hallo!
Ich versuche die Uhrzeit am LCD darzustellen. Aber bei den Sekunden
bleibt beim umschalten z.B. von 23:59:59 auf 0:0:0 jedesmal die 59
bei den sekunden stehen.
Das schaut dann so aus: 0:0:0:59
Sonst läufts aber.
Was mach ich da falsch, weiß das jemand?
Das ist der Code:
Code:
' ATMEGA8- SelbstBauModul
$regfile = "m8def.dat"
$crystal = 14745600 'ext. Quarz
' /// UHR
Dim Sekunde As Word
Dim Minute As Word
Dim Stunde As Word
'// Zum setzten von Stunde Minute Sekunde setzen
Sekunde = 55
Minute = 59
Stunde = 23
'/// LCD ///
Config Lcd = 20 * 4
Config Lcdbus = 4
' LCD im 4Bit I/O Mode
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4
Config Lcdpin = Pin , Db7 = Portd.5 , E = Portd.7 , Rs = Portd.6
Cls
'/// TIMER ////
Config Timer1 = Timer , Prescale = 256
Const Startwert = 7936
On Timer1 Ontimer1 'Interrupt-Routine für Timer1-Overflow
Enable Timer1 'Timer1-Overflow-Interrupt einschalten
Enable Interrupts 'Interrupts global zulassen
'-------------------------------------------------------------------------------
Main:
Do
'Uhrzeit in Sekunde Minute Stunde
If Sekunde = 60 Then
Sekunde = 0
Incr Minute
End If
If Minute = 60 Then
Minute = 0
Incr Stunde
End If
If Stunde = 24 Then
Stunde = 0
End If
'/// LCD Anzeige Stunde Minute Sekunde
Cursor Off Noblink
Home
Lcd Stunde ; ":" ; Minute ; ":" ; Sekunde
Waitms 100
Loop
Goto Main
End
'//////////////////
Ontimer1:
Timer1 = Startwert
Incr Sekunde
Return