Programowo nie widzę jakiś błędów prócz && miast & w pętli while().
Na początek spróbuj wyświetlić zaemulowane odczyty z ADC, np.: 1,95V potem 1,62V itp. a między nimi jakąś małą pętlę delay żebyś zdążył zobaczyć wynik - będziesz wiedział że wyświetlacz poprawnie działa, a funkcje konwertują wynik jak należy.
W razie nieusuwalnych problemów proponuję ominąć wyświetlacz (ze względu na krzaki) i zrobić banalny kontroler poprawności działania ADC:
Np. do PB1 (czy PB2 lub PB3) dolutowujemy 470R i diodę LED, programowo włączamy PWM na 8 bitów i odczyt z ADC w 8 bitach. Wynik z ADC wpisujemy bezpośrednio do OCR1A (dla pinu PB1), wtedy niewielki obrót potencjometru powoduje natychmiast (jeśli tylko pojemność filtru dolnoprzepustowego do ADC0 nie jest zbyt duża, np. 10nF) zauważalną zmianę intensywności świecenia diody. Oko ludzkie jest bardzo czułe (szczególnie dla barwy zielonej) i wychwyci zmiany intensywności, najlepiej bawić się w okolicach połowy (albo nawet mniej) zakresu między Vref a GND.
Jeśli nadal byłyby problemy, pozostaje wypróbować Noise Reduction (w sumie od tego jest;), a w ostateczności sklecić na prędce układ testowy na płytce uniwersalnej bez zbędnych peryferiów.
I jeszcze jedno: skoki wartości odczytanej są możliwe jeśli źle dobrałeś filtr dolnoprzepustowy. Proponuję policzyć go na ok. 1/10 częstotliwości pracy ADC (ze schematu i ADCMUX wnioskuję że jest to 62,5 kHz, wiec filtr na jakieś 6-7kHz), jeśli nie wiesz jak Wikipedia okaże się pomocna...
P.S.: Na projekcie płytki nie widzę kondków 0,1uF
BLISKO NÓŻEK VCC I AVCC UKŁADU!
Nie wystarczy kondek prz REF pinie, MUSZĄ być
przy nóżkach 7 i 20, więcej na str. 196 manuala (http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf).
Poczytaj też nieco o zakłóceniach w układach elektronicznych to może przestaniesz badziewić płytki, np.: jak można puścić ścieżkę sygnałową pod kwarcem?? Chodzi o tą z pina 19.
Jeśli nie wierzysz - pobaw się oscyloskopem.
Acha, jak do zasilacza masz ponad 15-20 cm przewód to dajesz w pobliżu Atmegi jakiś mały elektrolit np. 10..100 uF - w zależności od obciążenia.
Jeśli nie chcesz mieć zbyt zaszumionego sygnału rozważył bym zastosowanie przewodu ekranowanego (choć to zależy od odległości do źródła sygnału dla ADC i ilości zakłóceń emitowanych z otoczenia w jakim będzie pracował układ).
Powodzenia!
----
Coś o zakłóceniach pisałem kiedyś tu:
https://www.elektroda.pl/rtvforum/topic1946821.html#9306028
----
Zajrzyj na stronę 195 wspomnianej dokumentacji, zwróć uwagę na częstotliwość Nyquista i na obligatoryjność stosowania filtru dolnoprzepustowego (f_filtru = 10*f_ADC w praktyce). Ponadto piszą tam, że ADC jest zaprojektowany dla źródła o impedancji wyjściowej 10k i mniejszej więc rezystor filtru powinien mieć odpowiednią wartość (nie może być dowolnie duży, zresztą wszystko jest w manualu).