PIC マイコンの種類に依って A/D コンバータの設定方法が異なりますが、基本的な部分については共通なので
設定方法を理解すると、他の PIC マイコンの使い方をマスターする事が出来きます。
ここでは、PIC 12F675 について説明をします。
説明文の中で、例題として数値を表示しています。
例題は、バッテリー等の電圧監視をする為のプログラムを前提にしていますが、
今回プログラムは、公開しません。
例題は、バッテリー等の電圧監視をする為のプログラムを前提にしていますが、
今回プログラムは、公開しません。
下記の図を見てください。
PIC 12F675 の A/D コンバータを操作する為の項目です。割り込み制御は使用しないので、
その部分の説明を省略します。
【 例 題 設定手順 】
1. CONFIG ワード を設定する。
2. PIC マイコンの動作周波数を 4Mhz にする。
3. CMCON で コンパレータを OFF にする。
4. TRISIO の入出力を設定する。
5. ANSEL を設定する。
■ 変換クロック を設定する。
■ I/O ポート を設定する。
● AN0 をアナログ・チャンネルに設定する。
● GP3 をデジタル入力にする。
● GP1、GP2、GP4、GP5 をデジタル出力にする。
6. ADCON0 の設定。
■ ADFM の設定。データを左詰めで8bit データを使う。
■ VCFG 基準電圧の設定。
■ アナログ・チャンネルの設定。設定したチャンネルの内の一つを選択する。
■ ADON A/D コンバータ・モジュールを使用する。
7. ADRESH をA/D 変換のデータとして扱う。
_______________________________________________
_______________________________________________
1.__CONFIG ( INTIO & WDTDIS & PWRTEN & MCLRDIS ) ;
2.#define _XTAL_FREQ 4000000 ;
delay タイムを使う場合、delay を使用する定義をする。動作周波数 4Mhz。
4.TRISIO = 0b00001001; // I/O ポート設定値
GPIO0 = 1; AN0 アナログ・チャンネル "0" A/D 変換入力
GPIO1 = 0; デジタル出力
GPIO2 = 0; デジタル出力
GPIO3 = 1; デジタル入力
GPIO4 = 0; デジタル出力
GPIO5 = 0; デジタル出力
【 5.ANSEL の設定 】
[ アナログ・チャンネル・セレクト・ビット ]
ANS0 = 1; // Analog ( Pin 7 : GP0/AN0 )
ANS1 = 0; // Digital ( Pin 6 : GP1/AN1 )
ANS2 = 0; // Digital ( Pin 5 : GP2/AN2 )
ANS3 = 0; // Digital ( Pin 3 : GP3/AN3 )
[ A/D 変換クロック周波数選択 ] 動作クロック周波数 : 4Mhz
8 Tosc を使用する。
ADCS0: 1
ADCS1: 0
ADCS2: 0
下記の図を参考にして、デバイスの周波数に依って A/D 変換の動作クロックを設定します。
赤く塗りつぶした部分の中から選びます。ここでは、2.0μs の 8 Tosc を選択します。
5.ANSEL = 0b00010001; // ANSEL = 0x11 設定値
【 ADCON0 の設定 】
ADFM = 0; // データを左詰めで使う。8bit データとして扱う。
VCFG = 0; // 基準電圧を VDD にする。
CHS0 = 0; // アナログ・チャンネル "0" を使う。
CHS1 = 0; // アナログ・チャンネル "0" を使う。
GO/DONE = 1; // 変換開始指令、変換終了ステータス。
ADON = 1; // A/D コンバータ・モジュールを使用する。
6.ADCON0 = 0b00000001; // ADCON0 = 0x01 設定値
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]