#include <16f873a.h>
#device adc=10
#fuses NOWDT,BROWNOUT,XT,NOLVP,PUT
#use delay (clock=4m)
#define use_portb_lcd true
#include <lcd.c>
void main(){
int var1=0;
float valor=0,volt=0,valor2,amper;
//Se habilita el A/D y se declara el PORT a usar
setup_adc_ports(an0_an1_an3);
setup_adc(adc_clock_div_32 );
//Se inicia la LCD
lcd_init();
lcd_gotoxy(3,1);
lcd_putc("iniciando");
delay_ms(2000);
lcd_gotoxy(7,2);
lcd_putc("LPK");
delay_ms(500);
lcd_putc("\f");
lcd_gotoxy(2,1);
lcd_putc("Volt Amper");
delay_ms(1000);
while (true){
set_adc_channel(0);
delay_us(20);
{
for(var1=0;var1<8;var1++)
{
volt=volt+ read_adc();
delay_us(62);
valor = volt / 8;
valor = valor * 50 / 1023;
lcd_gotoxy(2,2);
printf(lcd_putc,"%04.2f",valor);
}
set_adc_channel(3);
delay_us(20);
amper = read_adc();
delay_us(500);
valor2=amper*18/1023;
lcd_gotoxy(11,2);
printf(lcd_putc,"%04.3f",valor2);
delay_ms(200);
}
}
}