Habe nun etwas rumgespielt und auch das Programm zu meiner Zufriedenheit hinbekommen. In meinem LCD flackert es leider ein bisschen (nicht schlimm, nur ein Schönheitsfehler).
Da ich aber noch Anfänger in Bascom bin und dies eigentlich mein erstes echts Projekt ist, würde ich gern wissen, ob man den Code vielleicht irgendwo noch vereinfachen könnte (ausserdem bin ich echt stolz, dass ich das [fast] ganz alleine geschafft habe und will mein Ergebnis präsentieren )



Code:
 'Deklarationen
$regfile = "m8def.dat"
$crystal = 8000000

Ddrc = &B00001100
Portc = &B00000011

'LCD
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 Lcdbus = 4
Dim Command As Bit
Dim Led1 As Bit
Dim Led1_sub As Bit
Dim Led2 As Bit
Dim Led2_sub As Bit

'Programm
Cls
Do
   Locate 1 , 1
   Lcd "   Led1"
   Locate 2 , 1
   Lcd "   Led2"

   Debounce Pinc.0 , 1 , Flag , Sub
   If Command = 0 Then Gosub Led1
   If Command = 1 Then Gosub Led2

Loop
End

'Subroutinen
Led1:
Debounce Pinc.1 , 1 , Led1_sub , Sub
   Locate 1 , 1
   Lcd "-> Led1"

Return

Led1_sub:
If Portc.2 = 1 Then
   Portc.2 = 0
   Locate 1 , 9
   Lcd "(aus)"
Else
   Portc.2 = 1
   Locate 1 , 9
   Lcd "(an)"
End If
Return

Led2:
Debounce Pinc.1 , 1 , Led2_sub , Sub
   Locate 2 , 1
   Lcd "-> Led2"

Return

Led2_sub:
If Portc.3 = 1 Then
   Portc.3 = 0
   Locate 2 , 9
   Lcd "(aus)"
Else
   Portc.3 = 1
   Locate 2 , 9
   Lcd "(an)"
End If
Return

Flag:
   Toggle Command
Return