TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: guly09 en 28 de Octubre de 2013, 10:09:41

Título: mi LCD solo muestra cuadraditos
Publicado por: guly09 en 28 de Octubre de 2013, 10:09:41
Buenos día, les comento mi problema estoy trabajando con un LCD 16x4 marca ITECH mod. ITM 1604A utilizando las libreria de suky (LCDgeneric) y el compilador c18 en mplab X.
El problema radica cuando realizo mi programa las config. (4 lineas sin rw porq este va a masa entre otros...) lo simulo en proteus que funciona, bien! pero cuando lo realizo en la vida real solo cuadraditos me marca! movi el contraste, lo cuadraditos desaparecen y no aparece nada!
El  ITM 1604A tiene como driver el KS0070B
Y utilizando otra libreria para un lcd 16x2 pude hacer funcionar un lcd de este tipo (16x2), ya probe utilizando la libreria del lcd 16x2, ver las conexiones con el datasheet, comprobar  las conexiones con respecto a la placa que halla continuidad, que llegue tensión... y no funciona!! es más lo probé con un programa de un compañero que le funcionaba a medias con su display 16x4 y a mi no me funciona..

Aca les dejo lo que programe
Citar
//Librerias
#include <stdio.h>
#include <string.h>
#include <delays.h>
#include "Drivers/LCDGeneric.h"
#include "Drivers/GenericTypeDefs.h"

//BIT CONFIG
#pragma config PLLDIV = 3       // PLL Prescaler Selection bits (Divide by 3 (12 MHz oscillator input))
#pragma config CPUDIV = OSC3_PLL4// System Clock Postscaler Selection bits ([Primary Oscillator Src: /3][96 MHz PLL Src: /4])
#pragma config FOSC = HS
#pragma config PWRT = ON,BOR = OFF,BORV = 0
#pragma config WDT = OFF, WDTPS = 32768
#pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF
#pragma config CP0 = ON,CP1 = ON,CP2 = ON
#pragma config CPB = ON,CPD = ON
#pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON
#pragma config WRTB = ON,WRTC = ON,WRTD = ON
#pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON
#pragma config EBTRB = ON

//Crystal Config
#define _XTAL_FREQ 12000000
char text [16];
//Rutina principal
void main(void){
     ADCON1bits.PCFG = 16;
     vInitLCD();
     vGotoxyLCD (0,0);
     sprintf(text,"RODRI");
     vPuts_LCD (text);
     Delay10KTCYx(10);

     vGotoxyLCD (0,4);
     sprintf(text,"Y");
     vPuts_LCD (text);
     Delay10KTCYx(10);

       vGotoxyLCD (0,2);
     sprintf(text,"Giuly");
     vPuts_LCD (text);
     Delay10KTCYx(10);

     vGotoxyLCD (0,3);
     sprintf(text,"HOLA");
     vPuts_LCD (text);
     Delay10KTCYx(10);

      
 while(1);
}



y esto lo que modifique de la libreria LCDgeneric de suky
Citar
/* **  DEFINICION PARA INICIALIZACIÖN DEL LCD ** */
#define LcdType 2          // 0=5x7, 1=5x10, 2=varias lineas

/* ** DEFINICION PARA TRABAJAR CON LCD DE 2 LINEAS o 4 LINEAS** */
#define LCD_4LINES

/* ** DEFINICIONES DE DIRECCIONAMIENTO DE LINEAS EN LCD ** */
#define LCD_LINE_1_ADDRESS 0x00
#define LCD_LINE_2_ADDRESS 0x40
#if defined(LCD_4LINES)
   #define LCD_LINE_3_ADDRESS 0x14
   #define LCD_LINE_4_ADDRESS 0x54
#endif
/* ** *************************************************** ** */
#define LCD_COMMAND   0
#define LCD_DATA   1

/* ** Para no utilizar el PIN RW comentar la siguiente definición ** */
//#define LCD_USE_RW
/* ** El siguiente modo no utiliza el PIN RW** */
//#define LCD_USE_3PINES      // Se utiliza registro de desplazamiento para DATA[0..3] y RS.


Cualquier ayuda sería agradecidas, saludos Clara L. :P
Título: Re: mi LCD solo muestra cuadraditos
Publicado por: soymoe en 28 de Octubre de 2013, 17:59:16
Dale mas tiempo al lcd para que escriba, hace mas grandes los retardos entre instrucciones y el ancho del enable.
Título: Re: mi LCD solo muestra cuadraditos
Publicado por: rodrijon07 en 29 de Octubre de 2013, 04:03:09
Ponle un potenciometro al LCD y cambia sus valores hasta que lo tengas con la corriente suficiente
Título: Re: mi LCD solo muestra cuadraditos
Publicado por: soymoe en 29 de Octubre de 2013, 11:08:53
Ponle un potenciometro al LCD y cambia sus valores hasta que lo tengas con la corriente suficiente
Ya probo cambiando el contraste
Título: Re: mi LCD solo muestra cuadraditos
Publicado por: guly09 en 06 de Noviembre de 2013, 17:51:37
Bueno luego de ponerle más delay en una parte de las librería finalmente pude mostrar solamente las lineas 1 y 2, las demás no... Probe con un display 16x4 que tenia mi compañero y funciono correctamente con este código con lo que se concluyo que el display estaba roto! y eso que no se conecto a masa ni los datos ni la alimentación..
Título: Re: mi LCD solo muestra cuadraditos
Publicado por: pic16f88A en 15 de Noviembre de 2013, 17:52:34
A MI LOS CUADRADITOS TAMBIEN ME SALIAN.... SUELE OCURRIR ESO CUANDO NO SE HA INICIALIZADO CORRECTAMENTE
CAUSA? PUEDE QUE HAYA ALGUN PIN DEL PUERTO QUE USES QUE NO SE PUEDA CONFIGURAR COMO SALIDA Y NO HAGA BIEN LA INICIALIZACION
PRUEBA EN OTRO...