Advertisement
Electgpl

PIC - Medidor de V A P

Apr 18th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include <16F883.h>
  2. #device adc=8
  3. #use delay(int=4000000)
  4. #include <LCD.C>
  5. void main(){
  6.    setup_adc_ports(sAN0|sAN1|VSS_VDD);
  7.    setup_adc(ADC_CLOCK_DIV_2);
  8.    int16 i, adc1, adc2, adca1, adca2, tension, corriente, potencia;
  9.    lcd_init();
  10.    lcd_putc("Espere...");
  11.    while(true){
  12.       set_adc_channel(0);
  13.       delay_us(20);
  14.       adc1=read_adc();
  15.       for(i=0;i<300;i++){
  16.          adca1=adc1+adca1;
  17.          delay_ms(2);
  18.       }    
  19.       tension=adca1/300;
  20.       set_adc_channel(1);
  21.       delay_us(20);
  22.       adc2=read_adc();
  23.       for(i=0;i<300;i++){
  24.          adca2=adc2+adca2;
  25.          delay_ms(2);
  26.       }          
  27.       corriente=adca2/300;
  28.       potencia=corriente*tension;
  29.       lcd_gotoxy(1,1);
  30.       printf(lcd_putc,"V: %ld   A: %ld ",tension,corriente);
  31.       lcd_gotoxy(1,2);
  32.       printf(lcd_putc,"P: %ld   ",potencia);
  33.       adca1=0;
  34.       adca2=0;
  35.    }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement