TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: azenus en 19 de Agosto de 2013, 22:27:46

Título: problema con un lcd 16x2
Publicado por: azenus en 19 de Agosto de 2013, 22:27:46
bueno compañeros tengo un gran problema con el lcd 16x2 modelo 1602a

tengo un pic 16f877a conectado con un lcd 16x2, he programado el pic y conecte el lcd con los pines D cuando enciendo el circuito solo el lcd me muestra una linea en la parte inferior de cuadros negros y no ocurre nada


gracias por su ayuda

salu2
Título: Re: problema con un lcd 16x2
Publicado por: Rseliman en 20 de Agosto de 2013, 16:50:11
bueno compañeros tengo un gran problema con el lcd 16x2 modelo 1602a

tengo un pic 16f877a conectado con un lcd 16x2, he programado el pic y conecte el lcd con los pines D cuando enciendo el circuito solo el lcd me muestra una linea en la parte inferior de cuadros negros y no ocurre nada


gracias por su ayuda

salu2

La linea de cuadros negros en la parte inferior significa que el lcd funciona , lo cual no quiere decir que ttu programa lo este exitando de buena manera ....deberas revisar el codigo

Saludos
Título: Re: problema con un lcd 16x2
Publicado por: azenus en 20 de Agosto de 2013, 23:17:22
pues tal ves sea el micro porque le quite el micro y lo puse a funcionar sin el micro y aun me muestra los cuadros negros

también puse a trabajar solo el micro y no me esta dando los voltage de 5 voltios de los pines de salida

bueno verificare el funcionamiento del micro y si esta bn lo volvere a programar


gracias por tu apoyo

saludos
Título: Re: problema con un lcd 16x2
Publicado por: gab163 en 21 de Agosto de 2013, 04:26:51
si cuelgas el código sera mas fácil que encuentres una ayuda saludos
Título: Re: problema con un lcd 16x2
Publicado por: Rseliman en 21 de Agosto de 2013, 09:59:43
pues tal ves sea el micro porque le quite el micro y lo puse a funcionar sin el micro y aun me muestra los cuadros negros

también puse a trabajar solo el micro y no me esta dando los voltage de 5 voltios de los pines de salida

bueno verificare el funcionamiento del micro y si esta bn lo volvere a programar


gracias por tu apoyo

saludos

Lo mas facil es verificar el codigo en proteus ....con eso vas a solucionarte muchisimo las cosas

Saludos
Título: Re: problema con un lcd 16x2
Publicado por: azenus en 21 de Agosto de 2013, 16:41:56
una pregunta mi codigo esta en ccs y el programa que use para transferir los codigo al micro es winpic se puede usar winpic con programas creados en ccs
lo digo porque no tengo tanta experiencia

PD: el hardware que use es de conexión serial

saludos y grasias por su colaboración
Título: Re: problema con un lcd 16x2
Publicado por: Rseliman en 21 de Agosto de 2013, 16:59:18
una pregunta mi codigo esta en ccs y el programa que use para transferir los codigo al micro es winpic se puede usar winpic con programas creados en ccs
lo digo porque no tengo tanta experiencia

PD: el hardware que use es de conexión serial

saludos y grasias por su colaboración

Independientemente del programa que uses para programar , vos generas un archivo .hex ..que es el que vas a meter dentro del pic ....no importa con que grabador , mientras que lo grabe ya esta ....el winpic es un soft de grabacion y obiamente nesecitas un grabador ....programes en el lenguaje que programes ...el pic solo interpretara 1 y 0

Saludos
Título: Re: problema con un lcd 16x2
Publicado por: azenus en 21 de Agosto de 2013, 17:51:23
bueno aqui una imagen para que vean como esta el lcd cuando esta ensendido

