VOLTIMETRO CON PIC CCS PROTEUS
#include <16f716.h>
#fuses hs,nowdt,noprotect
#use delay (clock=8000000)
#include <lcd420.c>
#define use_portb_lcd
main()
{
int16 q,Q1,Q2,Q3;
float p,P1,P2,P3,Q4,Q5,Q6;
q,Q1,Q2,Q3,p,P1,P2,P3,Q4,Q5,Q6=0;
setup_adc_ports(all_ANALOG);
setup_adc(adc_clock_div_32);
lcd_init();
while (1) {
set_adc_channel(0);//delay_us(10);
q=read_adc();
set_adc_channel(1);//delay_us(10);
Q1=read_adc();
set_adc_channel(2);//delay_us(10);
Q2=read_adc();
set_adc_channel(3);//delay_us(10);
Q3=read_adc();
q=q/15.9;
p=((25.0*q/10.1)); //Conversión a tensión voltimetro
Q1=Q1/15.9;
P1=((25.0*Q1/60.1)); //Conversión a corriente
Q2=Q2/15.9;
P2=((25.0*Q2/10.1)); //Conversión a velocidad de viento con sensor de ananometro
Q3=Q3/15.9;
P3=((25.0*Q3/10.1));
Q4=p*P1;
Q5=Q4*0.8;
Q6=q4*0.14;
//Conversión a tensión de bateria de equipo o voltimetro
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc, "V_Gnd");
lcd_gotoxy(1,2);
printf(lcd_putc, "Amp_C");
lcd_gotoxy(1,3);
printf(lcd_putc, "V_Vto");
lcd_gotoxy(1,4);
printf(lcd_putc, "Volt.");
lcd_gotoxy(7,1);
printf(lcd_putc, "= %02.2f Vol.",p);
lcd_gotoxy(7,2);
printf(lcd_putc, "= %02.2f Amps",P1);
lcd_gotoxy(7,3);
printf(lcd_putc, "= %02.2f M/s",P2);
lcd_gotoxy(7,4);
printf(lcd_putc, "= %02.2f Vol.",P3);
delay_us(80000);
lcd_putc("\f");
lcd_gotoxy(1,1);
printf(lcd_putc, "P_Gnd");
lcd_gotoxy(1,2);
printf(lcd_putc, "P_Com");
lcd_gotoxy(1,3);
printf(lcd_putc, "K_Apg");
lcd_gotoxy(1,4);
printf(lcd_putc, "V_Vto");
lcd_gotoxy(7,1);
printf(lcd_putc, "= %02.2f K_Wts",Q4);
lcd_gotoxy(7,2);
printf(lcd_putc, "= %02.2f Watts",Q5);
lcd_gotoxy(7,3);
printf(lcd_putc, "= %02.2f W_Gen",Q6);
lcd_gotoxy(7,4);
printf(lcd_putc, "= %02.2f M/Seg",P2);
delay_us(80000);
//lcd_putc("\f");
}
}
#fuses hs,nowdt,noprotect
#use delay (clock=8000000)
#include <lcd420.c>
#define use_portb_lcd
main()
{
int16 q,Q1,Q2,Q3;
float p,P1,P2,P3,Q4,Q5,Q6;
q,Q1,Q2,Q3,p,P1,P2,P3,Q4,Q5,Q6=0;
setup_adc_ports(all_ANALOG);
setup_adc(adc_clock_div_32);
lcd_init();
while (1) {
set_adc_channel(0);//delay_us(10);
q=read_adc();
set_adc_channel(1);//delay_us(10);
Q1=read_adc();
set_adc_channel(2);//delay_us(10);
Q2=read_adc();
set_adc_channel(3);//delay_us(10);
Q3=read_adc();
q=q/15.9;
p=((25.0*q/10.1)); //Conversión a tensión voltimetro
Q1=Q1/15.9;
P1=((25.0*Q1/60.1)); //Conversión a corriente
Q2=Q2/15.9;
P2=((25.0*Q2/10.1)); //Conversión a velocidad de viento con sensor de ananometro
Q3=Q3/15.9;
P3=((25.0*Q3/10.1));
Q4=p*P1;
Q5=Q4*0.8;
Q6=q4*0.14;
//Conversión a tensión de bateria de equipo o voltimetro
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc, "V_Gnd");
lcd_gotoxy(1,2);
printf(lcd_putc, "Amp_C");
lcd_gotoxy(1,3);
printf(lcd_putc, "V_Vto");
lcd_gotoxy(1,4);
printf(lcd_putc, "Volt.");
lcd_gotoxy(7,1);
printf(lcd_putc, "= %02.2f Vol.",p);
lcd_gotoxy(7,2);
printf(lcd_putc, "= %02.2f Amps",P1);
lcd_gotoxy(7,3);
printf(lcd_putc, "= %02.2f M/s",P2);
lcd_gotoxy(7,4);
printf(lcd_putc, "= %02.2f Vol.",P3);
delay_us(80000);
lcd_putc("\f");
lcd_gotoxy(1,1);
printf(lcd_putc, "P_Gnd");
lcd_gotoxy(1,2);
printf(lcd_putc, "P_Com");
lcd_gotoxy(1,3);
printf(lcd_putc, "K_Apg");
lcd_gotoxy(1,4);
printf(lcd_putc, "V_Vto");
lcd_gotoxy(7,1);
printf(lcd_putc, "= %02.2f K_Wts",Q4);
lcd_gotoxy(7,2);
printf(lcd_putc, "= %02.2f Watts",Q5);
lcd_gotoxy(7,3);
printf(lcd_putc, "= %02.2f W_Gen",Q6);
lcd_gotoxy(7,4);
printf(lcd_putc, "= %02.2f M/Seg",P2);
delay_us(80000);
//lcd_putc("\f");
}
}
es uno de los programas mas completos gracias por el programa
ResponderEliminar