Hallo for_ro,
Das ist eine gute Frage. Anbei noch mal die beiden Programme. Ich habe beide jetzt auf nur DDRx Befehle geändert.Warum mischt du eigentlich die Config Portx und die DDRx Befehle?
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
Programm welches nicht funktioniertCode:$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
Gruß, stefan8010Code:$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







Zitieren

Lesezeichen