so also ich bin fast fertig. probleme habe ich noch mit 2 sachen:

1. ich möchte dass das sub onoff immer erscheint wenn konfiguration = 0 jedoch soll eben der taster pind.6 mit debounce auch entprellt sein.

2. dann habe ich noch ein problem mit dem format. meine weckzeit wird mir immer als 0:0 ausgegeben ich will aber 00:00 haben wie mache ich das?

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
Declare Sub Onoff
Declare Sub Licht
Declare Sub Stellenmenue

Dim Modus As Byte
Dim Stellenstunde As Byte
Dim Stellenminute As Byte
Dim Konfiguration As Byte
Dim Anaus As Byte



Cls

Time$ = "00:00:00"

Do
   Locate 1 , 1
   Lcd Time$ ; "  " ;
   Locate 1 , 12
   Lcd Stellenstunde ; ":" ; Stellenminute
   Debounce Pind.2 , 0 , Menue , Sub
   Debounce Pind.3 , 0 , Stellenmenue , Sub

   If Konfiguration = 1 Then                                'Wecker stellen
      Debounce Pind.4 , 0 , Stundew , Sub
      Debounce Pind.5 , 0 , Minutew , Sub
   End If

   If Konfiguration = 2 Then                                'Uhr stellen
      Debounce Pind.4 , 0 , Stunde , Sub
      Debounce Pind.5 , 0 , Minute , Sub
   End If

   If Konfiguration = 0 Then                                'Wecker an/aus
   Debounce Pind.6 , 0 , Onoff , Sub
   End If


   If Stellenstunde = _hour And Stellenminute = _min And Anaus = 1 Then
               Portb.5 = 1
               Else
               Portb.5 = 0
   End If

   Debounce Pind.7 , 0 , Licht , Sub

Loop



'Stellenmenü                                                'Menü zum einstellen Wecker/Uhr
Sub Stellenmenue
Incr Konfiguration
   If Konfiguration = 3 Then Konfiguration = 0
   Locate 2 , 11
   If Konfiguration = 0 Then
      Locate 2 , 11
      Wait 1
      Lcd "      "
   End If


   If Konfiguration = 1 Then
      Locate 2 , 11
      Wait 1
      Lcd "Wecker"
   End If



   If Konfiguration = 2 Then
      Locate 2 , 11
      Wait 1
      Lcd "   Uhr"
   End If
   End Sub
Return


'Menü                                                       'Menü MP3, Radio, Aux
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                                                    'Hier wird die Stunde der Uhr hochgezählt
Sub Stunde
   Incr _hour
   If _hour > 23 Then
      _hour = 00
   End If
End Sub



'Minute                                                     'Hier wird die Minute der Uhr hochgezählt
Sub Minute
   Incr _min
   If _min > 59 Then
      _min = 00
   End If
End Sub

Return



'MinuteW                                                    'Hier wird die Minute des Weckers hochgezählt
Sub Minutew
Incr Stellenminute
   If Stellenminute > 59 Then
   Stellenminute = 0
   End If
End Sub
Return



'Stundew                                                    'Hier wird die Stunde des Weckers hochgezählt
Sub Stundew
Incr Stellenstunde
   If Stellenstunde > 23 Then
   Stellenstunde = 0
   End If
End Sub
Return



'onoff                                                      'Hier wird der Wecker ein- und ausgeschaltet
Sub Onoff
Incr Anaus
   If Anaus = 2 Then Anaus = 0
   Locate 2 , 13
   If Anaus = 0 Then
      Locate 2 , 14
      Wait 1
      Lcd "aus"
   End If

   If Anaus = 1 Then
      Locate 2 , 14
      Wait 1
      Lcd " an"
   End If
End Sub
Return




'Licht                                                      'Hier wird das Licht für 4 Sekunden eingeschaltet
Sub Licht

   Portc.5 = 1
   Wait 4

End Sub
Return