Wenn du dir die AD Werte ansiehst, merkst du dass die Werte für kein Taster und Taster1 gedrückt sehr knapp beieinander liegen.(soweit ich mich erinnern kann war es 1023 für keinen Taster und 1015 für Taster 1).
Durch leichte Schwankungen kann die Funktion Pollswitch da schnell mal behaupten, dass ein Taster gedrückt wurde, obwohl das gar nicht so ist.

Ich hab mir da eine kleine Funktion gebastelt, die solche Schwankungen ausgleicht indem sie 2 mal prüft, ob der von Pollswitch zurückgegebene Wert korrekt ist.

Code:
unsigned char fkt_taster(void)
{
    unsigned char taster=0;

    taster=PollSwitch();

    if(taster==PollSwitch() && taster!=0)
        return taster;
    else
        return 0;
}

Grüße,
Harri