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 へ移動 ]
 
 
0 件のコメント:
コメントを投稿