Problema display LCD 16x1 y PIC 16f628a

#1
Hola, estoy intentado mostrar algunos mensajes con un display LCD CCM1610 VER 3.0 , de 16x1 y un PICF628a. Trabajo con Pic Simulator IDE y PicBasic Pro, pero tengo los siguientes problemas:

Con el pic simulator IDE: Sea lo que sea que escriba, solo se muestran 8 caracteres de los 16 del display. Es decir, si yo escribo "Holaaaaaaaaaaaaa", cuando lo paso a protoboard en el display solo se muestra "Holaaaaa". El codigo que estoy utilizando es el siguiente:
Código:
Define LCD_DREG = PORTB
Define LCD_DBIT = 4
Define LCD_RSREG = PORTB
Define LCD_RSBIT = 1
Define LCD_EREG = PORTB
Define LCD_EBIT = 2
Define LCD_BITS = 4
Define LCD_LINES = 1
TRISB = 0
Lcdinit

Lcdcmdout LcdClear
Lcdout "HOLAAAAAAAAAAAA"
WaitMs 5000
End

Y con el PicBasic Pro, directamente se muestra un mensaje con simbolos raros y caracteres aleatorios, es decir, ponga lo que ponga en la programación, se muestran simbolos raros que ocupan los 16 caracteres del display. El código que utilizo es el siguiente:
Código:
@ device pic16F628A, INTRC_OSC_NOCLKOUT, wdt_off, pwrt_off, protect_off, MCLR_OFF
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 1
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 2
DEFINE LCD_BITS 8
DEFINE LCD_LINES 1
pause 1500

LCDOUT $FE,1, "HOLAAAAAAAAAAAA"
pause 5000
end

Me podrian ayudar por favor a descifrar cuales son los problemas? Muchas gracias a todos :)
 
#2
trata de usar el puerto b desde el bit 0 para mandar datos y direcciona rs y enable a otro pin, tambien prueba con un cristal no unicamente con el oscilador interno
 
#4
Hola Amigo debes definir la sig. linea como "DEFINE LCD_BITS 4", ya que estas utilizando 4 bits de datos.- Ademas el cableado se hara sobre los 4 bits de mayor peso en el display.-
Fue lo que hice,sin embargo se veian solo 8 caracteres.

y también probé hacerlo con bus de 8 bits pero fue lo mismo. El programa de pbp que subí fue cuando intenté usar el bus de 8 bits
 
Última edición:
#5
Anexa, y prueba la siguiente linea:

Declare LCD_DataUs 255 ' comado que da un tiempo de espera al enviar datos al display

Yo batalle mucho con una aplicación ya que como comentas a veces el display despliega caracteres rarisimos, y después de probar mucho llegue a la conclusión que el compilador no hacia los retardos adecuados al escribir en el display, motivando la equivocación de los datos.

Veo que el post es viejo, pero quizás todavía te sirva y a otros también, ya que no viene muy bien documentado el problema y vi por san google que existe este problema de manera comun y nadie al parecer lo resuelve.

Saludos
 
#6
Me pasaba lo mismo.El display se comporta como si tuviera 2 lineas de 8 caracteres una al lado de la otra. Para escribir el caracter 9 tenes que escribir en la primer columna de la segunda linea.el decimo en la 2da columna etc.
 
#7
hola soy novato en esto de programar y se muy poco en C y a mi me esta pasando lo mismo con un lcd 16x1, y no encuentro el codigo que me deje escribir en la segunda linea espero y alguien me pueda ayudar...
 
#9
ya lo resolví gracias y creo que se estuvo hablando de un lcd 16x1, al-menos al principio del tema eso se habla... y hay unos lcd 16x1 que están divididos es lineas de 8 caracteres era eso lo que necesitaba saber que código utilizar para escribir en ambas pero ya lo logre gracias....
 
Última edición por un moderador:
Arriba