le coloque una resistencia de 10k ohm
(http://sia1.subirimagenes.net/img/2013/08/21/130821105025309695.jpg)

saludos
Título: Re: problema con un lcd 16x2
Publicado por: Miquel_S en 22 de Agosto de 2013, 13:18:50
Hola azenus, deberias de postear el codigo completo ya que normalmente este error es debido a que no inicializas correctamente el lcd.

Saludos!
Título: Re: problema con un lcd 16x2
Publicado por: azenus en 22 de Agosto de 2013, 13:52:55
bueno yo recién inicio en esto de la programación y se que este cogido no es el mas adecuado pero bueno asi se aprender

PD: he quitado el lcd y lo encendí  solo sin el pic , y he medido los pines de datos del lcd (D0 al D7) y me ajoran voltajes muy raros que oscilan entre 1 y 5 voltios
PD2: en proteus me simula correctamente

Citar
#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP       //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz
#use fast_io(c) // libreria de entrada y salida rapida
#use fast_io(b)
#include <math.h>
#define use_portd_lcd TRUE         //definir portd lcd
#include<lcd.c>                  //libreria manejo lcd


void main(void)
{
ciclo:
set_tris_b(0xff); //todos los puerto b como entradas
set_tris_c(0x00); //todos los puertos c como salida
output_c(0x00); // iniciamos el puerto c apagados
lcd_init(); //iniciamos el lcd

disable_interrupts(GLOBAL);
printf(lcd_putc,"  \f  ITSA SOLEDAD\nLEONARDO BAUTISTA");
delay_ms(1000);
printf(lcd_putc,"\f    preparado\n   pres.inicio");

float vi,vf,t1,t2,gravedad,distancia,aceleracion;// Coma flotante para las formulas
  t1=0;
  t2= 0;
  gravedad = -9.8;
//////////////////////////////////////////////////
char i=0;
int w1,w2,w3;
int tabla[10]={1,2,3};
tabla=0;
w1=1;
w2=0;
w3=1;

do{


if(input(pin_b1)==1){printf(lcd_putc,"\fen proceso"); output_high(pin_c0);while(w1){t1=t1+0.0015; delay_ms(1);if(input(pin_b3)==1){w1=0;};};do{w1=1,t2=t2+0.0015; delay_ms(1);if(input(pin_b4)==1){printf(lcd_putc,"\fcalculando\nespere.... ");delay_ms(1000);t1=t1;t2=t2+t1;vf=t1+gravedad*t2;vi=vf-gravedad*t2;distancia=(vi*t2+1/2)*(-9.8)*t2*t2;aceleracion=(vf-vi)/t2;i=1;w2=1;w1=0;};}while(w1);}





if(input(pin_b2)==1){w3=0;};
if(input(pin_b0)==1){delay_ms(300);i++;};
if(i==1){printf(lcd_putc,"\fT1= %2.2f s \nT2= %2.2f s",t1,t2);delay_ms(300);};
if(i==2){printf(lcd_putc,"\fVi= %2.2f m/s \nVf= %2.2f m/s",vi,vf);delay_ms(300);};
if(i==3){printf(lcd_putc,"\fDis= %2.2f m \ncele= %2.2fm/s",distancia,aceleracion);delay_ms(300);};
if(i==4){i=1;};

}while(w3);
goto ciclo;
}


aque el proteus



saludos
Título: Re: problema con un lcd 16x2
Publicado por: gab163 en 22 de Agosto de 2013, 21:15:19
Agrega una resistencia de 10Kohms a la patita de MCLR o agraga el fuse NOMCLR ya que el micro al tener activado el master clear se esta reseteando siempre,yo te recomendara agregar la resistencia. Saludos.
Título: Re: problema con un lcd 16x2
Publicado por: azenus en 23 de Agosto de 2013, 15:21:08
si yo le coloque la resistencia al MCLR, bueno ya lo he solucionado
1. tenia un problema de conexión del pic al lcd

gracias a todos


saludos
Título: Re: problema con un lcd 16x2
Publicado por: LucasBols en 29 de Abril de 2014, 15:31:04
Hola azenus,

fijate en la pata del contraste del lcd, conecta un potenciometro de 10k con un extremo a positivo (5v), el otro a masa y el medio al contraste del lcd

decime si te soluciono el tema del contraste,

saludos