Hey Leute hab mal ne Frage!

Ich habe ein eigentlich fertiges Programm, jedoch möchte ich einen der Schalter per Interrupt abfragen, aber ich hab keinen Plan wie das gehen könnte!

Kann mir jemand helfen?? Brauch nen Code zum konfigurieren des Schalters (im Code ist er auf Pinb.4, muss natürlich dann auf portd gesetzt werden, das ist klar)

Code:
'##################################################################################
'#                                                                                #
'#                                                                                #
'#      Programmiert von: Andynformatics                                          #
'#      Kontakt: siehe unten (Copyright-Informationen)                            #
'#                                                                                #
'#                                                                                #
'# Um das Programm zum laufen zu bringen muss an Porta ein Display angeschlossen  #
'# werden, mit der folgenden Konfiguration: Pin 0 = DB7, Pin 1 = DB6, Pin 2 = DB5 #
'# Pin 3 = DB4, Pin 4 = Enable2, Pin 5 = Enable1, Pin 7 = RS.                     #
'#                                                                                #
'# Zudem muss an Port B an Pin 6 eine LED (LED1) und an Pin 4 ein Schalter be-    #
'# liebiger Art angeschlossen werden (nach Möglichkeit KEIN Taster!).             #
'#                                                                                #
'# An Port C an Pin 6 muss ein Schalter (nach Möglichkeit ein Keylock) ange-      #
'# schlossen werden.                                                              #
'#                                                                                #
'# Zudem muss an Port D an Pin 6 eine LED (LED2) angeschlossen werden werden.     #
'#                                                                                #
'##################################################################################

'
'----------------------------------------------------------------------------------
'

'        Allgemeine Konfigurationen

' Angaben zum Controller konfigurieren
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600

'----------

'Timer konfigurieren

' Timer1 konfigurieren für einen Halbsekunden-Takt
   Config Timer1 = Timer , Prescale = 256
   Enable Timer1
   Enable Interrupts
   On Timer1 Ueberlauf_timer1
   Timer1 = 3036

'----------

' Ports konfigurieren

' Port A konfigurieren
' Das LCD (an Port A) konfigurieren
   Dim ___lcdno As Byte
   Config Lcd = 40 * 4
   Config Lcdpin = Pin , Db7 = Porta.0 , Db6 = Porta.1 , Db5 = Porta.2
   Config Lcdpin = Pin , Db4 = Porta.3 , E2 = Porta.4 , E = Porta.5
   Config Lcdpin = Pin , Rs = Porta.7

' Grundgerüst des LCDs aufbauen
   ___lcdno = 0
   Initlcd
   Cls
   Locate 1 , 1
   Lcd "Keylock: gesperrt          "
   Locate 2 , 1
   Lcd "LED 1:   aus               "
   Cursor Off

   ___lcdno = 1
   Initlcd
   Cls
   Locate 1 , 1
   Lcd "LED 2:   aus               "
   Locate 2 , 1
   Lcd "Uptime:                    "
   Cursor Off


' Port B konfigurieren
' Den Schalter für LED 1 an Pin 4 konfigurieren
   Config Pinb.4 = Input
   Portb.4 = 1
   Schalter Alias Pinb.4

' LED 1 auf Pin 6 konfigurieren
   Config Portb.6 = Output
   Ledgruen Alias Portb.6


' Port C konfigurieren
' Keylock an Pin 6 konfigurieren
   Config Pinc.6 = Input
   Portc.6 = 1
   Keylock Alias Pinc.6
' Keylockvariable, ob erst Keylock grade ein-/ausgeschaltet wurde
   Dim Keylockvar As Bit

' Port D konfigurieren
' LED 2 an Pin 6 konfigurieren
   Config Portd.6 = Output
   Ledrot Alias Portd.6

'----------

' Variablen deklarieren

' Variablen für den Uptime-Zähler deklarieren
   Dim Uptime As Integer
   Dim Uptime_counter As Bit

' Variablen für die Umrechnung der Uptime
   Dim Mysec As Integer
   Dim Mymin As Integer
   Dim Myh As Integer
   Dim Temp As Integer
   Dim Temp2 As Integer

'        Ende der Konfigurationen

'
'----------------------------------------------------------------------------------
'

