Autor Tema: Ayuda LCD  (Leído 7244 veces)

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

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Ayuda LCD
« Respuesta #15 en: 25 de Agosto de 2009, 16:40:10 »
Hola amigo
voy a intentar ayudarte, no se si lo conseguire.

1.- si te funciono en el simulador de proteus podria ser problema del hardware de placa,
 me esplico algo mal configurado, un jumper, o una configuración erronea, el simulador frente a realidad tiene diferencias.

2.- te recomendaria que miraras cuando le cargas el programa, el lcd se inicializa,... se queda en blanco(todo cuadros), o da el error ese de la linea.Un error tipico es tener el contraste muy bajo y no ves las letras pero en realidad si funciona (potenciometro de 10k).

3.- con un polimetro o con un zumbador y un cable iria probando que patas del chip tienen tension y cuales no.
    si las definiste como salida verificalo.

4.- verifica las conesiones del lcd y la libreria lcd, creo que tienes por ahi un jumper segun la foto, mira tus pines de control de la libreria y los  
   de  tu placa un solo pin te la puede estar jugando.


Un saludo.




« Última modificación: 25 de Agosto de 2009, 16:42:56 por pajaro »

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #16 en: 25 de Agosto de 2009, 20:54:23 »
mañana voy a probar haber.......... si consiguo algo pero alomejor es algo de fuses, ya que el proteus se salta todos esop

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #17 en: 26 de Agosto de 2009, 15:13:06 »
pos nada sigue todo igual en el lcd sale una linea de cuadraditos negros tenga el jumper abierto o cerrado  y el potenciometro le he subio y bajao y nada y tension tengo en las patas

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Ayuda LCD
« Respuesta #18 en: 26 de Agosto de 2009, 17:07:54 »
Hola amigo

Los cuadritos negros indican que esta mal inicializado el lcd.
puedes tener cambiada la Rs por Rw o no tener conectada la rw cuando deberia estarlo.

Verifica las lineas de control, RS, RW ,E.

Tambien podria ser que tubieras definidas las lineas del bus de datos al reves, 1-2-3-4..
y en relidad son ....4-3-2-1.

Tengo por ahi un pos de posibles errores del lcd..

http://www.todopic.com.ar/foros/index.php?topic=23713.msg190606#msg190606


Un saludo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #19 en: 26 de Agosto de 2009, 20:35:40 »
El código que utilizas es este no es cierto?
Código: C
  1. #include <16F628A.h>
  2.  
  3. #fuses INTRC,NOLVP,NOWDT,NOMCLR
  4. #use delay(clock=4000000)
  5. #include <flex_lcd.c>
  6.  
  7. void main(){
  8.    setup_oscillator(OSC_4MHZ);
  9.    setup_comparator(NC_NC_NC_NC)
  10.    lcd_init();
  11.    lcd_putc("HOLA SOY MARCOS\n " );
  12.    delay_ms(500);
  13.    lcd_putc("¿Que tal? ");
  14.  
  15. }

Agrega setup_vref(FALSE); por las dudas:


Código: C
  1. void main(){
  2.    setup_oscillator(OSC_4MHZ);
  3.    setup_comparator(NC_NC_NC_NC);
  4.    setup_vref(FALSE);
  5.    lcd_init();
  6.    lcd_putc("HOLA SOY MARCOS\n " );
  7.    delay_ms(500);
  8.    lcd_putc("¿Que tal? ");
  9.  
  10. }

Y la librería está configurada así:

Código: C
  1. #define LCD_DB4 PIN_B4
  2. #define LCD_DB5 PIN_B5
  3. #define LCD_DB6 PIN_B6
  4. #define LCD_DB7 PIN_B7
  5.  
  6. #define LCD_RS PIN_A0
  7. #define LCD_RW PIN_A1
  8. #define LCD_E  PIN_A2

Si es así en el código no veo el problema, tiene que estar en el hard. Saca todos los jumper, que solo quede conectado el LCD.


Saludos!
« Última modificación: 27 de Agosto de 2009, 10:43:27 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #20 en: 27 de Agosto de 2009, 08:34:42 »
okoko  si utilizo ese codigo. peor la libreria.......... eso de del puerto d? el 16F628a no llega a tener puerto D. Y el comando este para que sirve?. A y los cuadraditos negros estan simpre encendido esten abierto o cerrado el jumper nose.....

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #21 en: 27 de Agosto de 2009, 10:46:28 »
okoko  si utilizo ese codigo. peor la libreria.......... eso de del puerto d? el 16F628a no llega a tener puerto D. Y el comando este para que sirve?. A y los cuadraditos negros estan simpre encendido esten abierto o cerrado el jumper nose.....

 :shock: Me confundí Debe ser en el puerto B:

Código: C
  1. #define LCD_DB4 PIN_B4
  2. #define LCD_DB5 PIN_B5
  3. #define LCD_DB6 PIN_B6
  4. #define LCD_DB7 PIN_B7
  5.  
  6. #define LCD_RS PIN_A0
  7. #define LCD_RW PIN_A1
  8. #define LCD_E  PIN_A2

Esto tenes que reemplazarlo en la librería para que utilice los pines correctos, sino no funciona jamas  :mrgreen:

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #22 en: 28 de Agosto de 2009, 09:47:07 »
creo que ya lo cambie pero de todas formas lo voy a confirmar

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #23 en: 29 de Agosto de 2009, 04:00:55 »
Código: [Seleccionar]
// flex_lcd.c

#define LCD_DB4   PIN_B4
#define LCD_DB5   PIN_B5
#define LCD_DB6   PIN_B6
#define LCD_DB7   PIN_B7

#define LCD_RS    PIN_A0
#define LCD_RW    PIN_A1
#define LCD_E     PIN_A2

// If you only want a 6-pin interface to your LCD, then
// connect the R/W pin on the LCD to ground, and comment
// out the following line.

#define USE_LCD_RW 0

 no sera por esa ultima linea??? ya que no esta conectado directamente a tierra , si no a una potenciometro. Ayudarme please  ;-)

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #24 en: 29 de Agosto de 2009, 09:44:11 »
Como un potenciometro??? No, debe estar directamente al PIC o comenta esta linea así no utiliza este pin.
No contesto mensajes privados, las consultas en el foro


 

anything