Lectura sencilla de canal análogo

El PIC12F510 es uno de los modelos más versátiles, tiene 6 pines de I/O, oscilador interno y bajo consumo de corriente, éste ejemplo incluye 1 buzzer que cambia el sonido dependiendo el valor de entrada, un ejemplo práctico son los carros de lujo que tienen un sensor para estacionarse con un tono diferente dependiendo la distancia.

Objetivo:Conocer el puerto analógico del PIC12F510 para aplicarlo en ejercicios posteriores.
Material:

Equipo: Software:

Arme el siguiente circuito:

Código del microcontrolador

#include <12F510.h>
#FUSES INTRC,NOWDT,NOPROTECT,NOMCLR                                             //Master Clear pin used for I/O 
#device adc=8
#use delay(clock=8000000)                                                       //reloj a 8 Mhz
void main()
{ int8 inputPort;
  output_b(0b00000000);                                                         //Todas las salidas en cero
  setup_adc(ADC_CLOCK_DIV_8);  
  SET_ADC_CHANNEL(0);
  set_tris_b(0b00001001);                                                       //bit 3 como entrada los otros como salida 
  setup_comparator(NC_NC_NC_NC);                                                //desactivamos comparadores del puerto A 
  while(true) 
   {  inputPort= read_adc();    
      output_b(0b00010000); 
      delay_ms(inputPort*2);
      output_b(0b00000000); 
      delay_ms(inputPort*2);     
   }   
}

Ya con el pic grabado y el circuito encedido podemos observar como el buzzer cambia el tono dependiendo de la posicion de nuestro potenciometro.