He estado tratando de hacer que una pantalla LCD HD44780 funcione varias veces. La primera vez fue por puerto paralelo desde una computadora, luego varias veces usando diferentes PIC uC. Solo puedo hacer que la pantalla muestre la mitad de los puntos (el lado derecho de la pantalla) en negro y el lado izquierdo en blanco/en blanco. Leí en Internet que significa que la pantalla no se está inicializando correctamente.
La pantalla es Tianma TM161A/B
setData(0b00110000); // INIT
strobeE();
DelayMs(5);
setData(0b00110000); // INIT
strobeE();
DelayMs(5);
setData(0b00001111); // ON/OFF
strobeE();
DelayMs(5);
setData(0b00000001); // CLEAR
strobeE();
DelayMs(5);
setData(0b00000110); // ENTRY MODE
strobeE();
void strobeE() {
mPORTDSetBits(E);
DelayMs(1);
mPORTDClearBits(E);
}
He utilizado un analizador lógico, una sonda lógica y un multímetro para comprobar si las conexiones entre el PIC y el LCD son correctas. creo que lo son
Una imagen (mala) de mis tiempos en un analizador lógico;
¿Qué estoy haciendo mal?
El problema con la pantalla que no se inicializaba se debía a un cable suelto. Era RS o RW, que quedó flotando.
Mi analizador lógico mostró que estaba en estado bajo, pero parece que el controlador de la pantalla LCD pensó lo contrario. (Diferente tipo de entrada)
Un consejo:
Verifique sus cableados: ¡no conectado! = entrada baja
Una sonda lógica, que emite un sonido de tono alto o bajo según la señal, me ayudó a encontrar el problema. No dio ningún tipo de sonido en absoluto en ese pin.
Verifique su palabra "conjunto de funciones" (0b00110000). los bits 2 y 3 (N y F en la hoja de datos) establecen la forma de visualización. Si se configuran incorrectamente, parte de la pantalla no funcionará. Pruebe las 4 combinaciones.
AndrejaKo
varesa
AndrejaKo
chef flambeado
varesa
varesa
AndrejaKo
Armanda
varesa
abdullah kahraman
varesa
abdullah kahraman
abdullah kahraman
varesa
abdullah kahraman
Wouter van Ooijen
varesa