Hallo bastler,

mit drei Dipschaltern, kann man 2^3=8 binäre Kombinationen einstellen.
1. 000
2. 001
3. 010
4. 011
5. 100
6. 101
7. 110
8. 111

Dezimal sind das die Zahlen von 0 bis 7. Deshalb würde ich die Dipschalter an einen Port des µCs, beginnend mit Portpin 0, anschließen. Durch kann man die Schalter recht einfach abfragen und mit der SELECT-CASE Anweisung weiterverarbeiten.

Im Code werden durch "and &B0000_0111" nur die Zustände der Dipschalter an PINB.0, PINB.1 und PINB.2 in die Variable Kodierschalter übernommen und Bit 3 bis Bit 7 in Kodierschalter auf 0 gesetzt.

Danach einfach mit SELECT-CASE die Unterprogramme anspringen.

Code:
Dim Kodierschalter As Byte

Kodierschalter = PINB And &B0000_0111

Select Case Kodierschalter
  Case 0 : Gosub Prog_0
  Case 1 : Gosub Prog_1
  Case 2 : Gosub Prog_2
'  Case 3 : Gosub Prog_3
'  Case 4 : Gosub Prog_4
  Case 7 : Gosub Testlauf
'  Case Else: gosub xy
End Select

Gruß
Searcher