Hola amigo, no veo en que parte esta conectado el switch que no funciona, sin embargo te dire como me paso a mi y como lo solucione.
tenia conectada una fuente de señal a un pic, entre la entrada del pic y la fuente de señal estaba un switch.
Pasaba que aun cuando el switch estaba en estado abierto la señal no dejaba de llegar a la entrada del pic.
Yo pienso que lo que pasaba es que el switch en abierto, proteus lo modela como una resistencia alta, por lo que en muchos casos eso sera suficiente para simular un switch abierto, sin embargo que pasa si en serie con el switch abierto (resistencia alta) existe una resistencia en serie mas alta, entonces se formara un divisor resistivo, en el cual la mayor parte o casi toda la tension caera en esta ultima resistencia, por lo que se anulara el efecto de abierto que debe ocasionar el switch.
Entonces, quiza lo que pasa es que la resistencia de entrada que le asigna proteus al PIC es mayor que la que tiene el switch en abierto, porlo que para anular ese efecto, lo que yo hice fue poner una resistencia menor entre el puerto del pic y tierra.
Si aun no haz solucionado tu problema ojala te sirva lo que te digo, saludos.