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







Zitieren

Lesezeichen