#include <16F877a.h>
#device adc=8
#fuses XT,NOWDT,PUT,NOPROTECT,NOLVP,NOCPD,NOBROWNOUT,NODEBUG
#use delay(clock=4000000)
#byte port_b=6
void main()
{
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_timer_0(RTCC_DIV_64|RTCC_INTERNAL);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); // con div 4 se tiene un segundo
enable_interrupts(GLOBAL);
set_tris_a(0xff);
set_tris_b(0x01);
set_tris_c(0xc0);
output_a(0);
output_b(0);
output_c(0);
while(true)
{
set_adc_channel(0); // selecciona el canal 0
delay_us(20); // Retardo para carga del cap. de muestreo
value=read_adc(); // Lee el resultado de la conversion
if(value>63 && value<127)
{
select++;
if(select>3)
select=0;
}
... y sigue el programa
0.17 0.06 0.03 y yo necesito 4, 3 y 2 V, no comprendo que es lo uqe sucede, talvez hice algo mal en el codigo para la configuracion del ADC? o que sucede?