Tabla 1
Voltaje B3 B2 B1 B0
0 0 0 0 0
0.5 0 0 0 1
1 0 0 1 0
1.5 0 0 1 1
2 0 1 0 0
2.5 0 1 0 1
3 0 1 1 0
3.5 0 1 1 1
4 1 0 0 0
4.5 1 0 0 1
5 1 0 1 0
void main()
{
int16 conversion;
set_tris_B(0); // Puerto B como salida digitales
puerto_b = 0; // inicializo el puertoB
setup_adc_ports(AN0);
// configuro los pines de la conversion
//setup_adc(adc_clock_div_64); // configuro el conversor anlogo digital
setup_adc(ADC_CLOCK_INTERNAL);
conversion = 0;
do
{
set_adc_channel(0); // escojo el canal a convertir
delay_ms(1); // esperar mientras se inicializa el mdulo A/D
conversion = read_adc(); // leer el valor
delay_ms(1);
puerto_b = conversion /255; // visualizo por el puerto_ B para 4 bits
}
while(true); // bucle
}