nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

ADCの原理をお勉強 ADC値取得してASCII(要求仕様)

PIC16F88を使った回路実験ですが、LEDぴかぴかから始まり、UARTとの接続、次はとうとうADCから電圧取得です。
ここで課題となるのはADC読み値であるバイナリー値をどう扱うかです。バイナリーを電圧に変換。さらにバイナリーデータをデシマル変換し、ASCII文字でハイパーターミナルに[なんVです]と表示をしたいのです。
まずADCはどんな具合に動作するかと言うと、10ビット分解能で、Vref−からVref+に向かって1024デジット間をVref上げていきます。
そしてADC入力値とVrefが一致したときにカウンタ値を教えてくれます。逐次比較型のアナログデジタル変換機能というわけですね。
とりあえず、Vref+はVdd、Vref−はグラウンドにします。その間を10ビット1024ディジット分に分解するわけです。ということはADCの読み取り値に5V/1024を掛け算して、その結果を10進4桁にして、各桁をASCII文字コードに変換するのが必要です。そして得られた文字をPCのハイパーターミナルに送ります。
実験途中では回路は動いているか、ソフトは立ち上がったかと心配だらけですので、LEDをキー入力で点滅するのは残しておきます。立ち上げ時にもLEDをピカピカさせることにしました。

これでソフトが組めます。