Autor Tema: Problema con displayLCD  (Leído 2535 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado morgan19

  • PIC10
  • *
  • Mensajes: 15
Problema con displayLCD
« en: 06 de Noviembre de 2011, 00:26:30 »
hola amigos como estan, tengo un problemilla y me gustaria saber si alguno me podria colaborar. Bueno lo que ocurre es que estoy montando un circuito con pic y un displaylcd, en la simulacion de proteus todo funciona al 100% pero el montaje no me funciona la pantalla, exactamente me salen son los cuadritos, si muevo el contraste pues oscurecen y viceversa. ¿cual podria ser mi error?, les agradezco toda su ayuda y atencion mil gracias!

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con displayLCD
« Respuesta #1 en: 06 de Noviembre de 2011, 00:43:30 »
problema en la rutina de inicializacion
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado morgan19

  • PIC10
  • *
  • Mensajes: 15
Re: Problema con displayLCD
« Respuesta #2 en: 06 de Noviembre de 2011, 00:48:26 »
problema en la rutina de inicializacion
hola jhozate gracias por tu respuesta, pero si en proteus la simulacion funciona bien, puede haber problema en la rutina?

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con displayLCD
« Respuesta #3 en: 06 de Noviembre de 2011, 00:55:37 »
pon el esquematico real y el codigo y ahi si vemos que podria estar pasando
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado morgan19

  • PIC10
  • *
  • Mensajes: 15
Re: Problema con displayLCD
« Respuesta #4 en: 06 de Noviembre de 2011, 01:38:14 »
pon el esquematico real y el codigo y ahi si vemos que podria estar pasando

la imagen del esquematico la adjunte y :D el codigo es en c y es el siguiente:

////////////////////////////////////////////////////////
//                                                    //   
//                                                    // 
//                                                    //                                                 
////////////////////////////////////////////////////////

#include<16F877A.h>
#device ADC=10
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)

#include<lcd.c>

#use fast_io(A)

/////////////////////////////////////////////////////////////////////
int16 valor, Voltaje, K, Vdif;
int8 dig1,dig2,dig3,aux;
/////////////////////////////////////////////////////////////////////
void iniConversorAD(){
   setup_adc(ADC_CLOCK_INTERNAL);
   setup_adc_ports(AN0);
   set_tris_A(0xFF);
   set_adc_channel(0); 
   delay_us(10);
  }

void IniPantallaLCD(){ //se visualiza la pantlla inicial con vp vrms y vdc

lcd_init();

   lcd_putc("\f");
   lcd_putc("   MEDICIONES");
   lcd_putc("\n  INDUSTRIALES");
   delay_ms(2000);
   lcd_putc("\f");
   
   lcd_putc("\f");
   lcd_gotoxy(1,1);
   lcd_putc("Inicializando:");
   lcd_gotoxy(1,2);
   lcd_putc("...........");
   delay_ms(1000);
   lcd_putc("\f");
   //visualizacion del lcd
}



void Descompone(int16 Dato){       //Convertir dato a 3 digitos

   Dig1= Dato/100;
   aux = Dato%100;
   Dig2= aux/10;
   Dig3= aux%10;
 
   Dig1+= '0';                  // Suma cero ascci
   Dig2+= '0';                  // para correcta visualizacion
   Dig3+= '0';                  // en el lcd   

}


   



void ProcesarSenal(){ //procesar la señal lectura que tiene puerto a
   int32 K32;
   
         K= read_adc();           
         delay_ms(10);
         K32=K;   
         Voltaje=14640*K32/10000;
     
      }
 
void vdiferen(){
   vdif=Voltaje;
   Descompone(vdif);
}

void Visualiza(){               //Rutina para la visualizacion
                           //en el. Cada voltaje en la
                           //respectiva posicion
   
   vdiferen();
   lcd_gotoxy(1,1);
   lcd_putc("V. DIFERENCIAL:");
   lcd_gotoxy(4,2);
   lcd_putc(Dig1);
   lcd_putc(".");
   lcd_putc(Dig2);     
   lcd_putc(Dig3);
   
  }     
   
void main(){
   
   iniconversorAD();
   IniPantallaLCD();
   while(true){
      delay_ms(50);
      Procesarsenal();
      Visualiza();
      delay_ms(1000);
   }
}

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: Problema con displayLCD
« Respuesta #5 en: 06 de Noviembre de 2011, 06:08:04 »
has ajustado el potenciometro de contraste del lcd???
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado morgan19

  • PIC10
  • *
  • Mensajes: 15
Re: Problema con displayLCD
« Respuesta #6 en: 06 de Noviembre de 2011, 11:36:29 »
has ajustado el potenciometro de contraste del lcd???
hola qiqe, sip efectivamente, de igual manera si lo ajusto o se oscurecen  los cuadritos o se desvanecen

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Problema con displayLCD
« Respuesta #7 en: 06 de Noviembre de 2011, 11:45:06 »
Como bien ha dicho jhozate muchas veces los problemas de los lcds están en los retardos que hay en las rutinas de inicialización porque no todos los displays tienen la misma espera entre instrucción e instrucción.

Hace tiempo me pasó algo similar y probé mandar al lcd los comandos de la rutina de inicialización paso a paso mirando el datasheet de mi lcd.

http://www.todopic.com.ar/foros/index.php?topic=20248.0;
               Saludos a todos.
                        Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con displayLCD
« Respuesta #8 en: 06 de Noviembre de 2011, 12:07:48 »
 y el esquematico? Me suena mas a que el problema podria estar en el oscilador o que hayas puesto el lcd en el puerto que no es.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado morgan19

  • PIC10
  • *
  • Mensajes: 15
Re: Problema con displayLCD
« Respuesta #9 en: 06 de Noviembre de 2011, 12:17:40 »
y el esquematico? Me suena mas a que el problema podria estar en el oscilador o que hayas puesto el lcd en el puerto que no es.

mira este es el esquematico

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con displayLCD
« Respuesta #10 en: 06 de Noviembre de 2011, 12:51:41 »
prueba definiendo los pines a usar antes de incluir la libreria
Código: [Seleccionar]
#define    LCD_RS_PIN            PIN_b6
#define    LCD_RW_PIN            PIN_b4
#define    LCD_ENABLE_PIN        PIN_c2
#define    LCD_DATA0             PIN_C1                                   
#define    LCD_DATA1             PIN_C0                                   
#define    LCD_DATA2             PIN_a2                                   
#define    LCD_DATA3             PIN_a1

#include <lcd.c>
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado morgan19

  • PIC10
  • *
  • Mensajes: 15
Re: Problema con displayLCD
« Respuesta #11 en: 06 de Noviembre de 2011, 12:59:17 »
prueba definiendo los pines a usar antes de incluir la libreria
Código: [Seleccionar]
#define    LCD_RS_PIN            PIN_b6
#define    LCD_RW_PIN            PIN_b4
#define    LCD_ENABLE_PIN        PIN_c2
#define    LCD_DATA0             PIN_C1                                   
#define    LCD_DATA1             PIN_C0                                   
#define    LCD_DATA2             PIN_a2                                   
#define    LCD_DATA3             PIN_a1

#include <lcd.c>

ok jhozate lo probare y te aviso si me funciono o no muchas gracias por la ayuda, apenas pueda quemar el pic y probar posteo

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con displayLCD
« Respuesta #12 en: 06 de Noviembre de 2011, 14:29:20 »
Citar
apenas pueda quemar el pic
   :D :D por favor no le hagas eso...programalo mejor :mrgreen:
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA