- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2進数からアスキーコードへの変換についって)
2進数からアスキーコードへの変換について
このQ&Aのポイント
- 趣味の電子工作で、2進数からアスキーコードへの変換について困っています。
- A/D変換で得た10bitのデータを、アセンブリ言語で2進数から10進数に変換し、一桁ごとにアスキーコードにしてPCに送りたいです。
- 2進数のデータをPCに送り、PC側で変換する方法もありますが、今回はPIC側で変換してアスキーコードで送る必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
オーソドックスな手法ですが「割り算」をするのが手っ取り早いと思います。 (1)A/D変換の結果を1000で割った商に0x30を足す。これが千の位のアスキーコード。 (2)A/D変換の結果を1000で割った余りを、(B)とする。 (3)(B)を100で割った商に0x30を足す。これが百の位のアスキーコード。 (4)(B)を100で割った余りを、(C)とする。 (5)(C)を10で割った商に0x30を足す。これが十の位のアスキーコード。 (6)(C)を10で割った余りに0x30を足す。これが一の位のアスキーコード。 なお、10ビットということで、値が0~1023の範囲であることを前提としています。 PICは割り算命令がないので、WEB上に公開されているサブルーチンを参考にするのが手っ取り早いと思います。 ※参考URLは、BCDに変換するものですが、充分参考になります。
お礼
回答ありがとうございます。 PICということで割り算という概念を忘れていました・・・ 参考URLを参考にしてがんばってみたいと思います。