8051 - Vergleich von Akkuinhalt und Register
-
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.Versuchcjne a, r2,rel ;??
jz AUS ;Sprung bei Wert gleich 0
jc AUS ;Sprung bei grösser gleich 0RELAIS: setb RELAISAUS ;Relais ein
sjmp ZEIT ;Sprung ins weitere PROGAUS: clr RELAISAUS ;Relais aus
ZEIT: mov r0,#250
...Ich hoffe, daß mir jemand helfen kann.
Im voraus DANKE !!!!Gruß
Thiemo
-
Stell deine Frage da: http://www.mikrocontroller.net/forum/