Autor Tema: LCD no escribe en C18 y PIC18F4620  (Leído 1217 veces)

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

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
LCD no escribe en C18 y PIC18F4620
« en: 01 de Febrero de 2013, 13:38:00 »
Hola Buen dia estoy tratando de entender como funciona el LCD en C18 pero no logro hacer que me escriba nada. en cambio tengo un Cuadradito del LCD prendido y TITILANDO. No se que querra decir.

El ejemplo lo vi http://www.ucontrol.com.ar/forosmf/tutoriales-guias-y-cursos-en-ucontrol/tutorial-mplab-c18-desde-0/

Esta cocnectado todo a la perfeccion lo unico que uso un cristal de 10mhz.

Acontinuacion les dejo el codigo.

Código: [Seleccionar]
#include <p18f4620.h>
#include <delays.h>
#include <xlcd.h>

#pragma config OSC = XT
#pragma config PWRT = ON
#pragma config WDT = OFF
#pragma config MCLRE = OFF
#pragma config STVREN = OFF
#pragma config LVP = OFF
#pragma congig PBADEN = ON

// Envia comando al LCD
void comandXLCD(unsigned char a){
BusyXLCD();
WriteCmdXLCD(a);
}
// Ubica cursor en (x = Posicion en linea, y = nº de linea)
void gotoxyXLCD(unsigned char x, unsigned char y){
unsigned char direccion;
if(y != 1)
direccion = 0x40;
else
direccion=0;
direccion += x-1;
comandXLCD(0x80 | direccion);
}
//Retardos
void DelayFor18TCY(void){
Delay10TCYx(2);
}
void DelayPORXLCD(void){
Delay1KTCYx(15);
}
void DelayXLCD(void){
Delay1KTCYx(2);
}
void parpadeo (void)
{
        if(PORTDbits.RD2 == 0)
       {
           PORTDbits.RD2 = 1; // Si esta en 0 Encendemos leds.
           Delay10KTCYx(300);
       }
       else
       {
           PORTDbits.RD2 = 0;
           Delay10KTCYx(300);
       }
}
void main (void)
{
    ADCON1 = 0x0f;
    TRISC = 0;
    TRISE = 0;
    TRISD = 0;
    OpenXLCD(FOUR_BIT & LINES_5X7); // Iniciamos LCD.
    comandXLCD(0x06); // Nos aseguramos incremento de direccion, display fijo
    comandXLCD(0x0C);// Encendemos LCD.-
 
    PORTD = 0x00;
    while(1){
        parpadeo();
      gotoxyXLCD(1,1);
      putrsXLCD("Hola");
      gotoxyXLCD(1,2); //Pasamos al oriden del Linea 2.-
      putrsXLCD("Por Suky");
    }
}

La funcion papadeo es un led q parpadea para ver si el micro andaba o se tilda. Salduos

Cualquiero cosita que noten en el codigo para correjir sera de mucha ayuda yo por mi parte voy a seguir leyendo lo que hay en el foro.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: LCD no escribe en C18 y PIC18F4620
« Respuesta #1 en: 01 de Febrero de 2013, 15:10:10 »
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.