.. Woran es letztendlich liegt, dass eine 10-Bit Abfrage des ADCs in einer Schleife nicht normal abläuft kann ich aber auch nicht beantworten ..
Kann es sein, dass Du die beiden 8bittigen ERgebnisregister des ADC falsch ausliest?
Code:
....
USA: ;U-Solar/Akku
ldi lcdd,lcd_lin1+$0A ;Zahlenpos Solar-U
rcall lcd_cmd4
ldi muxr,$47 ;ADC7 10bit
rcall rd_adc
in wrk1,ADCH
in wrk2,ADCL
rcall clc_va ;Values to Chars
...
Damit liest Du doch zuerst ADCH aus? Das Datenblatt verlangt aber (must - engl. = müssen - dtsch) wie wohl immer beim 10bittigen Atmel-ADC, zuerst das ADCL und erst dann das ADCH auszulesen:

Zitat von
Datenblatt für AtmelATmega16A-8154B–AVR–07/09
...
If the result is left adjusted and no more than 8-bit precision is required, it is sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH, to ensure that the content of the Data Registers belongs to the same conversion. Once ADCL is read, ADC access to Data Registers is blocked
...
Lesezeichen