PIC16F877A y LCD

señores tengan un buen dia

tengo el siguiente problema con un display lcd y un pic 16f877a, solo aparecen cuadros en el display y en la linea de abajo,es un display 2 por 16.

quisiera saber si alguno de los colaboradores del foro me podria ayudar, con algun codigo en asm para probar ya que no me quiere funcionar los que he revisado en algunas paginas de internet.

gracias

att
Carlos Diaz
 
Que tal Carlos!! Me supongo que estas inicializando el LCD al inicio, mediante el pic. Yo le daba un tiempo antes de enviarle las primeras instrucciones de 100ms a 150ms aprox, esto para permitirle que el micro del módulo inicialice...

Saludos
 
francisco gracias por su respuesta,usted tendria por ahi algun codigo para probarlo ya que he probado con algunos que he revisado en internet pero no me han funcionado.

gracias
 
Listo, te anexo el programa, es para un termómetro digital, utilizando el LM35, utiliza el puerto analógico para leer CH0 donde esta conectada la salida del LM35.

El valor lo despliega en un LCD 16x2, al inicio estan las subrutinas de inicialización del LCD.

Este programa lo saqué de una página y le hice algunas modificaciones para acoplarlo a lo que yo necesitaba.

Espero que todavía te sirva. Saludos.
 

Adjuntos

  • termometrolm35_102.txt
    6.4 KB · Visitas: 2,835
oye camarada y de casualidad no tendras el circuito de esa practica por que tengo una idea general, si me lo podrias mandar estaria mejor. saludos
 
Bien esta listo, aqui adjunto el esquemático, el board y el programa, si tienes alguna duda no dudes en hacermelo saber...

Saludos
 

Adjuntos

  • term_metro_1_canal_113.zip
    39.1 KB · Visitas: 2,168
Hola francisco!!! Tngo problemas con la pantalla o tambien, no responde a lo que le nvie del PIC16f877 me manda cuadros en la linea de abajo apenas cuando intento que solo me aparezca el cursor ; mi pantalla es una JHD 162A disque compatible con Hitachi, me podrias ayudar porfavor, te lo agradeceria mucho por que el ingeniero que me da clases no sabe y llevamos varios dias con lo mismo... de atemano gracias pakito.... :D y si tienes el codigo k le mandaste a el otro chavo me haria mucha falta, necesitamos personas como tu aki pa que nos den clases...
 
hola otra vez!!! en serio necesito ayuda, ya llevamos mucho haciendo librerías y subrutinas y solo necesitamos que diga HOLA MUNDO o cualquier cosa nada complicado... lo digo por que vi que hiciste uno de un termómetro y no tenemos suficientes materiales aquí para hacerlo.... por favor. Por ahí dime de donde eres y tu edad
 
Última edición por un moderador:
Hola Mayita!!! gracias por tus comentarios, mira te paso un código, te recomiendo que bajes la hoja de datos del display, ese fue el display que utilice con este programa, si checa el post del termómetro puedes ver el esquemático para que te des una idea de la conexión solo suprime la parte del LM35 y LM336. Este programa manda un mensaje al LCD, hace que parpadee.

En el programa puedes incluir mas lineas, tantas quieras, las letras las puedes mandar en HEX, ASCII, DEC. baja una hoja donde veas el código ASCII para que te ayudes.

COmo comentario, tienes que direccionar el primer caracter donde quieras que inicie la palabra, luego mandas la secuencia de letras. El 0x80 es para el primer caracter de la primera linea, creo (no recuerdo bien) el 0xC0 es para el primer caracter de la segunda linea, es por eso que te recomiendo bajes el data sheet y lo estudies.

Vivo en México, al norte en la ciudad de Saltillo en el estado de Coahuila, tu???

Saludos
 

Adjuntos

  • lcd876_173.txt
    3.6 KB · Visitas: 1,175
Disculpa yo tengo el mismo poblema con mi LCD, no logre hacer que mi LCD (JHD162A) imprima otra cosa que no sean cuadros, estoy utilizando el PIC16f877A, las rutinas que utilizo ya las tenia probadas con el PIC16F84 pero con este PIC no me funcionan.

Quisiera saber si ya pudiste resolver el problema, y como le isiste.

Por favor necesito ayuda
 
Hola kyo3k!
Imagimo que este post es viejo, pero queria saber si en serio resolvieron elproblema yo tambien trabajo con el PIC16F877 y un LCD de 16x2, no se que marca porque no he podido encontrar en internet nada con el codigo que tiene en la parte de atras.

Cuando prendo el circuito el LCD se prende y solo los cuadritos de una lineas papadean. El PIC se supone que ya esta grabado, pero no hace nada...

POr ahi me dijeron que tenia que ponerle un oscilador al PIC porque este no tiene uno interno como el PIC16F84

Espero me puedan responder rapido porque tengo pocas horas para presentar mi proyecto...

Muchas gracias
 
si! necesitas un oscilador como el del pic 16f84, a base de un cristal y de unos capacitores segun la velocidad de oscilacion que tenga el cristal sera la velocidad que tengas de respuesta de tu pic asi como de las operaciones que le programes, normalemente se utiliza un cristal de 4Mhz.

Con mi proyecto nunca pude hacer que imprimiera bien desde el pi16f877 por eso utilize un 16f84 para imprimir y todo el procesamiento de datos y de mi programa lo hacia desde el 877. en pocas palabras se comunicaban ambos pic uno como escalvo del otro, fue un poco compicado pero si funciono bien el final.
 
hola, estoy aprendiendo a progamar en pics , y tengo el 16f877a y ya logre prender un led , ahora quiero poner una palabra en un lcd , si alguien me puede colaborar con esto ""
muchas gracias por su colaboracion

att @ndres t
 
Hola a todos,

de casualidad alguien me podria decir como puedo mostrar un mensaje en una pantalla lcd, sin necesidad de mandar imprimir letra por letra, sino la frase completa.

Agradesco la ayuda.
 
Os dejo las rutinas que suelo usar para controlar LCDs con interfaz a 4-BITs. El programa de ejemplo escribe el mensaje "PRUEBA" en un display 2x16 (sin necesidad de mandar escribir letra por letra)

Saludos,
 

Adjuntos

  • LCD4bit.txt
    6.5 KB · Visitas: 959
si! necesitas un oscilador como el del pic 16f84, a base de un cristal y de unos capacitores segun la velocidad de oscilacion que tenga el cristal sera la velocidad que tengas de respuesta de tu pic asi como de las operaciones que le programes, normalemente se utiliza un cristal de 4Mhz.

Con mi proyecto nunca pude hacer que imprimiera bien desde el pi16f877 por eso utilize un 16f84 para imprimir y todo el procesamiento de datos y de mi programa lo hacia desde el 877. en pocas palabras se comunicaban ambos pic uno como escalvo del otro, fue un poco compicado pero si funciono bien el final.

Hola amigo que tal una preguntota he tratado de hacer funcionar el LCD de 16x2 con pic16f84a y 16f877a y no he podido los dos tiene su cristal de 4 Mhz la verdad no se que mas hacer y te pido un favor si por ahi tienes el diagrama de como funciono tu proyecto te lo agradeceria mucho por que he buscado el problema por todas partes y no lo he podido revolver solo aparecen cuadros en la parte inferior
 
Atrás
Arriba