Imprimir Estado da Porta

Boa tarde, pessoal. Sou novato nesse mundo e tenho um sistema e queria testar alguns botões digitais e mecânicos que ele possui.
Meu objetivo é imprimir o estado daqueles botões (0V ou 5V) em um display LCD. Obviamente ele me retornaria o valor de 0 ou 1. Ele chega até mostrar valores de 0 ou 1, porém ao apertar/desapertar o botão o valor nao é alterado.
O codigo está abaixo. (Ignorem a parte dos LEDS e BUZZER, pois funcionaram ok)
Obrigado

///////CHAVE FIM DE CURSO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int CFC_UP_46 = 46;
int V_CFC_UP_46 = 0 ;

const int CFC_DOWN_47 = 47;
int V_CFC_DOWN_47 = 0;

const int CFC_ALT_48 = 48;
int V_CFC_ALT_48 = 0;
///////CHAVE FIM DE CURSO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////TECLADO DIGITAL PAINEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int TDP_SOBE_1_38 = 38; //porta da tecla 1 de SOBE
boolean V_TDP_SOBE_1_38 = true; //variavel da porta da tecla 1

const int TDP_DESCE_4_37 = 37; //porta da tecla 4 de DESCE
boolean V_TDP_DESCE_4_37 = true; //variavel da porta da tecla 4 de DESCE

const int TDP_VOLTAGEM_2_39 = 39; //porta da tecla 2 VOLTAGEM
int V_TDP_VOLTAGEM_2_39 = 0; //variavel da porta da tecla 2

const int TDP_TEMPO_5_40 = 40; //porta da tecla 5 tecla TEMPO
int V_TDP_TEMPO_5_40 = 0; //variavel da porta da tecla 5

const int TDP_AGITACAO_3_41 = 41; //porta da tecla 3 AGITACAO
boolean V_TDP_AGITACAO_3_41 = true; //variavel da porta da tecla 3

const int TDP_PAUSA_6_42 = 42; //porta da tecla 6 RUNING_PAUSED_ENDED_SETING
boolean V_TDP_PAUSA_6_42 = true; //variavel da porta da tecla 6
///////TECLADO DIGITAL PAINEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////CHAVES MECÂNICAS PAINEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int CMP_UP_43 = 43; //porta da chave UP
boolean V_CMP_UP_43 = true; //vairavel da chave UP

const int CMP_DOWN_44 = 44; //porta da chave DOWN
boolean V_CMP_DOWN_44 = true; //vairavel da chave DOWN

const int CMP_PAUSE_45 = 45; //porta da chave PAUSE
boolean V_CMP_PAUSE_45 = true; //variavel da porta da chave PAUSE
///////CHAVES MECÂNICAS PAINEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////BUZZER_53 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int BUZZER_53 = 53; //Porta 53 que será utilizada para o SINAL SONORO
///////BUZZER_53 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////LEDS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int LED_RGB_G_50 = 50;
int LED_RGB_B_51 = 51;

int LED_GREEN_52 = 52;
///////////LEDS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////RELE MAGNETICO AGITAÇÃO ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int RMA_22 = 22; // ventoinha de agitação magnético
///////RELE MAGNETICO AGITAÇÃO ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////RELE DO ESTADO SOLIDO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int RES_49 = 49;
///////RELE DO ESTADO SOLIDO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////EASY DRIVER ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int EASY_DIRE_23 = 23;

int EASY_W_STEP_24 = 24;

int EASY_MS1_25 = 25;

int EASY_ENABLE_26 = 26;

int EASY_MS2_27 = 27;
///////EASY DRIVER ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup()

{

///////AVISOS INICIAIS //////////////////////////////////////////////////////////////////////////////////////////////////////////
///////AVISOS INICIAIS //////////////////////////////////////////////////////////////////////////////////////////////////////////

lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Ola LAMS! “);
lcd.setCursor(0,1);
lcd.print(” Seja bem vindo!”);
delay(100);
lcd.setCursor(0,0);
for (char k=0;k<26;k++){
lcd.scrollDisplayLeft();
delay(50);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Vamos extrair?”);
delay(200);
lcd.clear();