'        Hauptprogramm

   Do
      ' Auf Keylock überprüfen
      ' Wenn Keylock aus ist Programm durchführen
      If Keylock = 1 Then
         ' Wurde Keylock grade eben eingeschaltet, dann ausgeben, das LED 2
         ' blinkt und Keylock offen ist Außerdem Keylockvar auf true setzen
         If Keylockvar = 0 Then
            ___lcdno = 0
            Locate 1 , 10
            Lcd "offen          "
            ___lcdno = 1
            Locate 1 , 10
            Lcd "blinkt         "
            Cursor Off
            Keylockvar = 1
         End If
         ' Überprüfen, ob Schalter an ist, wenn ja, LED 1 zum Leuchten bringen
         ' ansonsten LED 1 ausschalten, außerdem auf dem LCD ausgeben ob LED 1
         ' an oder aus ist
         If Schalter = 0 Then
            Ledgruen = 1
            ___lcdno = 0
            Locate 2 , 10
            Lcd "leuchtet       "
            Cursor Off
         Elseif Schalter = 1 Then
            Ledgruen = 0
            ___lcdno = 0
            Locate 2 , 10
            Lcd "aus            "
            Cursor Off
         End If

      '-------

      ' Wenn Keylock an ist dann Alle LEDs ausschalten und ausgeben, dass Key-
      ' lock angeschaltet wurde
      Else
         If Keylockvar = 1 Then
            ___lcdno = 0
            Locate 1 , 10
            Lcd "gesperrt       "
            Locate 2 , 10
            Lcd "aus            "
            ___lcdno = 1
            Locate 1 , 10
            Lcd "aus            "
            Cursor Off
            Keylockvar = 0
         End If
         Ledgruen = 0
         Ledrot = 0
      End If

      '-----------------

      'Uptime errechnen und in den Variablen "Myh", "Mymin" und "mysec" spei-
      'chern
      Temp2 = Uptime
      Myh = Temp2 / 3600

      Temp = Myh * 3600
      Temp2 = Temp2 - Temp
      Mymin = Temp2 / 60

      Temp = Mymin * 60
      Temp2 = Temp2 - Temp
      Mysec = Temp2

      'Uptime ausgeben, jedoch bei Zahlen kleiner 10 eine führende 0 einsetzen.
      ___lcdno = 1
      Locate 2 , 10
      If Myh < 10 Then
         Lcd "0" ; Myh
      Else
         Lcd Myh
      End If
      Lcd ":"
      If Mymin < 10 Then
         Lcd "0" ; Mymin
      Else
         Lcd Mymin
      End If
      Lcd ":"
      If Mysec < 10 Then
         Lcd "0" ; Mysec
      Else
         Lcd Mysec
      End If
      Cursor Off
   Loop
End

'        Ende Hauptprogramm

'
'----------------------------------------------------------------------------------
'

'        Definitionen von Timer-ISR und möglichen Funktionen


   ' ISR von Timer1 definieren
   Ueberlauf_timer1:

      ' Timer1 wieder zurücsetzen, damit GENAU eine halbe Sekunde gezählt wird
      Timer1 = 31250


      ' Led 2 umschalten (im Halbsekundentakt)
      If Keylock = 1 Then
         If Ledrot = 0 Then
            Ledrot = 1
         Elseif Ledrot = 1 Then
            Ledrot = 0
         End If
      Else
         Ledrot = 0
      End If


      ' Uptime bei jedem ZWEITEN Durchlauf um 1 erhöhen, da Timer ja im 2Hz und
      ' nicht im 1Hz-Modus läuft
      If Uptime_counter = 0 Then
         Uptime_counter = 1
      Else
         Incr Uptime
         Uptime_counter = 0
      End If
   Return
   '-----------------

'
'----------------------------------------------------------------------------------
'


'##################################################################################
'#                                                                                #
'#                                     SUPPORT                                    #
'#                                                                                #
'# Bei Fragen bitte an Andynformatics wenden: admin@andynformatics.de.lv          #
'#                                                                                #
'##################################################################################

'##################################################################################
'#                                                                                #
'#                                © Andynformatics                                #
'#                           (www.andynformatics.de.lv)                           #
'#                                                                                #
'##################################################################################
Also!! NOchmal, bitte kurz eine Code-Ergänzung übers Forum (oder die im Programm angegebene E-Mail-Adresse) schreiben!!

Danke, im Voraus


-------------
Andy91