so hab hier das ganze mal mit variablen mal noch mit der weckzeit
gemacht:
Code:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40



Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 ,
Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Lcdbus = 4
Cursor Off
Ddrb = &B11111111
Ddrd = &B00000000
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Portd.5 = 1
Portd.6 = 1
Portd.7 = 1

Enable Interrupts
Config Clock = Soft
Declare Sub Stunde
Declare Sub Minute
Declare Sub Menue
Declare Sub Stundew
Declare Sub Minutew
Dim Modus As Byte
Dim Stellenminute As Byte
Dim Stellenstunde As Byte
Cls

Time$ = "00:00:00"

Do
   Locate 1 , 1
   Lcd Time$ ; "  " ;
   Locate 1 , 12
   Lcd Stellenstunde
   Locate 1 , 14
   Lcd ":"
   Locate 1 , 15
   Lcd Stellenminute
   Debounce Pind.2 , 0 , Menue , Sub
   Debounce Pind.3 , 0 , Stunde , Sub
   Debounce Pind.4 , 0 , Minute , Sub
   Debounce Pind.5 , 0 , Stundew , Sub
   Debounce Pind.6 , 0 , Minute W , Sub
Loop





Menue:
Incr Modus
   If Modus = 4 Then Modus = 0
   Locate 2 , 1
   If Modus = 0 Then
      Locate 2 , 1
      Wait 1
      Lcd "Aus  "
   End If


   If Modus = 1 Then
      Locate 2 , 1
      Wait 1
      Lcd "MP3  "
      Portb.0 = 1
   Else
      Portb.0 = 0
   End If



   If Modus = 2 Then
      Locate 2 , 1
      Wait 1
      Lcd "Radio"
      Portb.1 = 1
   Else
      Portb.1 = 0
   End If



   If Modus = 3 Then
      Locate 2 , 1
      Wait 1
      Lcd "AUX  "
      Portb.2 = 1
   Else
      Portb.2 = 0
   End If
Return



'Stunde
Sub Stunde
   Incr _hour
   If _hour > 23 Then
      _hour = 00
   End If
End Sub




'Minute
Sub Minute
   Incr _min
   If _min > 59 Then
      _min = 00
   End If
End Sub

Return

'MinuteW
Sub Minutew
Incr Stellenminute
   If Stellenminute > 59 Then
   Stellenminute = 00
   End If
End Sub
Return


'Stundew
Sub Stundew
Incr Stellenstunde
   If Stellenstunde > 23 Then
   Stellenstunde = 00
   End If
End Sub
Return

nun habe ich dazu noch ne frage. wie bekomme ich es hin dass stellen
minute und stellenstunde mit 00 anzeigen. so wird mir nur eine 0
angezeigt wo dann beim überlauf die letzte ziffer immer stehen bleibt.

dann noch ne frage ich habe das ganze mit der anzeige so gelöst:

Locate 1 , 12
Lcd Stellenstunde
Locate 1 , 14
Lcd ":"
Locate 1 , 15
Lcd Stellenminute
gibt es da ne elegantere möglichkeit?