ohne in das programm gesehen zu haben würde ich folgende zeile vorschlagen

Code:
PORTD = ~(1<<((result*8)/1024)); // messwert / 10bit->1024 / 8Lampen = bitposition
wobei das ergebnis aus der rechnung die nte lampe ist, die leuchten soll und die binäre zahl 1 dann um soviele positionen nach links geschoben wird, im falle von 1023 (maximalwert) ist das ergebnis 7,99~ die nachkommastellen werden einfach abgeschnitten im falle von weniger als 128 wäre das 0

ACHTUNG: ich hab hier result*8 geklammert, damit auch definitiv DAS zuerst berechnet wird, wenn ich erst das ergebnis durch 1024 teile, klommt IMMER 0 bei raus, bei ganzzahldivision ignoriert man alles was nach dem komma kommt

bei 0 ist die erste lampe an und bei 1023 die achte lampe ... da die LEDs low active sind, hab ich mit '~' die zahl abschliessend invertiert


PS: bei result == 0 würde garkeine lampe bei dir leuchten!