Primero gracias por la colaboracion,
ahora si, en el PDF (pag. 194) da los valores de Vref (min 2.0 max vdd+.3v), por lo que creo que no hay problema(mi medicion varia entre 2.8v y 3.2v). Pero lo estoy simulando con proteus y no esta midiendo correctamente. Con un pin estoy alimentando un circuito RC, y al cabo de un tiempo (1.73ms) mido cuanto se cargo el capacitor con el A/D. Puede tener algun problema de simulacion Proteus o tengo mal config. el tiempo del A/D. Si alguien me puede aclarar el tema de tiempo de conversion, tpo minimo, DV_2,DIV_8?? y como se configura, agradecido.
Algo de codigo:
#include <16F876.h>
#device adc=10
#use delay(clock=4000000)
#fuses HS,WDT
#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7,restart_wdt)
#define conv PIN_C1
long value;
void init()
{
setup_adc_ports(RA0_RA1_ANALOG_RA3_RA2_REF );
set_adc_channel( 0 );
setup_adc(ADC_CLOCK_DIV_8);
setup_spi(FALSE);
setup_counters(RTCC_INTERNAL,WDT_18MS);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
set_tris_a(0b001111);
set_tris_c(0b11001101);
output_low(conv);
}
#use fast_io(C)
void main() {
restart_wdt();
init();
while (1)
{
output_high(conv);
delay_us(1730);
value = read_adc();
output_low(conv);
delay_us(2000);
printf("Valor=%lu %lu
",value);
restart_wdt();
}
}