VOLTIMETRO CON GLCD

VOLTIMETRO DIGITAL  GLCD 128 X 64


#include <16F877A.h>
#device adc=10

#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#include <HDM64GS12.c>
#include <graphics.c>


   char nombre[]="FUENTE LABORATORIO";
   char parametro[]="   [V]       [A]   ";
   char voltaje[9];
   char corriente[9];

   int16 voltajeADC, voltajeADC_ant,corrienteADC, corrienteADC_ant;


void main(){

   setup_adc_ports(all_analog);
   setup_adc(ADC_CLOCK_DIV_32);

   glcd_init(ON);
   glcd_rect(1, 1, 127, 63, NO, ON);
   glcd_rect(3, 3, 125, 13, NO, ON);
   glcd_text57(10, 5, nombre, 1, ON);
   glcd_rect(3, 15, 125, 25, NO, ON);
   glcd_text57(8, 17, parametro, 1, ON);
   glcd_rect(3, 27, 125, 61, NO, ON);
   while(true){
      set_adc_channel(0);
      delay_us(10);
      voltajeADC=read_adc();
      voltajeADC=(voltajeADC*5/1023.0)*22.15715;
      if(voltajeADC_ant != voltajeADC){
         glcd_text57(13, 38, voltaje, 2, OFF);
         //sprintf(voltaje, "%1.2f", (float)voltajeADC*5/1023.0);
         sprintf(voltaje, "%1.2f", (float)voltajeADC);
         voltaje[4] = '\0';
         glcd_text57(13, 38, voltaje, 2, ON);
         voltajeADC_ant=voltajeADC;
      }
      set_adc_channel(1);
      delay_us(10);
      corrienteADC=read_adc();
      corrienteADC=(corrienteADC*5/1023.0)*22.15715;
      if(corrienteADC_ant != corrienteADC){
         glcd_text57(70, 38, corriente, 2, OFF);
         //sprintf(corriente, "%1.2f", (float)corrienteADC*5/1023.0);
         sprintf(corriente, "%1.2f", (float)corrienteADC*5/1023.0);
         corriente[4] = '\0';
         glcd_text57(70, 38, corriente, 2, ON);
         corrienteADC_ant=corrienteADC;
      }
   }
}







Comentarios

Entradas populares de este blog

FUENTE LABORATORIO PIC 18F2550 (CÓDIGO) PROTON IDE COMPILER

Voltimetro con pic CCS compemdio

VOLTIMETRO CON PIC CCS PROTEUS