Autor Tema: ADC con representación en LCD  (Leído 2731 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
ADC con representación en LCD
« en: 08 de Abril de 2004, 03:33:00 »
Codigo:
#include <16F876.h>

#device adc=10      // Conversión con 10 bits
//#device adc=8      // Conversión con 8 bits      
               // Si no se pone ningún device toma 8 bits

#fuses XT, NOPROTECT, NOPUT, NOWDT, NOBROWNOUT, NOLVP, NOCPD, WRT

#use delay (clock=4000000)  

#include <LCD.c>

void main( void )
{
  long  valor;    
//  float const resoluc= 5.0/256.0;      // Conversión es con 8 bits
  float const resoluc= 5.0/1024.0;      // Conversión es con 10 bits  
  float voltios;

  setup_adc_ports ( ALL_ANALOG );        // Entrada analógica por RA0
  setup_adc ( ADC_CLOCK_INTERNAL );    // Reloj interno para el ADC
  set_adc_channel ( 0 );             // Canal 0 para convertir

  lcd_init();
 
  while ( 1 )                    
  {
      valor = read_adc();              
     
      lcd_gotoxy(1,1);
          
      voltios= valor * resoluc;    
                              
      printf ( lcd_putc, "%1.2f voltios ", voltios );
     
      delay_ms(200);            // Convierte cada 200ms
  }
}