Utilizar el convertidor A/D

Utilizar el convertidor A/D

El convertidor A/D del microcontrolador PIC16F887 se utiliza en este ejemplo. ¿Hace falta decir que todo es pan comido? Una señal analógica variable se aplica al pin AN2, mientras que el resultado de la conversión de 10 bits se muestra en los puertos POTRB y PORTD (8 bits menos significativos en el puerto PORTD y 2 bits más significativos en el puerto PORTB). La Tierra (GND) se utiliza como voltaje de referencia bajo Vref-, mientras que el voltaje de referencia alto se aplica al pin AN3. Esto habilita que la escala de medición se estire y encoja.
IEn otras palabras, el convertidor A/D siempre genera un resultado binario de 10 bits, lo que significa que reconoce 1024 niveles de voltaje en total (210=1024). La diferencia entre dos niveles de voltaje no es siempre la misma. Cuánto menor sea la diferencia entre Vref+ y Vref-, tanto menor será la diferencia entre dos de 1024 niveles. Como hemos visto, el convertidor A/D es capaz de detectar pequeños cambios de voltaje.
Ejemplo 7
/*Cabecera******************************************************/

unsigned int temp_res;

void main() {
  ANSEL = 0x0C;             // Pines AN2 y AN3 se configuran como analógicos
  TRISA = 0xFF;             // Todos los pines del puerto PORTA se configuran
  
  // como entradas
  ANSELH = 0;               // Los demás pines se configuran como digitales
  TRISB = 0x3F;             // Pines del puerto PORTB, RB7 y RB6 se configuran
  
  // como salidas
  TRISD = 0;                // Todos los pines del PORTD se configuran como salidas
  ADCON1.F4 = 1 ;           // Voltaje de referencia es llevado al pin RA3.
  
  do {
    temp_res = ADC_Read(2); // Resultado de la conversión A/D es copiado a temp_res
    PORTD = temp_res;       // 8 bits menos significativos se mueven al puerto PORTD
    PORTB = temp_res >> 2;  // 2 bits más significativos se mueven a los bits RB6 y RB7
  } while(1);               // Bucle infinito
}
Para que este ejemplo funcione apropiadamente, es necesario marcar la librería ADC en la ventana Library Manager antes de compilar el programa:
  • ADC

No response to “Utilizar el convertidor A/D”