• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2進数からアスキーコードへの変換についって)

2進数からアスキーコードへの変換について

このQ&Aのポイント
  • 趣味の電子工作で、2進数からアスキーコードへの変換について困っています。
  • A/D変換で得た10bitのデータを、アセンブリ言語で2進数から10進数に変換し、一桁ごとにアスキーコードにしてPCに送りたいです。
  • 2進数のデータをPCに送り、PC側で変換する方法もありますが、今回はPIC側で変換してアスキーコードで送る必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ponta00
  • ベストアンサー率75% (3/4)
回答No.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に変換するものですが、充分参考になります。

参考URL:
http://www4.zero.ad.jp/electronics/pic/hexdec16.txt
noname#70349
質問者

お礼

回答ありがとうございます。 PICということで割り算という概念を忘れていました・・・ 参考URLを参考にしてがんばってみたいと思います。

関連するQ&A