Forum: Mikrocontroller und Digitale Elektronik Binäre Zahl aufteilen


von Patrick Gubelmann (Gast)


Lesenswert?

Hallo zusammen

Ich möchte eine binäre Zahl aufteilen. Dazu am besten ein Beispiel:

Anfangszustand:
Binäre Zahl   Dezimale Zahl
01000101       69

Endzustand:
Binäre Zahlen   Dezimale Zahlen
0110   1001     6      9

Wie kann ich das am besten auf einem PIC16f84 in Assembler
realisieren?

Dank + Gruss
Patrick Gubelmann

von Britneypunter (Gast)


Lesenswert?

Also ich kenn mich mit dem Befehlssatz von PIC's nicht wirklich aus und
weiß auch nicht ob es da eventuell nen befehl für gibt, aber ich hätte
hier ne Alternative:

Um z.B. das low nibble raus zu filtern könntest du dein byte und
00001111 UND verknüpfen.
Und für das high nibble ne UND verknüpfung mit 11110000 und
anschließend 4 mal rechts schieben, dann müßtest du es haben.

von crazy horse (Gast)


Lesenswert?

nö, so wird das nichts. Er will ja aus einer Dualzahl eine gepackte
BCD-Zahl machen.
Entweder mehrfach 10 subtrahieren (dabei die Anzahl der Subtraktionen
zählen, ergibt dann das high-nibble) oder die Zahl mit 10 dividieren,
den Qutienten dann ins high-nibble schreiben, der Rest der Division
ergibt das low-nibble.

von Britneypunter (Gast)


Lesenswert?

Ja, sorry, hast recht.
Da war ich wohl zu sehr Hex fixiert
....ja ja, wer lesen kann ist klar im vorteil!

von Konrad Heisig (Gast)


Lesenswert?

Steht in der AppNote `AN526´ von Microchip, mit Code-Besipiel

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.