見出し画像

マイコンde学習しよう(レッスン8)AVR128DA28

「AD 変換」


<目的>
・ADC を使った通信について学ぶ。

<動作概要>
・SW1 が押されたらLED1 をトグルさせ、ADC の値をUSART 通信でパソコンに送信する。

<レジスタ説明>

使用するAD変換機能であるADCn毎に設定すべき下記レジスタがあります。

CTRLAレジスタ

CONVMODE:変換モード 0:単電圧測定 1:差動電圧測定
RESSEL[1:0]:分解能 0x00:12ビット 0x01:10ビット
FREERUN:連続変換許可ENABLEビット:AD変換許可


CTRLCレジスタ
PRESC[3:0]ビット

MUXPOSレジスタ

MUXPOS[6:0]:アナログ入力選択
 0x00:AIN0、0x01:AIN1、・・、0x15:AIN21
 それ以外の入力ピンについては省略


COMMANDレジスタ

STCONV:変換開始 1:開始


ADC0.CTRLA レジスタで、分解能(12 ビット、10 ビット)、AD 変換許可、連続変換許可 を選択します。ADC0.MUXPOS でAD 変換用の入力ピンを指定します。

ADC0.CTRLC レジスタのFRESC[3:0]ビットで変換周波数を指定します。
変換周波数は125kHz~2MHz の範囲になるようにします。

A/D 変換とは、与えられた電圧などのアナログ量を基準電圧に対する比率のデジタル値に変換する機能です。
分解能は12 ビット=4096 段階(0~4095)、または10 ビット=1028 段階(0~1027)です。


使用するVREF機能に設定すべきレジスタは下記です。

ADC0REFレジスタ

ALWAYSON:基準電圧常時ON 1:常時ON
REFSEL[2:0]:基準電圧選択(下表参照)

REFSEL[2:0]ビット

<プログラム>

ここから先は

4,940字 / 2画像 / 1ファイル
この記事のみ ¥ 200
期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?