error con el adc del pic 16f876 en proteus

buenas amigos

Estaba tratando de aprender a utilizar el convertidor analogico digital del pic 16f876 usando en simulador proteus y el compilador ccs.

La cuestion es que el proteus me suelta el siguiente error: ADC CONVERSION CLOCK PERIOD (5E-8) IS LESS THAN MIN TAD=1,6US AND IS POSIBILLY INVALID FOR DEVICE CLOCK FRECUENCY si alguien podria ayudarme de forma clara yo se que hay un post parecido de esto pero no me dejo claro nada y ademas creo que usan assembler.


bueno aca dejo el codigo de mi programa:


#include <16f876A.h>
#device adc=10
#fuses XT,NOWDT
#use delay(clock=40000000)
#define use_portb_lcd TRUE
#include <lcd.c>

void main()
{
int16 lee;
float result;

setup_adc_ports(AN0);
setup_adc_ports(ADC_CLOCK_INTERNAL);
lcd_init();

while (1)
{
set_adc_channel(0);
delay_us(20);
lee=read_adc();
result=(lee*5.0)/1024.0;

printf(lcd_putc,"\f ADC = %41ld ",lee);
printf(lcd_putc,"\n voltage = %01.2f V",result);
delay_ms(100);
}

}

espero puedan ayudarme
 
he probado con la frecuencia mas baja y es lo mismo, cambie en la simulacion a un 18f458 y funciono bien bueno excepto claro porque no me percate que tengo un error la linea de codigo setup_adc_ports(ADC_CLOCK_INTERNAL); realmente es setup_adc(ADC_CLOCK_INTERNAL), pero igual lo corregi y sigue lo mismo que sera?
 
Atrás
Arriba