• Sábado 21 de Diciembre de 2024, 11:35

Autor Tema:  Lcd Hitachi  (Leído 1610 veces)

roseta

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Lcd Hitachi
« en: Martes 5 de Septiembre de 2006, 10:59 »
0
Hola amigos...

No hay manera q consiga inicializar mi LCD!! Os adjunto el programa q he hecho siguiendo el diagrama de flujo que llevaba el manual del LCD.

Por otra parte no se pq el MPLAB al hacer una simulacion y activar el watch no hacce caso de lo que digo. Por ejemplo, cuando toco el puerto E sólo cambia el LATE y el PORTE sigue igual!!!! Esto pq ocurre, y en consecuencia si no se cambia el PORTE no puedo hacer el STROBE.

Muchas gracias por todo.

Ya se que el programa es muy simple y no hay funciones pero es que lo hice asi para comprobar cosas.

**************************************
#include <p18f458.h>
#include <delays.h>
#include <portb.h>





void ini_lcd (void)
{
   
   TRISD=0x00;
   TRISE=0x00;

   PORTEbits.RE2=0;
   PORTEbits.RE1=0;
   PORTEbits.RE0=0;
   Delay10TCYx(1);
   
//*******************************ENVIO TRE VEGADES AQUESTA COMANDA NO SE EXACTAMENT PQ*****************//
   PORTD=0x038;
   Delay10TCYx(1);
   PORTEbits.RE2=1;   //Strobe
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);
   Delay10KTCYx(1);   //Retraso de 64ms
   

   PORTD=0x038;
   Delay10TCYx(1);
   PORTEbits.RE2=1;
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);
   Delay10KTCYx(1);

   PORTD=0x038;
   Delay10TCYx(1);
   PORTEbits.RE2=1;
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);
   Delay10KTCYx(1);


//*********************EMPEZAMOS CON EL PLOWCHART DE INICIALIZACIÓN**************//

   PORTEbits.RE0=0;  //comando de control
   PORTEbits.RE2=0;  //enable=0 i encara no se pq

   PORTD=0x38;     //FUNCTION SET//
   Delay10TCYx(1);
   PORTEbits.RE2=1;
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);

   PORTD=0x0F;   // Display ON/OFF
   Delay10TCYx(1);
   PORTEbits.RE2=1;
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);
   

   PORTD=0x01;   //Display Clear
   Delay10TCYx(1);
   PORTEbits.RE2=1;
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);

   PORTD=0x07;   //Entry Mode Set
   Delay10TCYx(1);
   PORTEbits.RE2=1;
   Delay10TCYx(1);
   Delay10TCYx(1);
   PORTEbits.RE2=0;
   Delay10TCYx(1);

}
   
void main (void)
{
   ini_lcd();
}

*************************
PIC: 18f458
LCD: hitachi 44780u de un bus de datos de 8 bits.

Si alguien ha trabajado con estos dos componentes y tiene el código m lo podria pasar por favor??

Muchísimas gracias a todos

MPLAB v7.20

Huguen_aus_Tirol

  • Miembro MUY activo
  • ***
  • Mensajes: 318
    • Ver Perfil
    • http://www.erhard-automation.co.cc
Re: Lcd Hitachi
« Respuesta #1 en: Martes 5 de Septiembre de 2006, 13:22 »
0
Hola!
Prueba escribir el valor correcto en ADCON1 :whistling:
Ya me paso una vez...

Saludos :hola: