Foros | Webinarios | Blogs
 

Aprender a usar, conectar y programar lcd 2x20 en assembler

Seguir
hola , necesito ayuda para aprender a usar los lcd, tengo conocimiento en pics, pero necesito aprender ahora a usar los lcd de 2x20, se programar en assembler, he leido mucho en los foros pero no he encontrado algo que me guie bien desde el principio, tengo un lcd de 2x20 el WH2002A y pics 16f873a, si alguien me pudiera hechar una ayuda se lo agradeceria de todo corazon, y si en algo puedo ayudar solo me avisan. He hecho programas y los he implementado en el area industrial, pero no he utilizado lcd y quiero aprender.
Agradeciendo vuestra ayuda, atte
MasterEnergy


5 Soluciones propuestas

Hola:

Realmente no es muy complejo manejar los LCD de 16x2 o de 20x2, lo que si sería complejo es explicarlo en un post, te dejo algo de información:

http://www.x-robotics.com

ve a la sección Rutinas y luego LCD 2x16

Habla del display de 16x2, pero para el de 20x2 es practicamente igual, luego de estudiar esto si tienes dudas puntuales preguntalas aca...

Suerte.
gracias por la respuesta seguire tus consejo leere lo que encuentre
hola nuevamente, tengo las siguientes dudas:
al programar el pic 16f873a debo colocar en alguna parte de dicho programa si quiero usar 4 o 8 bits de comunicacion con el lcd
se puede utilizar un cristal de 4Mhz o es necesario utilizar uno de 20Mhz
el programa que aparece en dicha pagina lo transforme para poder ocupar mi micro pero no funcionó
agradeciendo una pronta respuesta
atte
MasterEnergy
Ok.
Si utilizastes las librerias que te recomendo "vicross" estas estan calculadas para 4Mhz (la parte de los retardos).-
Por lo tanto si usas otro cristal vas a tener que recalcular los retardos.-
Subi tus modificaciones aclarando todo lo que creas necesario asi podemos abordar mejor el tema.-
Saludos.-
SOLUCIÓN ACEPTADA
Vamos por partes...

En la librería de la página que te recomendé (yo no la uso yo escribí mis propias librerías) se usa el busy flag, para checar que el LCD ha terminado, por lo que hay que conectar los pines RS, R/W, y E, del LCD al PIC, y usa un bus de 8 líneas, si quieres usar un bus de solo 4 líneas debes modificarla, ya que en ese caso se debe enviár los datos o comandos en dos partes de 4.

Si no quieres usar el busy flag debes agregar retardos para esperar que el LCD termine, y así te ahorras la línea R/W que se conecta a tierra, es indistinto usar un cristal de 4 o de cualquier otra frecuencia, solo hay que ajustar los retardos para que no se altere su tiempo, en la librería que te dejé usan un retardo de 5ms, me parece que esta corto, debe ser de al menos 20ms para la secuencia de inicialización del display, para que puedas ver la secuancia de inicialización descarga la hoja de datos del controlador del display:

http://www.datasheetcatalog.com/datasheets_pdf/H/D/4/4/HD44780U.shtml

Páginas 45 y 46, es importante la secuencia de inicialización si no el display no funcionará correctamente.