///////AVISOS INICIAIS //////////////////////////////////////////////////////////////////////////////////////////////////////////
///////AVISOS INICIAIS //////////////////////////////////////////////////////////////////////////////////////////////////////////

///////EMCO 3 PWM /////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode (EMCO_3,OUTPUT);
///////EMCO 3 PWM ////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////CHAVE FIM DE CURSO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode (CFC_UP_46, INPUT);
pinMode (CFC_DOWN_47, INPUT);
pinMode (CFC_ALT_48, INPUT);
///////CHAVE FIM DE CURSO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////TECLADO DIGITAL PAINEL///////////////////////////////////////////////////////////////////
pinMode(TDP_SOBE_1_38, INPUT);
pinMode(TDP_DESCE_4_37, INPUT);
pinMode (TDP_VOLTAGEM_2_39, INPUT);
pinMode (TDP_TEMPO_5_40, INPUT);
pinMode (TDP_AGITACAO_3_41, INPUT);
pinMode (TDP_PAUSA_6_42, INPUT);
////////////////////////////////TECLADO DIGITAL PAINEL/////////////////////////////////////////////////////////////////////

///////CHAVES MECÂNICAS PAINEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode(CMP_UP_43, INPUT);
pinMode(CMP_DOWN_44, INPUT);
pinMode(CMP_PAUSE_45, INPUT);
///////CHAVES MECÂNICAS PAINEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////BUZZER_53 //////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode (BUZZER_53, OUTPUT);
///////BUZZER_53 //////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////LEDS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode(LED_RGB_G_50, OUTPUT);
pinMode(LED_RGB_B_51, OUTPUT);
pinMode(LED_GREEN_52, OUTPUT);
///////LEDS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////RELE MAGNETICO /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode (RMA_22, OUTPUT);
///////RELE MAGNETICO /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////RELE DO ESTADO SOLIDO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode (RES_49, OUTPUT);
///////RELE DO ESTADO SOLIDO //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////EASY DRIVER ////////////////////////////////////////////////////////////////////////////////////////////////////////////
pinMode (EASY_DIRE_23, OUTPUT);
pinMode (EASY_W_STEP_24, OUTPUT);
pinMode (EASY_MS1_25, OUTPUT);
pinMode (EASY_ENABLE_26, OUTPUT);
pinMode (EASY_MS2_27, OUTPUT);
///////EASY DRIVER ////////////////////////////////////////////////////////////////////////////////////////////////////////////

digitalWrite(BUZZER_53, HIGH);//teste buzzer
delay(500);
digitalWrite(BUZZER_53, LOW);
delay(500);
digitalWrite(BUZZER_53, HIGH);
delay(500);
digitalWrite(BUZZER_53, LOW);//teste buzzer

digitalWrite(LED_RGB_G_50, HIGH);//Teste led rgb verde
delay(500);
digitalWrite(LED_RGB_G_50, LOW);
delay(500);
digitalWrite(LED_RGB_G_50, HIGH);
delay(500);
digitalWrite(LED_RGB_G_50, LOW);//Teste led rgb verde

digitalWrite(LED_RGB_B_51, HIGH);//Teste led rgb azul
delay(500);
digitalWrite(LED_RGB_B_51, LOW);
delay(500);
digitalWrite(LED_RGB_B_51, HIGH);
delay(500);
digitalWrite(LED_RGB_B_51, LOW);//Teste led rgb azul

digitalWrite(LED_GREEN_52, HIGH);//Teste led rgb azul
delay(500);
digitalWrite(LED_GREEN_52, LOW);
delay(500);
digitalWrite(LED_GREEN_52, HIGH);
delay(500);
digitalWrite(LED_GREEN_52, LOW);//Teste led rgb azul

}

