Hola, me ha surgido otra duda, mira he hecho un array como me indicas, y después las instrucciones:
sprintf(mensaje,"Modo auto:%c",modo);
lcd_puts(mensaje);
Bien para que no salga un warning lo que he hecho es forzar modo que en principio vale 1, un entero forzarlo a que sea un caracter, es decir:
modo=(char)1;
Así lógicamte no da error, pero mi pregunta es si cuando salga por pantalla saldrá el valor numérico o más bien será el caracter ASCII correspondiente al 1, más bien creo que lo segundo.