0 Usuarios y 1 Visitante están viendo este tema.
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
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
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
#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 lcdvoid main(void){ciclo:set_tris_b(0xff); //todos los puerto b como entradasset_tris_c(0x00); //todos los puertos c como salidaoutput_c(0x00); // iniciamos el puerto c apagadoslcd_init(); //iniciamos el lcddisable_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.*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;}