www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ASM real-Zahl Konstante


Autor: Tillmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tillmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Läubi (Gast)
Datum:

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

Autor: Tillmann (Gast)
Datum:

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

Autor: Tillmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard Gunzelmann (Gast)
Datum:

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

Gerhard

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Tillmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tillmann (Gast)
Datum:

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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keinen Dunst, wie das geht  - hauptsache der C-Compiler macht das
richtig.

Gerhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.