[Risolto] Problema Sotto menu...

A furia di sbattere la testa con gli switch case ho risolto così....

Posto parte del codice in modo tale che possa essere di aiuto ad altri utenti

void setup()
{
  pinMode(ENTER, INPUT);
  pinMode(ESC, INPUT);
  pinMode(PIU, INPUT);
  pinMode(MENO, INPUT);
  pinMode(CONTRAST, OUTPUT);
  lcd.clear();
 }  // setup()...
// =========================================BLOCO HOME PAGE===================================  
void menu1 ()
{
    //analogWrite(CONTRAST, cntr);
    //======================BLOCO ORA==================
    lcd.setCursor(0,0);  
    if(h < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0"); 
    lcd.print(h);
    lcd.setCursor(2,0);  //Scrivo la temperatura che sto impostando
    lcd.print(":");
    lcd.setCursor(3,0);  //Scrivo la temperatura che sto impostando
    if(m < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0"); 
    lcd.print(m);
    lcd.setCursor(5,0);
    lcd.print(" ");
    //======================BLOCO DATA==================
    lcd.setCursor(6,0);  
    if(giorno < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0"); 
    lcd.print(giorno);
    lcd.setCursor(8,0);  
    lcd.print("/");
    lcd.setCursor(9,0);  //Scrivo la temperatura che sto impostando
    if(mese < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0"); 
    lcd.print(mese);
    lcd.setCursor(11,0);  
    lcd.print("/");
    lcd.setCursor(12,0);  
    lcd.print(anno);
    //===================================================
   
    lcd.setCursor(-4,2);
    lcd.print("TEMP1:");
    sensors.requestTemperatures(); // Invia il comando di lettura delle temperatura
    lcd.setCursor(2, 2);
    lcd.print (sensors.getTempCByIndex(0));
    
}
//============================BLOCCO GESTIONE ORA=====================================
void menu2 ()
{
    lcd.setCursor(0,0);
    lcd.print("    OROLOGIO    ");
    lcd.setCursor(5,1); 
    if(h < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0"); 
    lcd.print(h);
    lcd.setCursor(0,1);  //Scrivo la temperatura che sto impostando
    lcd.print("     ");
    lcd.setCursor(7,1);  //Scrivo la temperatura che sto impostando
    lcd.print(":");
    lcd.setCursor(8,1);  //Scrivo la temperatura che sto impostando
    if(m < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0"); 
    lcd.print(m);
    lcd.setCursor(-4,2);
    lcd.print("                ");
    lcd.setCursor(-4,3);
    lcd.print("      SET       ");
    if(enter == HIGH && millis() - tempo_btn > debounce) 
     {
      tempo_btn = millis();
      lcd.clear();
      cont_pag = 21;
     }
}
void menu21 ()
{
    lcd.setCursor(0,0);
    lcd.print("ORE:");
    lcd.setCursor(4,0);
    if(h < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0");
    lcd.print(h);
    lcd.setCursor(0,1);
    lcd.print("                ");
    lcd.setCursor(-4,2);
    lcd.print("                ");
    lcd.setCursor(-4,3);
    lcd.print("      SET       ");
    //Abilita l'ingresso in modalita' configurazione
    n_piu = 0;
    n_meno = 0;
    //Abilita i tasti "piu" e "meno" in modalita' incremento/decremento 
    piu_set = digitalRead(PIU);
    meno_set = digitalRead(MENO);
    if(piu_set == HIGH && millis() - tempo_btn > debounce)  //Incremento "variabile" se premo tasto "piu"
      {
        tempo_btn = millis();
        n_piu++;
        piu_set = !piu_set;
        if( h < 24 )
          h++;
      }
    if(meno_set == HIGH && millis() - tempo_btn > debounce)  //Decremento "variabile" se premo tasto "meno"
      {
        tempo_btn = millis();
        n_meno++;
        meno_set = !meno_set;
        if( h > 0 )
          h--;
      }
    
    if(enter == HIGH && millis() - tempo_btn > debounce) 
     {
      tempo_btn = millis();
      lcd.clear();
      cont_pag = 22;
     }
}
void menu22 ()
{
    lcd.setCursor(0,0);
    lcd.print("MINUTI:");
    lcd.setCursor(7,0);
    if(m < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
    lcd.print("0");
    lcd.print(m);
    lcd.setCursor(0,1);
    lcd.print("                ");
    lcd.setCursor(-4,2);
    lcd.print("                ");
    lcd.setCursor(-4,3);
    lcd.print("      SET       ");
    //Abilita l'ingresso in modalita' configurazione
    n_piu = 0;
    n_meno = 0;
    //Abilita i tasti "piu" e "meno" in modalita' incremento/decremento 
    piu_set = digitalRead(PIU);
    meno_set = digitalRead(MENO);
    if(piu_set == HIGH && millis() - tempo_btn > debounce)  //Incremento "variabile" se premo tasto "piu"
      {
        tempo_btn = millis();
        n_piu++;
        piu_set = !piu_set;
        if( m < 60 )
          m++;
      }
    if(meno_set == HIGH && millis() - tempo_btn > debounce)  //Decremento "variabile" se premo tasto "meno"
      {
        tempo_btn = millis();
        n_meno++;
        meno_set = !meno_set;
        if( m > 0 )
          m--;
      }
    
    if(enter == HIGH && millis() - tempo_btn > debounce) 
     {
      tempo_btn = millis();
      lcd.clear();
      lcd.setCursor(5,1); 
      if(h < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
      lcd.print("0"); 
      lcd.print(h);
      lcd.setCursor(0,1);  //Scrivo la temperatura che sto impostando
      lcd.print("     ");
      lcd.setCursor(7,1);  //Scrivo la temperatura che sto impostando
      lcd.print(":");
      lcd.setCursor(8,1);  //Scrivo la temperatura che sto impostando
      if(m < 10)  //Quando il numero è ad una sola cifra devo aggiungere uno spazio per mantenere il testo che viene dopo nella stessa posizione
      lcd.print("0"); 
      lcd.print(m);
      delay(1500);
      lcd.clear();
      cont_pag = 0;
     }
}