前へ | 目次 | 次へ |
A/D変換を行う(単一モード) | |||||||||||||||||
フォトレフレクタからの電圧をA/D変換し、 上位3ビットを3つのLEDに表示するプログラムを作ってみましょう。 A/D変換には、指定されたアナログ入力チャネルを、順次連続してA/D変換するスキャンモードと、 指定された1チャンネルのみを変換する単一モードが指定できます。 ここでは単一モードを使ってみましょう。 フォトレフレクタはPB1/AN1に、 3つのLEDはP50からP52までに繋がっているものとします。
| |||||||||||||||||
A/D変換の使い方 | |||||||||||||||||
H8/3664には、A/D変換のためのアナログ入力端子が8本あります(AN0-AN7)。 アナログ入力端子0-3(AN0-AN3)がグループ0、アナログ入力端子4-7(AN4-AN7)がグループ1と、 2グループに分割されています。 アナログ入力端子から入力された値(電圧)は、 A/D変換されA/Dデータレジスタに格納されます。 A/Dデータレジスタは4本あり(ADDRA-ADDRD)、 アナログ入力端子との対応は、以下のようになっています。
A/D変換の結果は、A/Dデータレジスタのビット15からビット6に格納されます。 ビット5からビット0は常に0です。 このデータを読むためには、 1バイトアクセスするか、上位8ビットのみ読み出すようにします。 | |||||||||||||||||
AD.ADCSR.BIT.ADST = 0 このビットを1にするとA/D変換を開始します。 単一モードでは、A/D変換を終了すると自動的に0になります。 AD.ADCSR.BIT.SCAN = 0 単一モードの場合には、0にします。 1にすると指定されたアナログ入力チャネルを、 順次連続してA/D変換するスキャンモードになります。 AD.ADCSR.BIT.CKS = 1 変換時間を設定します。 1が高速変換に対応します。 AD.ADCSR.BIT.CH = 1 アナログ入力チャネルを指定します。 単一モードのとき、以下のように指定します。
AD.DRB>>13 A/D変換の結果上位3ビットを、 下位3ビットに格納されるようシフトしています。 AD.ADCSR.BIT.ADF=0 このフラグは、単一モードでA/D変換が終了したときに1になります。 | |||||||||||||||||
やってみよう | |||||||||||||||||
| |||||||||||||||||
2003/05/20(Tue) | |||||||||||||||||
AKI-H8/3664 QFP版のトップページへ | |||||||||||||||||
トップページへ |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||