Si estas seguro que no es la configuración tal vez pueda ser debido a algúna clase de ruido que hace interferencia con la señal de entrada en el adc. los sistemas "sample and hold" pueden causar "rebotes" en la alimentación que redundan en lecturas erroneas. debido a que estos problemas son un tanto dificiles de detectar, te recomiendo 4 consejos:
1- por cada elemento activo que poseas en tu circuito, colocar un condensador de 0.1uF si la frec. de trabajo es menor o igual a 4 Mhz, o de 0.01uF si la frec. es mayor, este condensador se ubica lo mas cerca posible de los pines de alimentacion de dicho elemento.
2- para evitar las frequencias de niquist, tal vez necesites colocar un filtro pasabajos, bajate el filter lab de microchip, es gratis y te ayuda en el diseño de estos filtros.
3- trata de ubicar los elementos que trabajan a mayor frecuencia lo mas cerca posible de la fuente(microcontrolador y otros sistemas digitales) y los mas lentos o los analogos un poco mas lejos.
4- si continua el problema, tal vez debas disminuir la tasa de muestreo.
Si sigues estas recomendaciones es muy probable que soluciones los problemas del adc, aunque como todo, depende de la configuración especifica de tu sistema.
por ultimo, si nada de esto te funciona, talvez debas realizar una rutina que promedie los datos (por ejemplo tomas 256 lecturas, las vas sumando en un numero de 2 bytes y al final el byte alto te mostrara un resultado muy similar al promedio de las lecturas.), es algo asi como una especie de "filtrado digital", aunque cualquier otra tecnica de filtrado digital te puede dar buenos resultados.
Saludos.
Oldkami