Forum: Mikrocontroller und Digitale Elektronik ASM real-Zahl Konstante


von Tillmann (Gast)


Lesenswert?

Hätte eine kurze Frage - bin absoluter ASM-Nixkönner und möchte auch
nicht auf die schnelle lernen.
Der Quellcode ist leider nur tschechisch(?) kommentiert.
Für einen ASM kenner sicher ein klacks.

; Nastavení hodnot:
  ; C2= 1005pF
  mov  C2real,#4Bh
  mov  C2real+1,#20h
  mov  C2real+2,#8Ah
  mov  C2real+3,#30h
  ret

damit wird "1005" als real(?) in asm dargestellt.
Ich würde gern 980 festlegen - oder besser, einer erklärt wie man die
Zahl zusammensetzt.
Die einzelnen Hex-Werte um eine Stelle verschoben ergeben auf die
schnelle keinen Sinn für mich ;)

Das ganze ist aus dem Quellcode von einem L-C-Meter auf AT89C2051 Basis
und die 1005pF sind die Referenz.
Wen es interessiert: http://www.hw.cz/constrc/lc_metr/

Danke

von Tillmann (Gast)


Lesenswert?

hat sich grade erledigt - man sollte einfach mal im Quelltext nach der
Konstanten suchen ;)

; Kalibraèní konstanty:
F1real  data  60  ; frekvence naprázdno

C2real  data  64  ; kapacita kalibraèního kondenzátoru
C1real  data  72  ; kapacita kondenzátoru C1
L1real  data  76  ; Indukènost cívky L1

kalnum  data  80  ; pocet pruchodu pri kalibraci (1. neni pouzitelny)

von Läubi (Gast)


Lesenswert?

real vermutlich der Reale Anteil am Complexen Wechselstromwiderstand des
Kondesators (Ich kann aber auch kein tschechisch ;) )

von Tillmann (Gast)


Lesenswert?

Herje, zu früh gefreut.
Sind ja scheinbar blos die Speicherzuweisungen für die Konstanten.

von Tillmann (Gast)


Lesenswert?

Real-Anteil im Sinne der Wechselstromlehre hat ganz sicher nix damit zu
tun.

Geht nur um die Kappa des Kondesnators C2 in pF als Konstante im
ASM-Quelltext.

von Gerhard Gunzelmann (Gast)


Lesenswert?

c2 ist nicht 1005, sondern 1005E-12

980E-12 ist:

; C2= 980pF
  mov  C2real,#4Fh
  mov  C2real+1,#B0h
  mov  C2real+2,#86h
  mov  C2real+3,#30h

Gerhard

von Gerhard Gunzelmann (Gast)


Lesenswert?

oops, erste Zahl falsch: sorry
; C2= 980pF
  mov  C2real,#AFh
  mov  C2real+1,#B0h
  mov  C2real+2,#86h
  mov  C2real+3,#30h

Gerhard

von Thomas (Gast)


Lesenswert?

Dein Freund ist IEEE 754 und die Darstellung von Fließkommazahlen.

Sehr schön zum Ausrechnen folgender Link:

http://www.h-schmidt.net/FloatApplet/IEEE754de.html

308A204B -> 1050 pF
3086B0AF ->  980 pF

Gruß

von Tillmann (Gast)


Lesenswert?

sehr gut :)
nun ist meine neugier aber soweit geweckt, dass ich gerne wüsste WIE
das zusammengesetzt ist ;D

die 30h stellen wohl die ^-12 aber der Rest ist mir schleierhaft.

von Tillmann (Gast)


Lesenswert?

ah, ok. Mit nem Rechner gehts natürlich am schnellste.
Danke an alle.

von Thomas (Gast)


Lesenswert?

Die 30h stellen nicht nur die ^12 dar, denn der Exponent beginnt leider
schon im MSB des darunter liegenden Bytes und das MSB der 30h ist das
Vorzeichen der Zahl... Genaueres:

http://de.wikipedia.org/wiki/IEEE_754

von Gerhard Gunzelmann (Gast)


Lesenswert?

keinen Dunst, wie das geht  - hauptsache der C-Compiler macht das
richtig.

Gerhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.