www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rechnen mit dem 8051


Autor: Thiemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich sitz grad wieder vor meiner 8051-Platine (Atmel 89C51RD2-CM)und
komm grad nicht weiter.
És geht um das Rechnen mit dem 8051. Ich habe ein Programm für die
PH-Wertmessung für mein Aquarium gemacht und muß nun einen eingelesenen
(und gesicherten) Wert umrechnen.

Kann ich die Berechnung in C bzw. C++ machen und die Werte an den
Assembler übergeben ?
Wie lautet der Befehl im Assembler und wie bzw wo muss ich die C-Datei
abspeichern ?

Könnte mir bitte jemand ein wenig helfen ?

Im voraus DANKE !!!


Gruß

Thiemo

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn, dann mußt Du Dein Programm in C schreiben.
Da kannst Du dann Inline-Assembler hineinschreiben.
Oder Du schreibst die Berechnungen in ASM.
Was muchst Du denn berechnen? Formel?

MfG
Andi

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich ginge auch nur die Berechnung in C zu machen und das
ASM-Ergebnis nach dem Compillieren mit include in Dein ASM-Programm
einzubinden.
Mußt allerdings noch ein bißchen anpassen (Berechnungsroutine und
Unterprogramme zum Rechnen rauspicken).

MfG
Andi

Autor: Thiemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andi

DANKE erstmal für Deine Antwort.
Mit den Fachbegriffen hab ich es noch nicht so.
Zu Deinem Satz :"Da kannst Du dann Inline-Assembler
hineinschreiben."
Wie hab ich das zu verstehen ?
Einfach hinein kopieren ?

Zur Frage der Berechnungsformel :

Übergabewert * 20mV = PHWert

Aber ich glaube ich muss diese Formel nochmal überarbeiten.
Für mich ist aber die "Übernahme eines Wertes von einer C-Datei in den
Assembler wichtiger.

Was bedeutet ASM ???

Gruß
Thiemo

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenn mich mit 51 zwar nicht aus, aber du kannst ja einfach  mal 2
und dann das Komma um 2 Stellen verschieben.

ASM ist bei mir z.B. ne Abkürzung für Assembler.

dave

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nimmst Du nicht den C-Compiler von Wickenhaeuser.de . Dort kannst
Du Dein Programm in C aufbauen und wenn nötig, Assemblerroutinen mit
dazwischenschieben. Der Compiler ist zwar auf 8kbyte begrenzt, sollte
aber für "normale" Anwendungen ausreichen. Zu dem Paket sind viele
Beispiele, wo man auch das Zusammenspiel von C und Assembler sehen
kann.

Matthias

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer Assembler mit C mixen will, der muß viel Ahnung von beidem haben.
Außerdem muß er sich auf einen bestimmten Compiler festlegen, damit die
Paramterübergabe klappt.

Willst Du in Assembler rechnen, dann geht das z.B. so:

http://home.tiscali.de/peterd/appl/soft/arithmet/index.htm


Peter

Autor: Thiemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Autor: peter dannegger - dannispecs.de
Datum: 24.04.2005 18:39

------------------------------------------------------------------------ 
--------

Wer Assembler mit C mixen will, der muß viel Ahnung von beidem haben.
Außerdem muß er sich auf einen bestimmten Compiler festlegen, damit
die
Paramterübergabe klappt.

Willst Du in Assembler rechnen, dann geht das z.B. so:

__________________________________________________________________

Hallo Peter

Ich hab mir Deine Seite angeschaut und mir gleich was ausgedruckt.
Leider hab ich nichts über die Multiplikation gefunden oder ich hab es
übersehen (und ich habs nicht ganz so mit Sprachen - leider)

Kannst Du mir bitte die Befehle für die Multip. sagen ?!


gruß
Thiemo

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://home.tiscali.de/peterd/appl/soft/arithmet/amul.inc

Findest Du in der Main-Site unter "AMUL".

MfG
Andi

Autor: Thiemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Autor: dave - david_webergmx.net
Datum: 24.04.2005 18:02

------------------------------------------------------------------------ 
--------

Ich kenn mich mit 51 zwar nicht aus, aber du kannst ja einfach  mal 2
und dann das Komma um 2 Stellen verschieben.

ASM ist bei mir z.B. ne Abkürzung für Assembler
_________________________________________________________________

Hallo Dave

Dies wird sicherlich nicht die einzige Berechnung bleiben. Daher wäre
es nicht schlecht, wenn ich dieses Problem lösen könnte oder mir jemand
helfen könnte. Und dann ist da noch mein EGO den ich mit diesem Programm
befriedigen möchte - MUSS !!! ;-)   Aber trotzdem DANKE für den Tip. Ich
werd Ihn nachher noch aufprobieren.

Gruß
Thiemo

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.