Autor Tema: problema con un lcd 16x2  (Leído 14688 veces)

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

Desconectado azenus

  • PIC10
  • *
  • Mensajes: 26
problema con un lcd 16x2
« 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
« Última modificación: 20 de Agosto de 2013, 00:07:17 por azenus »

Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 239
Re: problema con un lcd 16x2
« Respuesta #1 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
Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!

Desconectado azenus

  • PIC10
  • *
  • Mensajes: 26
Re: problema con un lcd 16x2
« Respuesta #2 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

Desconectado gab163

  • PIC16
  • ***
  • Mensajes: 111
Re: problema con un lcd 16x2
« Respuesta #3 en: 21 de Agosto de 2013, 04:26:51 »
si cuelgas el código sera mas fácil que encuentres una ayuda saludos

Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 239
Re: problema con un lcd 16x2
« Respuesta #4 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
Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!

Desconectado azenus

  • PIC10
  • *
  • Mensajes: 26
Re: problema con un lcd 16x2
« Respuesta #5 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

Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 239
Re: problema con un lcd 16x2
« Respuesta #6 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
Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!

Desconectado azenus

  • PIC10
  • *
  • Mensajes: 26
Re: problema con un lcd 16x2
« Respuesta #7 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


saludos
« Última modificación: 21 de Agosto de 2013, 17:55:35 por azenus »

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: problema con un lcd 16x2
« Respuesta #8 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!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado azenus

  • PIC10
  • *
  • Mensajes: 26
Re: problema con un lcd 16x2
« Respuesta #9 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
« Última modificación: 22 de Agosto de 2013, 14:22:15 por azenus »

Desconectado gab163

  • PIC16
  • ***
  • Mensajes: 111
Re: problema con un lcd 16x2
« Respuesta #10 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.

Desconectado azenus

  • PIC10
  • *
  • Mensajes: 26
Re: problema con un lcd 16x2
« Respuesta #11 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

Desconectado LucasBols

  • PIC16
  • ***
  • Mensajes: 129
    • Desarrollos y Servicios Digitales
Re: problema con un lcd 16x2
« Respuesta #12 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
Un experto es alguien que te explica algo sencillo de forma confusa de tal manera que te hace pensar que la confusión sea culpa tuya.

DSD http://www.dysd.com.ar/


 

anything