Понятно, что в даташите много всего написано на тему улучшения качества конверсии (и какой фильтр на AVcc повесить - емкость+индуктивность, и как усыплять процессор на время конверсии, чтобы не шумел зря, и что внутренний Vref куда лучше, чем Vcc, и что при >200КГц в качестве ADC clock не получится честных 10 бит, и прочее, и прочее)... И даже понятно, что именно оно и есть искомые "схемотехнические приемы". Но все это, похоже, к делу не относится - ведь помеха, чем бы она ни была, возникает редко, но сильно.
С налету я бы проверил следующее:
1. Не стал бы пока для пущего спокойствия инициализировать ADC каждый раз (ADMUX=adc_input|ADC_VREF_TYPE; ) - просто для проверки, а если нужно даже во время экспериментов - то пропускал бы после инициализации один отсчет (если невовремя поменять выбранный канал - то можно получить отсчет с предыдущего). Но дело почти наверняка не в этом - я подозреваю, что эта процедура пока вызывается с одним и тем же каналом, да?
2. Включил бы ADC во free-running mode (чтобы исключить влияние любых манипуляций с его настройками), и посмотрел бы, тупо читая и проверяя результат почаще (и _ничего_ больше с АЦП не делая), что за сигнал там идет на самом деле (входную ногу привязал бы для начала к земле, потом к Vcc, и только потом к сигналу - мало ли, вдруг сигнал _и_правда_ такой?).
И, конечно, очень сильно может быть, что это просто честная помеха. Ну, мало ли - наводка какая-нибудь от ближайшего электроприбора... Но это выяснится в пункте 2, я думаю. Как бороться, если это она? Экранировать, наверное - прибор в железный ящик... Для проверки - завернуть в бумагу, затем в фольгу
Если помеха приходит не на вход АЦП, а на питание - менять питание
У меня с ADC как раз на ATmega8L-8AI все нормально: +5V из розетки через трансформатор, диодный мост и линейный (обвешанный должными конденсаторами) стабилизатор, 8МГц внутренний clock, ADPS=0 (то есть 4МГц ADC clock), по 13 тактов АЦП (то есть 26 тактов процессора) на отсчет - в итоге 300K отсчетов в секунду. Vref - внутренний (и я даже поленился вешать на AVcc фильтр!), АЦП во free-running mode, чтобы ничего не проверять по дороге, и читаю я его строго раз в 26 тактов отполированным вручную циклом, чтобы обеспечить максимальную скорость захвата. Восемь бит там не получается, но никаких резких выбросов в случайные моменты нет, просто некий небольшой шум...