Hallo for_ro,

Warum mischt du eigentlich die Config Portx und die DDRx Befehle?
Das ist eine gute Frage. Anbei noch mal die beiden Programme. Ich habe beide jetzt auf nur DDRx Befehle geändert.
Daneben habe ich mal die entsprechenden Werte des Simulators für ADMUX, ADCSRA, PortA und DDRA geschrieben. Ich kann keinen Unterschied finden.

Programm welches funktioniert
Code:
$regfile = "M32def.dat"
$crystal = 7372800
$baud = 9600
$hwstack = 100
$swstack = 100
$framesize = 100

Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Cursor Off
Cls

Config Adc = Single , Prescaler = Auto , Reference = Avcc  ADMUX 40 / ADCSRA 86

Dim X As Word
Dim Y As Word

Start Adc                                                                     ADCSRA 86

Do
 Ddra.0 = 1                                                                   DDRA 01 bzw. 0B
 Ddra.2 = 1                                                                   DDRA 05 bzw. 0F
 Ddra.1 = 0                                                                   DDRA 05 bzw. 0D
 Ddra.3 = 0                                                                   DDRA 05 bzw. 05
 Porta.0 = 1                                                                  PORTA 01 bzw. 09
 Porta.2 = 0                                                                  PORTA 01 bzw. 09
 Waitms 10
 Y = Getadc(3)                                                              ADMUX 43 / ADCSRA 86
 Y = 1024 - Y
 Locate 1 , 1
 Lcd "y:" ; Y

 Ddra.1 = 1                                                                   DDRA 07
 Ddra.3 = 1                                                                   DDRA 0F
 Ddra.0 = 0                                                                   DDRA 0E
 Ddra.2 = 0                                                                   DDRA 0A
 Porta.3 = 1                                                                  PORTA 09
 Porta.1 = 0                                                                  PORTA 09
 Waitms 10
 X = Getadc(2)                                                              ADMUX 42 / ADCSRA 86
 X = 1024 - X
 Locate 1 , 9
 Lcd "x:" ; X
Loop
End
Programm welches nicht funktioniert
Code:
$regfile = "M32def.dat"
$crystal = 7372800
$baud = 9600
$hwstack = 100
$swstack = 100
$framesize = 100

$sim

Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Cursor Off
Cls

Dim Y As Word
Dim X As Word

Admux = Bits(refs0)                                                          ADMUX 40
Adcsra = Bits(aden , Adsc , Adps2 , Adps1)                           ADCSRA 86

Do
  Adcsra.adsc = 1                                                             ADCSRA 86
  ddra.0 = 1                                                                     DDRA 01 bzw. 0B
  ddra.2 = 1                                                                     DDRA 05 bzw. 0F
  ddra.1 = 0                                                                     DDRA 05 bzw. 0D
  ddra.3 = 0                                                                     DDRA 05 bzw. 05
  Porta.0 = 1                                                                    PORTA 01 bzw. 09
  Porta.2 = 0                                                                    PORTA 01 bzw. 09
  Admux.mux0 = 1                                                             ADMUX 41 bzw. 43
  Admux.mux1 = 1                                                             ADMUX 43
  y = Adc
  Waitms 10
  Locate 1 , 1
  Lcd "y:" ; y

  Adcsra.adsc = 1                                                             ADCSRA 86
  Ddra.1 = 1                                                                     DDRA 07
  Ddra.3 = 1                                                                     DDRA 0F
  Ddra.0 = 0                                                                     DDRA 0E
  Ddra.2 = 0                                                                     DDRA 0A
  Porta.3 = 1                                                                    PORTA 09
  Porta.1 = 0                                                                    PORTA 09
  Admux.mux0 = 0                                                             ADMUX 42
  Admux.mux1 = 1                                                             ADMUX 42
  X = Adc
  Waitms 10
  Locate 2 , 1
  Lcd "x:" ; X
Loop
End
Gruß, stefan8010