So danke erst mal zu dem Tip mit den ganzen Schleifen.... war ja auch verschleift ... [-o<

vielleicht wenn jamand lust hat ... geht vielleicht auch kürzer ? Oder besser ?

Stell ich den Code noch mal rein hoffe jetzt Richtig !



Code:
$regfile = "m8def.dat"
$crystal = 4000000
'----------------------Konfiguration---------------------------------------------
          Config Portb.1 = Output                           '-----------Innenleuchte
          Config Portb.0 = Input                            '-----------Türkontakt
          Config Portb.2 = Input                            'Zündung an ( Licht soll ausgehen )
          Config Portb.3 = Output                           'Testled ( wo das Programm steht entfällt später)
          Config Portb.4 = Output                           'Testled (wo das Programm steht entfällt später )
          Config Portd.4 = Input                            'ZV Eingang Türen auf
          Config Portd.5 = Input                            'ZV Eingang Türen zu



          Pinb.0 = 1                                        'Pull upps
          Pinb.2 = 1                                        'Pull upps
          Pind.4 = 1                                        'Pull upps
          Pind.5 = 1                                        'Pull upps


'------------------- Grundvariablen---------------------------------------------



          Dim A As Byte
          Dim I As Byte
          Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1       ' PWM Timer
          Compare1a = 255


'------------------ Tasterabfragen----------------------------------------------
Main:

                                                             'schleife für Tasterabfragen
Do
          Debounce Pinb.0 , 0 , Pr , Sub                    ' TÜRKONTAKT
          Debounce Pind.4 , 0 , Prr , Sub                   ' ZV Tür auf

Loop

End


'--------------- Unterprogranmm Andimmen----------------------------------------


Pr:

          Do
          Compare1a = Compare1a - 1                         ' Dimmvorgang
          Waitms 5
          Loop Until Compare1a = 0




          Gosub Vzr                                         ' geht zur Zeitverzögerung




'-------------------  Unterprogramm langsam Andimmen ---------------------------



Prr:

          Do
          Compare1a = Compare1a - 1                         ' Dimmvorgang
          Waitms 15
          Loop Until Compare1a = 0

                                                              ' geht zur Zeitverzögerung
          Gosub Vzr

 Return


'------------------Unterprogramm schnell Andimmen -------------------

 Paa:



          Do
          Compare1a = Compare1a + 1
          Waitms 5
          Loop Until Compare1a = 255

Goto Main

Return

'-----------------Unterprogramm Langsames Abdimmen -------------------------------

Pa:


          Do                                                'Abdimmen
          Compare1a = Compare1a + 1
          Debounce Pinb.0 , 0 , Pr , Sub
          Waitms 10
          Loop Until Compare1a = 255
          '

Goto Main

Return

'--------------------- Timer für Nachleuchten ---------------------------------
Vzr:

          For I = 1 To 255                                  ' Timer Schleife
          Debounce Pinb.2 , 0 , Paa , Sub                   ' ZV Tür Zu
          Debounce Pind.5 , 0 , Pa , Sub                    ' ZV Tür Zu
          Waitms 300                                        'Wartezeit
          Next I

          Gosub Pa                                          'Aufruf Abdimmen


Return

'----------------------------------- ende -------------------------------------

Also für Vorschläge bin ich offen ! Was will ich noch tun ? Coming / Living Home Funktion .. Soll heißen wenn es draußen dunkel ist sollen auch die Scheinwerfer mit andimmen ... Und wenn es draußen kalt ist könnt ja auch die Heizung mit angehen oder das Lenkrad vorwärmen ....

Danke noch mal das Ihr mich hier nicht auslacht aber die Micro Prozessor Geschichte hat mich irgendwie schon immer gereizt.