Autor Tema: Ayuda, que le pasa a este lcd16x2? sera el programa? que es?  (Leído 5183 veces)

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

Desconectado jo-fe-ar

  • PIC10
  • *
  • Mensajes: 24
Ayuda, que le pasa a este lcd16x2? sera el programa? que es?
« en: 19 de Septiembre de 2009, 14:25:46 »
Nesesito ayuda, amigos, espero me contesten y podamos resolver esto...
Tengo un LCD 16X2 JHD162A
Siempre me ha funcionado
en protoboard y en placa...
decidi hacer una placa para un circuito en epecial que hice que incorpora el lcd...ya lo habia soldado y todo...probe el programa y bien! todo funcionaba correctamente! pero mi programa tenia algunos problemas relacionado a otras cosas...asi que estuve reprogramando el pic. como a la quinta vez que lo reprograme...lo volvi a insertar y sta vez la pantalla lcd no me mostro lo que yo quería...probé muchos programas (que funcionaban perfectamente) y no funcionó con ninguno...me muestra caracteres raros en vez de los que yo le indico...probe un programa que mostraba "servira?" y les puedo decir que noté que las letras me las cambio por numeros y caracteres raros, y lo unico que escribioi bien fue el "?", pero me respetó el numero de caracteres

a que se debe esto?
el programa no es...pues ya lo probé en otras lcd (el mismo modelo)
el pic no es porque ya cambie de pic y lo mismo
la placa no es pues como les dije funcionaba bien...pero en una de esas veces que reprograme dejo de mostrar correctanmente
ademas ya cheque continuidad en las pistas y todo bien



por lo de los caracteres y todo eso...llego a pensar que tenga que ver internamente enb el lcd con la ram que guarda los caracteres predeterminados...sin embargo no se porque halla pasado esto..ni ciomo repararlo

o talvez sea otra cosa...espero em puedan ayudar

desde ya gracias

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Ayuda, que le pasa a este lcd16x2? sera el programa? que es?
« Respuesta #1 en: 19 de Septiembre de 2009, 21:46:13 »
.

Si no es ni el pic ni el LCD, será entonces la placa.. Se me ocurre que quizá algún pin del LCD por donde recibe los datos está mal conectado, entonces recibe algunos bits del pic y otros los recibe de tal forma que muestra caracteres, pero no los que vos le indicás. ¿No hay ningún cortocircuito entre los pines de datos del LCD?
When you see a good move, look for a better one (Emanuel Lasker)

Desconectado jo-fe-ar

  • PIC10
  • *
  • Mensajes: 24
Re: Ayuda, que le pasa a este lcd16x2? sera el programa? que es?
« Respuesta #2 en: 20 de Septiembre de 2009, 01:10:42 »
Hola, muchas gracias por contestame, pues no, en la placa no hay cortos, la solde y ya cheque continuidad y otras cosas y todo bien, no estoy seguro de si el lcd funcione bien, pero se me hace raro, porque, ya había montado la placa, soldado y todo eso, y FUNCIONABA!, pero despues de unas4 o 5 veces que reprograme el pic...el lcd empezo a mostrar mensajes raros...esta es la placa....(bueno, recién acabo de agregar el potenciómetro y el led de la de la derecha, pero sin eso, la placa funcionaba perfectamente el lcd y todo...

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Ayuda, que le pasa a este lcd16x2? sera el programa? que es?
« Respuesta #3 en: 20 de Septiembre de 2009, 14:20:17 »
Puede ser ruido de la fuente, ¿estás usando una diferente a la de siempre?

También puede que el cristal del pic se haya desoldado por algún pequeño golpe.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3192
Re: Ayuda, que le pasa a este lcd16x2? sera el programa? que es?
« Respuesta #4 en: 20 de Septiembre de 2009, 15:26:06 »

Cambiaste el cristal del pic por uno mayor?

Te lo pregunto porque cuando trabaje con la libreria del lcd y probe a una mayor velocidad me mostraba el mismo numero de caracteres pero estos eran diferentes a lo que tenia que pintar , como te pasa a ti.

El problema fue con el tiempo del pin ENABLE , esto solo paso con 1 pantalla , la otra funcionaba correctamente , pero aumentando a 1uS quedo solucionado para trabajarla hasta 40MHz.

Saludos!

Desconectado jo-fe-ar

  • PIC10
  • *
  • Mensajes: 24
Re: Ayuda, que le pasa a este lcd16x2? sera el programa? que es?
« Respuesta #5 en: 20 de Septiembre de 2009, 17:13:50 »
Hola, pues fijense, que no era ni el pic, ni la pantalla, ni el cristal (estoy usando el interno del pic 16f648a), si no que era un pin del lcd mal soldado a la placa....

Lo que pasaba esque al checar continuidad con el multimetro, presionaba  un poco la soldadura y eso me engañaba  pues al rpesionarla hacia contacto con la pista y si habia continuidad...
pero a la hora de usar el circuito esta soldadura no hacía contacto, y pues me imagino que por eso como decian no enviaba unos bits, ayer resoldé un poco algunos pines, y ya funciona...

Y gracias por tu comentario sobre el cristal, no fue mi caso, pero me servira por si alguna vez me pasa lo mismo...
Bueno gracias por haber solucionado ese problema pero ahora tengo otro...relacionado con la programacion espero me ayuden...
tengo 3 botones... los utilizo de esta forma: izquierda, entrar, derecha, con la izquierda y derecha cambio  los mensajes en el lcd por medio de gosub-return, cuando un boton se activa, se ejecuta un gosub y va a una rutina que muestra un mensaje, si vuelvo a presionar derecha ejecuta el siguiente gosub, si presiono izquierda ejecuta return...

el problema principal esque...  a cada etiqueta que accedo con el gosub tengo que poner pause 500 para una buena inicializacion del lcd, y luego checar el estado de cada boton, y si no pasó nada, goto etiqueta para regresar a checar todos los botones, pero al regresar, vuelven a pasar los 500 ms de inicio de lcd, y esto es incomodo a la hora de presionar un boton, pues, tengo que mantenerlo presionad un rato para que lo detecte bien, pero aveces me paso de rato y me lo detecta doble vez, y es incomodo.. les dejo una parte del programa (que es repetitiva y es donde tengo ese problema):



UNO:
pause 500
LCDOUT $FE, 1, "QUE ESTES"
LCDOUT $FE, $C0, "SUPER BIEN"
IF DERECHA = 0 THEN pause 50
IF DERECHA = 0 THEN GOSUB DOS
IF CENTRO  = 0 THEN pause 50
IF CENTRO  = 0 THEN INICIO
pause 500

GOTO UNO

DOS:
LCDOUT $FE, 1, "CUIDATE"
LCDOUT $FE, $C0, "MUCHO"
IF DERECHA = 0 THEN pause 50
IF DERECHA = 0 THEN GOSUB TRES
IF CENTRO  = 0 THEN pause 50
IF CENTRO  = 0 THEN INICIO
IF IZQUIERDA = 0 THEN PAUSE 50
IF IZQUIERDA = 0 THEN return

GOTO DOS

TRES:

LCDOUT $FE, 1, "TE QUIERO"
LCDOUT $FE, $C0,  "MUCHO"
IF CENTRO = 0 THEN pause 50
IF CENTRO = 0 THEN INICIO
IF IZQUIERDA = 0 THEN pause 50
IF IZQUIERDA = 0 THEN RETURN
IF DERECHA = 0 THEN PAUSE 50
IF DERECHA = 0 THEN GOSUB CUATRO


GOTO TRES