No es necesario que dejes de controlar por dedicarte al menu.
No lo lei pero supongo que despliegas el menu sobre un display LCD, por lo tanto puedes aprovecharte que el ultimo dato escrito alli quedara hasta que envies otro...
Esta bien que uses la interrupcion del teclado.
Yo utilizo una interrupcion del timer para marcar un ritmo de tiempo.
dentro del main() cotejo cuando se supera una cantidad determinada de ticks y cuando eso pasa ejecuto determinadas funciones, entre ella el control de los reles.
Si cambias cada 50 milisegundos un rele, te aseguro que el proceso que controles no sufrira ningun cambio significativo, mientras que dentro del programa en 50 milisegundos ejecutas varios miles de instrucciones de lenguaje C, asi que no le tengas miedo...