Autor Tema: LCD 4X20 a partir de cuando reseteo no funciona  (Leído 3494 veces)

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

Desconectado redep

  • PIC12
  • **
  • Mensajes: 75
LCD 4X20 a partir de cuando reseteo no funciona
« en: 12 de Enero de 2009, 16:43:13 »
Hola tengo un LCD 4X20(mod.MC2004E-SYR) estoy trabajando con c18y utilizando la libreria del cursillo de c18 modificada para utilizar mis puertos y para que en vez de ser la linea de 16 sea de 20 caracteres.

El problema que tengo es que cuando enchufo mi lcd por primera vez a corriente y pongo mi programa en marcha todo anda genial(probadas las lines una a una, pero el problema surge cuando reseteo el pic, una vez reseteado se remarcan un poco mas la 1 y 3 linea y solo funcionan esas las otras dos no. hasta que no desenchufo el pic o el lcd y lo vuelvo a poner no funcionan.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #1 en: 12 de Enero de 2009, 19:48:09 »
hola, debe ser un problema de arranque con los tiempos, ponle un delay justo al inicio del main, prueba con un tiempo grande de 100 milisegundos y nos comentas. saludos  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado redep

  • PIC12
  • **
  • Mensajes: 75
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #2 en: 13 de Enero de 2009, 00:04:26 »
hola microcadaver.
Bueno creo que la libreria que estoy utilizando es la tuya, el fallo del lcd me di cuenta que al empezar cuando enchufas por primera vez no lo hace pero despues cuando reseteas o inicializas de nuevo el lcd se bloque y solo se ven cosas en la 1 y 3 linea. Asi que me decidi a ver la funcion de inicializar y lo unico que no comprendo es la parte de

LATB = NIBLE;(donde tu tienes el valor de NIBLE=0b00000010)


En tu libreria original esta utilizando el nible bajo del puerto B yo en cambio utilizo el nible alto del puerto D que modificacion tendria que hacer en esa parte del codigo.

Como anotacion te digo que no le veia sentido al valor del nible y le puse todo ceros y ya no me hacia el extraño ese pero al volver a inicializar me fallaba SOLO la 2ª linea.

Haber si tu o alguien me puede ayudar gracias.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #3 en: 13 de Enero de 2009, 12:08:33 »
entonces sera cuestion de reescribir la rutina y adecuarla para tu hardware, podrias mencionar la configuracion de tus pines, los del bus de 4 pines y los de control el rs rw y e.

ahora que hago memoria hay una rutina para lcd del propio c18 y que tambien figura en los manuales, me parece que aquella es adecuada para tu hardware.

nos comentas tus avances.

saludos  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado redep

  • PIC12
  • **
  • Mensajes: 75
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #4 en: 13 de Enero de 2009, 13:15:14 »
Bueno te comento lo he conseguido, cuando me baje tu libreria hace tiempo la estaba usando con un lcd de 2x16 con los pines RD7 RD6 RD5 RD4(bus de 4 bits) y RB4 y RB6 como RS y E el caso es que me funcionaba bien pero lo que me pasaba es que cuando reseteaba no me iba tenia que resetear dos veces para que me fuese no le di importancia y lo vi un fallo pausible.

Ante ayer me llego mi lcd final un 4X20 despues de las conexiones y adecuarlo me puse a probar(retoque la libreria para que los cambios de linea fuesen correctos y tire) pero en ese momento me ocurrio lo que comente en el primer post, que la segunda vez que inicializaba en el mismo programa dejaba de funcionar o al resetear, entonces comence a ver la rutina de inicializacion y estuve viendo varias por internet al final al no encontrar el fallo la escrbi de nuevo mediante un datasheep traducido y a la primera me fue sin fallos ni al resetear ni nada.

Una pregunta conoces algun tipo de rutina para centrar las letras automaticamente dependiendo de lo larga de la palabra y otra cosa para escribir un numero que esta guardado en un unsigned char la forma mas rapido de mostrarlo por el LCD es pasarlo a una variable int des pues por un itoa y finalmente mostrarlo o se puede hacer de otro modo.

gracias por todo

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #5 en: 13 de Enero de 2009, 15:00:25 »
te refieres a un numero por ejemplo el decimal 9, le puedes agregar el hex 0x30 con un simple OR y listo.

9 | 0x30 = 0x39 = '9'

con eso bastaria, o te referias a algo mas?

para lo de centrar en la pantalla no tengo codigos.

saludos  :-/

a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado redep

  • PIC12
  • **
  • Mensajes: 75
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #6 en: 15 de Enero de 2009, 18:12:16 »
ni micro cadaver, era si tengo el numero 8(declarado con unsigned char) con las librerias que utilizo todas las funciones estan declaradas para char o para int entonces la unica forma que encontre para visualizarlo era pasarlo a un int por ejemplo

unsigned char pe
int pa

(pe=8)
pa = pe
 
gracias por todo

Desconectado jmvc_sc

  • PIC10
  • *
  • Mensajes: 12
Re: LCD 4X20 a partir de cuando reseteo no funciona
« Respuesta #7 en: 13 de Septiembre de 2012, 17:17:45 »
Citar
Ante ayer me llego mi lcd final un 4X20 despues de las conexiones y adecuarlo me puse a probar(retoque la libreria para que los cambios de linea fuesen correctos y tire) pero en ese momento me ocurrio lo que comente en el primer post, que la segunda vez que inicializaba en el mismo programa dejaba de funcionar o al resetear, entonces comence a ver la rutina de inicializacion y estuve viendo varias por internet al final al no encontrar el fallo la escrbi de nuevo mediante un datasheep traducido y a la primera me fue sin fallos ni al resetear ni nada.

Buen dia, me ocurre el mismo error cuando hago un reset al pic, no se si podrias eXplicar porque ocurre ese fallo o en todo caso adjuntar el datasheep para poder realizar la rutina de inicio, yo estoy utilizando la libreria de microchip(xlcd.h) con un pic 18f4550 C18.
muchas gracias.


 

anything