Hallo, habe folgendes Problem bei meinem 80c535 Projekt und weiß nicht mehr weiter. Habe eine 16-Bit Zahl, die auf 2 Adressen verteilt ist. Diese 16 Bit zahl soll nun als ASCII ausgegeben werden. Würde es sich lediglich um eine 8-Bit Zahl handel könnte ich durch 100 dividieren, abspeicher, dann durch 10 dividieren usw. Allerdings ist eine Division von einer 16-Zahl nicht möglich. Hat hierzu jemand einen Lösungsvorschlag? Vielen Dank
227, Du musste es ja nicht zwanghaft mit Divisionen machen, sondern es geht auch mit schrittweisem subtrahieren von 10000 bis es nicht mehr geht, dann mit 1000 bis es nicht mehr geht, dann mit 100, usw... Die Anzahl der möglichen Subtraktionen gibt dann ohne weiteren Aufwand bereits den Wert des Digits im ASCII-String an. (48 addieren, um von der Binarzähl auf den ASCII-Wert zu kommen natürlich) Ist etwas ungünstiger hinsichtlich der Takte, aber dafür sehr einfach verständlich. Jochen Müller
Wer behauptet denn, eine 16-Bit Division ginge nicht? Google: 16-bit division Erster Treffer: http://www-user.tu-chemnitz.de/~heha/Mikrocontroller/Division.htm
Es wäre dabei schon interessant zu wissen, ob du den Code in Assembler oder C haben willst. Denn in C kannst du ohne weiteres eine 16Bit Division machen und der Compiler baut das dann entsprechend um. Schade das du keinen 80C517A benutzt, denn dieser hat schon eine 16Bit Multiplikations und Divisionseinheit eingebaut. ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.