Autor Tema: LCD 20x4 de JHD dando problemas  (Leído 2642 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BlueWind

  • PIC10
  • *
  • Mensajes: 20
LCD 20x4 de JHD dando problemas
« en: 18 de Agosto de 2019, 00:37:40 »
Hola a todos,

Después de mucho tiempo fuera del giro de los PICs, he regresado y he vuelto a darme contra la pared con un problemilla medio raro al cual no le he encontrado la solución y por ello acudo a Uds por ayuda. :shock:

Estoy tratando de inicializar un LCD de 20x4 modelo JHD 204A, el detalle es que después de ejecutar el procedimiento  de inicialización solo veo el cursor en L1-posición cero (lo cual es muy normal), veo la línea 1 y la 3, pero no veo la 2 y la 4??!!. o sea el LCD no muestra nada en las posiciones de las líneas 2 y 4. (no se ven las huellas cuadradas de los pixeles!!) :( :(

Le he dado N vueltas al código y revisado N artículos pero no veo el error. :x :x
La secuencia que mando en forma abreviada, es la siguiente:

20 ms
comando 30
6 ms
comando 30
1 ms
comando 30
1 ms
comando 38
2 ms
comando 8
1 ms
comando 1
1 ms
comando 6
1 ms
comando 0E

Uso mikroC para programar y el LCD se supone que está en modo de 8 bits.

¿Alguna pista para la solución? :-) :-) :-)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:LCD 20x4 de JHD dando problemas
« Respuesta #1 en: 18 de Agosto de 2019, 10:16:41 »
Parece problema de inicializacion...
Por las dudas, trata de aumentarle los delays, a 100 / 50 / 30 por ahi... si se tarda mas lo unico que vas a lograr es que aparesca lento, pero vas a encontrar la causa..
Mirando un datasheet me encuentro con esto:

Código: C
  1. } void lcd_init()/*初始化*/
  2. { lcd_wrcmd(0x38); /*设置8 位格式,2 行,5*7*/
  3. lcd_wrcmd(0x0c); /*整体显示,关光标,不闪烁*/
  4. lcd_wrcmd(0x06); /*设定输入方式,增量不移位*/
  5. lcd_wrcmd(0x01); /*清除显示*/
  6. lcdcounter=0;
  7. }

Se envian muchas menos cosas para inicializarlo, al menos el que encontre, no vi ningun diagrama de inicializacion, solo ese codigo.

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:LCD 20x4 de JHD dando problemas
« Respuesta #2 en: 18 de Agosto de 2019, 23:07:06 »
Hola, puede que el problema sea la librería lcd.
En mi caso, probé varias librerías lcd420 hasta incluso haciendo modificaciones para echarlo a andar.

Desconectado BlueWind

  • PIC10
  • *
  • Mensajes: 20
Re:LCD 20x4 de JHD dando problemas
« Respuesta #3 en: 19 de Agosto de 2019, 15:21:17 »
Hola Robert76,

En mi caso no uso ninguna librería, lo estoy programando " a mano limpia" siguiendo  el set de instrucciones comunes que traen las hojas de especificaciones, que es el mismo set para todos los LCD's salvo raras excepciones. - Creo que mas bien la causa está en lo delays, porque me ha sucedido con algunos LCD's de 20x2 que no han querido inicializar bien y luego de cambiar los delays han trabajado bien.

Lo que me ha sacado de casillas es que en este LCD de 20x4 solo veo dos líneas 1y3 y las otras no logro que salgan.

Saludos y seguimos en busca de la causa del problema
« Última modificación: 19 de Agosto de 2019, 15:33:03 por BlueWind »

Desconectado BlueWind

  • PIC10
  • *
  • Mensajes: 20
Re:LCD 20x4 de JHD dando problemas
« Respuesta #4 en: 19 de Agosto de 2019, 15:27:58 »
Hola KILLER JC

Es posible que tengas razón en lo de los delays. ëse código que muestras lo he visto en varios artículos y me salta  a la vista que omiten los primeros 3 comandos 30, 30 y 30 con delays diferentes cada uno, que vienen en casi todos los diagramas de flujo de inicialización de los LCD's.

Siento que debe ser algo relacionado con la función de Inicialización, porque verás, a pesar de que veo solo las líneas 1 y la 3 (que son una sola en realidad, internamente en la ram del LCD), puedo escribir en ellas sin problemas.....esto me da una pista de que la inicialización está corriendo a medias....

Probaré cambiando los delays a ver si funciona.

Saludos.
« Última modificación: 19 de Agosto de 2019, 15:34:07 por BlueWind »