en el momento de que entres al codigo cuando presiones el boton entrar en bucle mientras el boton este presionado, al momento de soltarlo se salga de ese bucle para continuar con el programa, he usado este metodo y no he tenido problemas con rebote. prueba usando una resistencia pull-up y que el codigo use logica invertida.
+5v
///////////// |
// 10K
// | BOTON
PIN //________|_________| |______---->GND
//
//
////////////