Du könntest deine Funktion GetButton() in einem Timer IRQ z.B. alle 50 ms aufrufen aber nur
Code:
Function GetButton() As Byte
    Local Ws As Word

    GetButton = 0

    Start Adc
    Ws = Getadc(7)
    Print Ws
und
Code:
If Ws < 1023 Then
      Select Case Ws
         Case 390 To 400
            GetButton = 1
         Case 320 To 330
            GetButton = 2
         Case 250 To 260
            GetButton = 3
         Case 175 To 185
            GetButton = 4
         Case 95 To 105
            GetButton = 5
      End Select
    End If
in der Hauptschleife auswerten. Noch besser den ADC beim Programmstart initialisieren/freigeben und im IRQ nur Ws = Getadc(7) aufrufen.Dann ws aber als Global deklarieren!

Gruß Richard