- #1
T
Thiemo
Mitglied
Themenersteller
- Dabei seit
- 09.04.2005
- Beiträge
- 8
- Reaktionspunkte
- 0
- Ort
- LB
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
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