![見出し画像](https://assets.st-note.com/production/uploads/images/127899103/rectangle_large_type_2_c4d261cc43be906c57e5cbe7e83f6c7a.jpeg?width=800)
マイコンde学習しよう(レッスン8)AVR128DA28
「AD 変換」
<目的>
・ADC を使った通信について学ぶ。
<動作概要>
・SW1 が押されたらLED1 をトグルさせ、ADC の値をUSART 通信でパソコンに送信する。
<レジスタ説明>
使用するAD変換機能であるADCn毎に設定すべき下記レジスタがあります。
![](https://assets.st-note.com/img/1705203223744-WVnq8R6dRm.png?width=800)
CONVMODE:変換モード 0:単電圧測定 1:差動電圧測定
RESSEL[1:0]:分解能 0x00:12ビット 0x01:10ビット
FREERUN:連続変換許可ENABLEビット:AD変換許可
![](https://assets.st-note.com/img/1704402927142-ezQfyyGE4T.png?width=800)
![](https://assets.st-note.com/img/1704402982946-yT3F96dvxq.png?width=800)
![](https://assets.st-note.com/img/1704430450221-u56O4ii8xp.png?width=800)
MUXPOS[6:0]:アナログ入力選択
0x00:AIN0、0x01:AIN1、・・、0x15:AIN21
それ以外の入力ピンについては省略
![](https://assets.st-note.com/img/1705204060227-njJZ3PoGBd.png?width=800)
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機能に設定すべきレジスタは下記です。
![](https://assets.st-note.com/img/1704435206097-rkbHr9lG4W.png?width=800)
ALWAYSON:基準電圧常時ON 1:常時ON
REFSEL[2:0]:基準電圧選択(下表参照)
![](https://assets.st-note.com/img/1704434918896-Mb6xh3jZKQ.png?width=800)
<プログラム>
この記事が気に入ったらサポートをしてみませんか?