auszug von fachleuten aus diesem forum : http://www.mikrocontroller.net/topic/86833


.....Wenn man sich den Code anschaut, dann merkt man dass da ziemlich
gepfuscht wurde (mangels Wissen). Der Programmierer verwechselt
andauernd horizontal und vertikal und dies hier ist der Code:
do *pixelzeiger=ADCH; while (*pixelzeiger++ > 20);

Ob der ADC fertig ist, interessiert nicht, es wird trotzdem gespeichert.
Von den 60 Messwerten sind daher nur etwa etwa 20 real (sieht man auch
deutlich an der dort geposteten PDF). Das macht sagenhafte 16 Pixel pro
Zeile. Theoretisch sind bei 16MHz bis zu 33 Pixel möglich, allerdings
läuft der ADC dann mit 8MHz statt maximal 250kHz.