Vistas de página en total

Configuración del ADC para Microcontrolador PIC16F877A

A continuación se muestra un código de prueba básico para el uso del ADC sobre el PIC16F877A:


#include <system.h>
#pragma 0x2f09

void InitADC(void)
{
adcon1 = 0b00001110; // justificacion a la izquierda, 1 canal de referencia
adcon0 = 0b10000001;  // FOSC/32, channel=0, ADON=1
}

unsigned char SampleADC(void)
{
set_bit(adcon0,GO);  // Iniciar conversion, se pone en uno (con el set_bit) el bit del registro para iniciar conversion
while(test_bit(adcon0,GO)); //se espera un cambio en el bit de estado de conversion para saber cuando la conversion se ha hecho exitosamente
return(adresh); // se retorna el resultado de conversion (los 8 bits mas altos)
}

void main()
{
trisb=0x00; //declaracion del puerto b como salida
trisa=0xFF; //declaracion del puerto a como entrada

InitADC(); //se inicializa el ADC

while(1)
{
delay_ms(100);
portb=SampleADC(); //se saca por el puerto b el valor digital de la señal analoga que entra al ADC, es decir, se muestra la conversion de analogo a digital
}
}

No hay comentarios:

Publicar un comentario