La semana pasada, acabo de comenzar mi primer proyecto para hacer un programa C para un PIC16F877A bajo MikroC, donde recibiría pulsos del medidor de flujo y calcularía el caudal, luego lo enviaría al LCD. .
Sin embargo, cuando lo conecté al PORTD del PIC16f877A RD0, daba valores aleatorios cada vez que subían y bajaban en el lcd. ¿Qué pasa?
Medidor de flujo de agua hoja de datos y programa:
void main() {
volatile unsigned int value;
char str [20];
double calc;
lcd_init(); //initiallise lcd
ADC_Init(); // and to read in values
TRISD.f0=1; //setting the signal input
PORTD.F0=0;
while (1)
{
if (PORTD.F0= 1) //if water flows through the meter
{
value = ADC_read(PORTD.F0); //read from RD0 and assign to value read
delay_ms(100); //delay so i could see value on screen
calc = (value * 60 / 7.5); //calculation to show flow per minute
byteToStr(calc,str);
lcd_out (1,1, str); //output to screen
value++;
}
}
}