演習課題のプログラム例

AN4とAN5の2つのA/D変換をするので今回はスキャンモードでA/D変換します。ADCSRの設定値は表3のとおりです。

ADCSR
ビット名 簡単な説明 設定値
bit7 ADF A/D変換が終了したときにセットされるフラグ 0
bit6 ADIE A/D変換終了後、割り込みを発生させたい場合は1にする 0
bit5 ADST A/D変換開始時に1にセットする 1
bit4 SCAN 複数のチャネルを連続してA/D変換したい場合は1にセットする 1
bit3 CKS A/D変換時間を早くしたいときは1にセットする 1
bit2 CH2 CH2・CH1・CH0でA/D変換を実施するチャネルを選択する 1
bit1 CH1 0
bit0 CH0 1

表3

プログラム例をリスト2に示します。

リスト2

ハイパーターミナルには図4のように表示されます。

図4

アルカリ乾電池は1本1.5Vなので両方とも3Vになっているはずです。

モータ用電池  629 × 5 / 1024 = 約3.07V

マイコン用電池 606 × 5 / 1024 = 約2.96V

概ね正しくA/D変換されているようです。

A/D変換編 終了