Ejemplo n.º 1
0
void main()
{
SET_TRIS_A(0b00000001);

SETUP_ADC_PORTS(AN0);

SETUP_ADC(ADC_CLOCK_INTERNAL);

ENABLE_INTERRUPTS(GLOBAL | INT_TIMER0);
SETUP_TIMER_0(RTCC_INTERNAL | RTCC_8_BIT| RTCC_DIV_16);
SET_TIMER0(100);

while(true)
     {
     SET_ADC_CHANNEL(0);        //Configura o canal de leitura 0
     delay_us(100);             //Tempo de ajuste do canal (necessário) 
     ad0 = READ_ADC();          //Faz a conversão AD e a salva na variável ad0
   
     ad0 = (ad0 * 5000)/1023;
          
     d1 = ad0/1000;
     d2 = (ad0/100) % 10;
     d3 = (ad0/10) % 10;
     
     delay_ms(500);    
     }
}
Ejemplo n.º 2
0
  void bsp_init(void)
  {
    set_tris_c(0xff);
    set_tris_e(0xff);
    set_tris_a(0x00);
    output_a(0);
    set_tris_a(0);//configurado como salida
    set_tris_e(1); //configurado como entrada
    SETUP_ADC_PORTS(sAN5); // este pin es analogo
    SET_ADC_CHANNEL(5); // el canal que usaremos y de cual obtendremos la señal es el 5
    setup_adc(ADC_CLOCK_DIV_32);
    lcd_init();
 
  }
Ejemplo n.º 3
0
float = volt

void main()
   {
   
   set_tris_e(0xFF);
      SETUP_ADC_PORTS (sAN5);
      SET_ADC_CHANNEL(5);
      setup_adc(ADC_CLOCK_DIV_32);
      lcd_init();
      
      
      while (1)
     {
                  
        valorAnalogo = read_adc();
        volt = valorAnalogo++ num;
        lcd_putc("\f");//limpiar la pantalla
        printf (lcd_putc, "%f",volt);//para imprimer un valor flotante en el LCD
        delay_ms(1000);
            
         }
      
   }