Gast
#385310
Hi! Bin grad über Google auf das Forum gestoßen, weil ich dringend Hilfe brauche... Ich Programmiere eben auf der Arbeit (Azubi) ne kleine Steuerung am 80C535 von Infineon Mein Problem: In der Initialisierungsphase meines Programmes werden mit Zeitabständen auf 17 Adressen eingelesene Analogwerte abgespeichert. Soweit so gut, das habe ich mit mov dptr,#05160h movx @dptr,a gemacht. Im Akku war der Wert vom AD-Wandler jeweils temporär. Mein Problem nun ist, dass ich nun im Hauptprogramm, was danach anläuft, wieder AD-Messungen mache und diese nun mit den gespeicherten werten vergleichen muss. so wie: "CJNE A,#012h,m1" also bei mir: "CJNE A,[gespeicherter Wert],m1" Wie bekomme ich meinen Gespeicherten Wert dorthin??? oder gibts ne andere möglichkeit das Carry zu setzen? Hier das Beispiel wie es sein sollte: mov DPTR,#05160h ; Speicheradresse in Datenpointer schreiben movx a,@DPTR ; Adressierter RAM-Inhalt im Akku speichern mov r1,a ; Akku in Register sichern call ADmess ; Akku wird mit AD-Wert geladen cjne a,r1,m1 ; Setzt Carry wenn Akku größer als r1 m1: jc m50 ; Springt wenn Carry gesetzt zu m50 mov P4,#11111111b ; Läd den Port mit einer 8-Bit-Konstanten mov P5,#11111111b ; Läd den Port mit einer 8-Bit-Konstanten jnc m18 ; Springt wenn Carry nicht gesetzt zu m18 Bitte dringendst um Hilfe. Ach Ps: noch ne kleine Frage... Was ist ein "dadr"?? Wie beim Befehl CJNE A,dadr,rel Danke MfG Tobias Gläser