Hi,
ich wollte negative und positive Spannungen (-2.5V bis +2.5V).
Da gibt es ja die Möglichkeit, per OPV einfach 2.5V zu addieren und dann
kann man wie gewohnt von 0V bis 5V messen.
Aber wie könnte man das in Assembler realisieren, dass zB am LCD -2.5
bis +2.5 und nicht 0 bis 5 erscheint?
Mit dem 2er Komplement benötigt Assembler ja kein + oder - . Wie kann
man dennoch das - visualisieren?
Am universellsten ist sicherlich das 2-er Komplement zu benutzen.
Am einfachsten ist es wohl, einfach normal messen.
Kommt bei deiner Rechnerei ein Wert kleiner 2.5 raus, dann malst du ein
'-' hin. Vom Messwert ziehst du auf jeden Fall noch 2.5 ab und gibst ihn
aus.
Wenns nur darum geht, an der Anzeige etwas stehen zu haben, das so
aussieht 'als ob', dann kann man das meistens einfacher faken.
Hi
1.Nennt sich Summierer. Benötigt aber auch negative Versorgungsspannung
für OV.
2. Du subtrahierst vom ADC-Wert einen Wert, der 2,5V entspricht.
MfG Spess
also es sollte schon auch ein richtiger Wert raus kommen, kein Fake.
Ich hatte das ganze einfach die Woche mal getestet, 2.5V im Programm
abgezogen, klappt im positiven Bereich gut.
Aber wenn die Spannung dann in den negativen Bereich kommt, kommt ein
falscher Wert raus.
> also es sollte schon auch ein richtiger Wert raus kommen, kein Fake.
Sagt ja auch keiner.
Aber: Kein Mensch merkt es wenn du die Ausgabezahl in mehreren Etappen
zusammensetzt und intern nicht mit 2-er Komplement Darstellung
arbeitest. Am Display muss nur das richtige rauskommen.
Mal angenommen, dein virtueller 0-Punkt liegt bei 25
Alles was über 25 liegt
25 abziehen und als positive Zahl ausgeben
aus 26 wird so 01, also 0.1 Volt
aus 27 02 0.2
aus 30 05 0.5
...
passt
ist der Wert kleiner als 25, dann handelt es sich um eine negative
Spannung. Also muss auf jeden Fall mal ein '-' aufs Display
aus 24 muss werden 01 also 0.1 Volt, zusammen mit dem - steht dann
am Display -0.1
aus 23 02 0.2 Volt -0.2
22 03 0.3 -0.3
20 05 0.5 -0.5
15 10 1.0 -1.0
Gesucht ist also ein Zusammenhang, der aus
24 1 macht
23 2 macht
22 3 macht
etc.
Na das ist doch nicht so schwer. Wenn x dein Messwert ist, dann ergibt
25 - x den Anzeigewert. Warum 25? Na weil, dein virtueller 0-Punkt bei
25 lag.
Hi
Wenn du '2,5' von einem Wert '<2,5' abziehst bekommst du einen negativen
Wert. Um den Betrag zu erhalten musst du das 2er-Komplement bilden und
'-' davorschreiben. Bei einen Register mit 'neg'. Wenn dein Ergebnis
>8Bit ist (also mehrere Register) lässt sich das so
realisieren(Pseudocode):
com r1
com r2
...
com rn
add r1,1
adc r2,0
...
adc rn,0
MfG Spess
Ahso, dann habe ich dich da falsch verstanden
>Wenns nur darum geht, an der Anzeige etwas stehen zu haben, das so>aussieht 'als ob', dann kann man das meistens einfacher faken.
Dachte du meinst, ich will einfach nur ein - bei einer negativen
Spannung haben, egal ob der Wert stimmt, nur dass es eben aussieht 'als
ob' alles stimmt. Hab mich schon gewundert^^
Also könnte ich das so in der art mit BRMI machen? Oder muss ich
schauen, ob die Ausgabe >= (1024:2=512) ist?
gemessener Wert - 25
BRMI negativ
normale Ausgabe
negativ: 25 - gemessener Wert
Minus bei Ausgabe hinzufügen
Heinrich wrote:
> Also könnte ich das so in der art mit BRMI machen? Oder muss ich> schauen, ob die Ausgabe >= (1024:2=512) ist?>> gemessener Wert - 25> BRMI negativ> normale Ausgabe>> negativ: 25 - gemessener Wert> Minus bei Ausgabe hinzufügen
Im Endeffekt, wenn du jetzt deinen virtuellen 0-Punkt bei 512 liegen
hast, landest du damit (fast) genau beim 2-er Komplement.
Wenn ist eine (vorzeichenlose) Zahl größer gleich 512. Wenn Bit 7
gesetzt ist. Na, klingelts? Bit 7 == Vorzeichenbit
(Beim 2-er Komplement wäre dann alles genau anders rum.
Zahlen kleiner 512 sind positiv, Zahlen > 512 sind negativ
Aber vom Prinzip her ist es immer noch nichts anderes als weiter oben
im Beispiel mit 25)
Heinrich wrote:
>>Na, klingelts?> Hm, ich weiss nicht so genau!>> Ist dann nicht> BRCS - Branch if Carry Flag is Set> das gleiche wie> BRMI - Branch if Minus> ?
Carry und Minus haben nicht das geringste miteinander zu tun.
Carry wird verändert bei Rechenoperationen und zeigt an, dass
ein Überlauf entstand oder ein Borgen notwendig war.
Das Negativ-Flag spiegelt den Inhalt von Bit 7 wieder.
OK, Wenn man so will, könnte man sagen, dass nach einer
8-Bit Rechenoperation
das Carry Bit den Inhalt des 9.ten(!) Ergebnisbits wiedergibt
das Negativ-Bit den Inhalt des 8.ten Ergebnisbits wiedergibt
Hi,
wollte nur sagen, dass es zu klappen scheint. Ging ja schneller asl
erwartet gg.
Danke nochmal, Karl Heinz, du hast mir sehr weiter geholfen .
So, gute Nacht