Yo hice uno hace tiempo con interrupciones, lo que pasa es que ahora no se si lo tengo, no se si lo habré perdido en algún formateo....
Consistía en lo siguiente:
4 pulsadores en RB4/7 una tecla era la de menú, otra era flecha arriba otra flecha abajo y por último la tecla de acepatción o enter.
Al menú solo se podía entrar con la tecla menú, al entrar mostraba en el lcd 2 opciones (submenús) que podían ser seleccionadas mediante las flechas, y con el menú aceptar se accedía al submenú seleccionado, si se pulsaba la tecla menú se retrocedía al menú anterior y así sucesivamente.
Creo que en el ejemplo que hice con proteus, hice algo parecido...
Saludos.