Hitachi HD44780 LCD funciona exactamente el 50% del tiempo

Mi Hitachi LCD funciona el 50% del tiempo. ¿Es un problema el problema del botón de reinicio antirrebote en el AVR? ¿Por qué está pasando esto? Aquí hay un video de lo que está sucediendo.

Esto no sucede si escribo solo en la primera línea de la pantalla LCD . Solo sucede si escribo en la segunda línea de la pantalla LCD. Parece un problema con la dirección de la memoria, pero restablecí la memoria con una visualización clara en cada inicio.

También intenté incrementar el tiempo de retraso (5 segundos antes del inicio). No funcionó.

Aquí mi INIT():

    _delay_ms(15); //wait for VDD to rise

send_nibble(0,0b0010);   //Set to 4 bit operation (note: 1 nibble operation)
_delay_ms(5);

send_nibble(0,0b0010);   //Function set, 4 bit
send_nibble(0,0b1000);
_delay_ms(15);

send_nibble(0,0b0000);   //Clear Display
send_nibble(0,0b0001);
_delay_ms(15);

send_nibble(0,0b0000);  //Entry Mode, Increment cursor position, No display shift
send_nibble(0,0b0110);
_delay_ms(5);

send_nibble(0,0b0000);   //Display ON, Cursor On, Cursor Blinking
send_nibble(0,0b1111);

Respuestas (1)

Parece que está reiniciando su microcontrolador, pero la pantalla no se reinicia (cuando presiona el botón, la pantalla no se apaga/reinicia). Tenga en cuenta que sin un reinicio, está comenzando en el modo de 4 bits, para enviar comandos de 8 bits, debe volver a ese modo.

En este caso, lo primero que debe hacer su init es restablecer la pantalla a un estado conocido. Alternativamente, puede conectar la pantalla para que se reinicie con la misma señal que el reinicio del microcontrolador.

Para una inicialización adecuada, consulte la hoja de datos . Observe que el diagrama de inicialización en la hoja de datos comienza con "Encender". No estás comenzando allí, te estás saltando los primeros pasos. De acuerdo con la hoja de datos,

Si no se cumplen las condiciones de suministro de energía para operar correctamente el circuito de reinicio interno, se hace necesaria la inicialización mediante instrucciones.

Este es el diagrama de instrucción de inicialización de 4 bits.

ingrese la descripción de la imagen aquí

¿Cómo puedo restablecer el software? Primero intenté borrar la pantalla en INIT, pero no funcionó.
Por lo que puedo decir, no se puede restablecer el software, en realidad no. Deberá interrumpir la fuente de alimentación con algunos circuitos conectados a su interruptor de reinicio. De lo contrario, intente ejecutar la inicialización exactamente como está escrito en el diagrama.