lunes, 3 de octubre de 2011

Multimetro digital de 0 a 5v

Es un circuito que mide la tensión de 0 a 5v por medio de un microcontrolador 16f876 y la muestra en una LCD en este ejemplo estoy utilizando un potencimetro para demostrar que funciona y ademas muestra el convertidor de analógico a digital.



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

#FUSES XT,NOWDT
#FUSES
#use delay(clock=4000000)
#include <LCD.C>

void main() {
   int16 q;
   float p;

   setup_adc_ports(AN0);                                   //Canal 0 analógico
   setup_adc(ADC_CLOCK_INTERNAL);    //Fuente de reloj RC

   lcd_init();
   
   for (;;) {
      set_adc_channel(0);           //Habilitación canal0
      delay_us(20);
      q = read_adc();                  //Lectura canal0
      p = 5.0 * q / 1024.0;           //Conversión a tensión 

      printf(lcd_putc, "\fADC = %4ld", q);
      printf(lcd_putc, "\nVoltage = %01.2fV", p);

      delay_ms(100);
      }

No hay comentarios: