Lo más recomendable es que elimines el efecto del rebote a través de software como te han propuesto anteriormente.
Siguiendo el ejemplo que colocó Bruno, el programa quedaría así:
if (bit_test(pin_b0)==0) { /* Se pulsó, entonces espero tantos ms y vuelvo a preguntar para ver si el cambio se mantiene */
Delay_ms(20); // Yo uso generalmente 20ms, pero puedes usar 50ms también.
if (bit_test(pin_b0)==0){ // Vuelvo a preguntar
// Si entra aquí significa que efectivamente se pulsó
}// En caso contrario fué ruido
}// Entonces vale 1 y no se ha pulsado.
Simplemente extendí y modifiqué un poco el programa de Bruno.
Saludos.