hola, tengo algo de tiempo manejando el PIC, ya me pase a la seria 18Fx550, pero bueno si te es de utilidad de dire algo que hice en mis primeras pruebas en borland C, la comparacion en buena por que era en modo texto, algo muy usual en display, por cierto te recomiento usar un display LCD de caracteres 16X2 o alguno asi, solo usas 7 lineas en el mejor de los casos, con displays de 7 segmentos, tienes que contar 7 segmentos y un anodo por cada digito (eso si usas multiplexacion)..NO..mejor LCD grafico...el driver de Hitachi es el mas comun y son baratos...y con respecto a los menus pues tienes que usar la interrupcion externa del micro.....tu diseñas tu sistema de pantallas, te recomiendo que uses algun compilador en C, el sourceboost BoostC esta genial......haces tu funcion que imprima la pantalla 1, al 2, la 3, la 4 etc. cuando pulsas tu boton conectado al bit de interrupcion tu codigo te manda a una funcion que el el 'handler' de la interrupcion, limpia las banderas y eso y en ese momento mandas llamar la funcion que imprime tu pantalla de menu, puedes poner una variable globlal que se incremente y ponerle ese numero como argumento a tu funcion de la pantalla y estarias cambiando de pantalla. yo mismo hice eso que tu quieres hacer en un 16F628, por aquello de la memoria....era un reloj de tiempo real con alarma y cronometro...parecia un reloj de pulsera tamaño king kong, cualquier duda te puedo ayudar....solo trabajo y estudio...jejeje.