Gast
#171799
Hallo
Ich habe ein Problem mit dem Vergleichen vom Akku(a) und einem
Register(r2). Mit welchem Befehl kann ich die beiden Werte vergleichen
?
Den Befehl "cmp" hab ich in meiner Befehlsliste nicht. Das einzige,
daß ich gefunden habe ist
"cjne a,#data,rel und cjne a,adr,rel"
- Befehlsbeschreibung für: "cjne a,#data,rel -Vergleiche Akku mit
Konstante und verzweige bei Ungleichheit.Andernfalls fahre im Programm
fort." und
"cjne a,adr,rel - Vergleich Akku- und Speicherinhalt und verzweige
bei Ungleichheit."
Leider verstehe ich das nicht ganz. Was ist mit verzweigen gemeint ?
Kennt jemand einen Befehl zum vergleichen ?
In meinem Programm möchte ich die zwei Werte vergleichen(a-r2), wenn
der Wert grösser/gleich Null 0 ist, soll ein Sprung zu
"ZEIT"(Sprungadresse) gemacht werden. Und wenn der Wert kleiner ist
soll ein Relais(liegt auf Port P2.0) eingeschaltet werden und eine
Kontroll-Spannung am Ausgang(Aout) anliegen. das Relais soll so lange
eingeschaltet sein, bis der Vergleichswert grösser/gleich 0 ist.
Das Hauptprogramm liegt als Anhang bei.
Ausschnitt aus dem Programm:
...
RELAISAUS bit p2.0 ;Ausgang für das Relais
...
mov a,#LCDPosIstwert ;Cursor-Position für den Istwert
lcall cursorpos ;an LCD ausgeben
lcall Ain2
lcall dezaus
;subb a,r2 ;1.Versuch
;jc AUS ;1.Versuch
;jz AUS ;1.Versuch
cjne a, r2,rel ;??
jz AUS ;Sprung bei Wert gleich 0
jc AUS ;Sprung bei grösser gleich 0
RELAIS: setb RELAISAUS ;Relais ein
sjmp ZEIT ;Sprung ins weitere PROG
AUS: clr RELAISAUS ;Relais aus
ZEIT: mov r0,#250
...
Ich hoffe, daß mir jemand helfen kann.
Im voraus DANKE !!!!
Gruß
Thiemo