Problema de visualización del MCU LCD1602 ah ah ah

Se puede ver en su código que si el parámetro formal de LCD_DISRES(X) es 0, entonces lcd_table[0], lcd_table[1] y lcd_table[2] serán todos 0. En este momento tiempo, no ajustará la pantalla, por lo que no se puede mostrar 0

En cuanto a por qué se muestra ")" cuando Y es 0 o un número negativo, no entiendo por qué, pero debería ser relacionado con la siguiente declaración

if(I_data<0)

{

LCD_Write(LCD_DATA,0x2D);//Cuando es menor que 0, hay es esta oración, se muestra un "-", y es mayor o igual a 0 si no

aa=-I_data;

}

else

aa=I_data;