Hallo,
Ich habe mir aus verschiedenen Code-Schippseln eine kleines Uhren-Programm gebastelt.
Code:
$regfile = "m8def.dat"
$crystal = 16000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2

Config Timer1 = Timer , Prescale = 256
On Timer1 Timer1int

Dim Sekunde As Byte
Dim Minute As Byte
Dim Stunde As Byte

Enable Interrupts

Stunde = 18
Minute = 13

Enable Timer1

Main:

Initlcd
   Cls
   Cursor Off
Do

If Sekunde = 60 Then
   Gosub Minute1

End If
Locate 1 , 1

If Stunde > 9 Then Lcd Stunde
If Stunde < 10 Then Lcd "0" ; Stunde
Lcd ":"
If Minute > 9 Then Lcd Minute
If Minute < 10 Then Lcd "0" ; Minute
Lcd ":"
If Sekunde > 9 Then Lcd Sekunde
If Sekunde < 10 Then Lcd "0" ; Sekunde

Loop

Goto Main

Timer1int:
Timer1 = 3037                                               
Sekunde = Sekunde + 1
Return

Minute1:
Incr Minute
Sekunde = 0
If Minute = 60 Then
   Gosub Stunde1
End If

Return

Stunde1:
Incr Stunde
Minute = 0
If Stunde = 24 Then
   Stunde = 0
End If
Return
Nach anfänglichen Problemen funktioniert das Programm jetzt ganz gut aber, wenn es z.B. 18:14:10 Uhr wird erscheint plötzlich hinter der Sekunden anzeige eine zusätzliche Null (18:14:100Uhr). Was ist das Problem in dem Code? Desweiteren würde ich mich über konstruktive Kritik im Allgemeinen freuen.
Gruß André