SoloCodigo
		Programación Específica => Microcontroladores => Programación en C => Mensaje iniciado por: roseta en Martes  5 de Septiembre de 2006, 10:59
		
			
			- 
				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
			 
			
			- 
				Hola!
Prueba escribir el valor correcto en ADCON1 :whistling: 
Ya me paso una vez...
Saludos :hola: