mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Binär to Dezimal


Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich muss mit dem PIC16F877 einen 12-Bit ADC-Wert in Dezimal
umwandeln .Kann mir jemand bei Umwandlung helfen?

Danke

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das gleiche habe ich gestern für einen 8-Bit-Wert beim Mega8 gemacht.
Nur sollten bei mir noch zwei Stellen hinter dem Komma herauskommen für
Spannungswerte, die am AD-Wandler anliegen. Nebenbei musste der Wert
auch noch umgerechnet werden, so dass tatsächlich die richtige Spannung
ausgegeben wird und nicht z.B. das 1,15-Fache. Das hat den ganzen
Nachmittag gekostet.

Bei dir ist der Fall einfacher:
Mit 12 Bit kann der maximale Wert der Zahl 1024 sein.

1. Stelle:
So oft 1000 abziehen bis Rest < 1000

2. Stelle:

vom Restwert von Stelle-Eins-Berechnung so oft 100  abziehen bis < 100

3. Stelle

vom Restwert von Stelle-Zwei-Berechnung so oft 10 abziehen bis < 10

4. Stelle
entspricht  Restwert von Stelle-Drei-Berechnung und kann direkt
übernommen werden.

Autor: Denis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
falls es im programm schon eine 12b Divisionsroutige gibt, geht es auch
analog damit wert /1000, rest /100 usw.

Autor: hans müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit 3 x 16 bit division geht das schon:

a = gesamt-wert

b = a / 100
c = a mod 100
(b ist das ergebnis und c ist der rest, bei den meisten div befehlen
kommen beide ergebnisse)

dann:

d = b / 10
e = b mod 10
(s.o.

f = c / 10
g = c mod 10

dann ist die zahl:
[d] [e] [f] [g]

Autor: hans müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
anmerkung zum oberen post:

vergleiche die zeiten (takte für übliche werte zusammenrechnen) für die
divisions-methode und die schleifen-methode und nimm dann die schnellere
(einige uC haben HW mul/div)

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Der PIC 16F877 hat bis auf die Additions- bzw. Subtraktionsbefehle
keine weitere Arithmetik Befehle,es gibt leider keine Division
oder Multiplikation Befehle.
Danke

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.