Existe um padrão para um sistema de menus simples em C para um LCD de texto. Eu me pego reescrevendo muito o código para lidar com menus simples de texto em LCD.
Acho que a maioria dos sistemas possui um menu principal e alguns submenus que, quando selecionados, permitem definir um parâmetro com algum valor mínimo e máximo.
Idealmente, esse sistema de menus pode ser navegado com 4 teclas simples, como inserir, cancelar, para cima e para baixo.
Na minha aplicação, estou usando um LCD de texto de 2 linhas x 16 caracteres, embora uma solução ideal possa ser aplicada a qualquer monitor NxM.