Hay un truco para los antirrebotes.
Puesto que debes controlar el ángulo de disparo de los tiristores, tendrás la interrupción del timer activada.
Pues bien, una forma muy simple de evitar los rebotes es, dentro de la rutina de tratamiento de la ointerrupción del teclado, desactivas dicha interrupción poniendo el bit RBIE a cero y, dentro de la rutina de tratamiento de la interrupción del timer, borras el flag RBIF y activas de nuevo la interrupción RBIE, cuando a ti te convenga, es decir, si quieres un antirrebotes de 10ms y el timer salta cada 1ms, puies con un contador, de que llege a 10 activas el RBIE.
Yo he utilizado este método y funciona a la perfección. No se pierde nada de tiempo en la captura de datos del teclado y se obtiene el tiempo de antirrebotes deseado.