void loop()
{
V_CFC_UP_46 = digitalRead (CFC_UP_46);
//V_CFC_UP_46 == CFC_UP_46;
V_CFC_DOWN_47 = digitalRead (CFC_DOWN_47);
//V_CFC_DOWN_47 == CFC_DOWN_47;
V_CFC_ALT_48 = digitalRead (CFC_ALT_48);
//V_CFC_ALT_48 == CFC_ALT_48;

V_TDP_SOBE_1_38 = digitalRead (TDP_SOBE_1_38);
//V_TDP_SOBE_1_38 == TDP_SOBE_1_38;
V_TDP_DESCE_4_37 = digitalRead (TDP_DESCE_4_37);
//V_TDP_DESCE_4_37 == TDP_DESCE_4_37;
V_TDP_VOLTAGEM_2_39 = digitalRead (TDP_VOLTAGEM_2_39);
//V_TDP_VOLTAGEM_2_39 == TDP_VOLTAGEM_2_39;
V_TDP_TEMPO_5_40 = digitalRead (TDP_TEMPO_5_40);
//V_TDP_TEMPO_5_40 == TDP_TEMPO_5_40;
V_TDP_AGITACAO_3_41 = digitalRead (TDP_AGITACAO_3_41);
//V_TDP_AGITACAO_3_41 = TDP_AGITACAO_3_41;
V_TDP_PAUSA_6_42 = digitalRead (TDP_PAUSA_6_42);
//V_TDP_PAUSA_6_42 == TDP_PAUSA_6_42;

V_CMP_UP_43 = digitalRead (CMP_UP_43);
//V_CMP_UP_43 == CMP_UP_43;
V_CMP_DOWN_44 = digitalRead (CMP_DOWN_44);
//V_CMP_DOWN_44 == CMP_DOWN_44;
V_CMP_PAUSE_45 = digitalRead (CMP_PAUSE_45);
//V_CMP_PAUSE_45 == CMP_PAUSE_45;

lcd.clear();

lcd.setCursor(0,0);//teste chave fim de curso UP
lcd.print(V_CFC_UP_46);
lcd.setCursor(0,1);//teste chave fim de curso DOWN
lcd.print(V_CFC_DOWN_47);
lcd.setCursor(2,0);//teste chave fim de curso ALT
lcd.print(V_CFC_ALT_48);

lcd.setCursor(2,1);//teste teclado digital painel SOBE_1
lcd.print(V_TDP_SOBE_1_38);
lcd.setCursor(4,0);//teste teclado digital painel DESCE_4
lcd.print(V_TDP_DESCE_4_37);
lcd.setCursor(4,1);//teste teclado digital painel VOLTAGEM_2
lcd.print(V_TDP_VOLTAGEM_2_39);
lcd.setCursor(6,0);//teste teclado digital painel TEMPO_5
lcd.print(V_TDP_TEMPO_5_40);
lcd.setCursor(6,1);//teste teclado digital painel AGITACAO_3
lcd.print(V_TDP_AGITACAO_3_41);
lcd.setCursor(8,0);//teste teclado digital painel PAUSA_6
lcd.print(V_TDP_PAUSA_6_42);

lcd.setCursor(8,1);//teste chave mecanica painel UP
lcd.print(V_CMP_UP_43);
lcd.setCursor(10,0);//teste chave mecanica painel DOWN
lcd.print(V_CMP_DOWN_44);
lcd.setCursor(10,1);//teste chave mecanica painel PAUSE
lcd.print(V_CMP_PAUSE_45);

delay (1000);
}

Pela numeração das portas que vc está usando, presumo que esteja utilizando um Arduino mega.
Para esse programa funcionar legal vc precisa basicamente de 2 alterações:
1- Em vez de digitalRead utilize interrupção externa, pois assim evita de perder o exato momento que uma tecla é lida. Na forma que seu código está, ele só vai ler o estado da porta se o programa estiver na linha de leitura no exato momento que uma tecla for acionada, com interrupção externa não tem esse problema.

2- Utilize debounce para verificar se a tecla foi realmente acionada ou se não foi apenas ruído.

Sugiro ainda utilizar lógico negativa para as teclas, ou seja, acionar os pull UP das portas e considerar tecla acionada quando lido nível lógico zero.

Tenta aí depois nos diga como ficou.