楽釣工房では、小魚用しゃくり機、わかさぎ用しゃくり機、Picマイコン制御による自動しゃくり機(しゃくりパターン制御)、赤外線リモコンの応用回路(電気機器のON/OFF、温度制御、リモコンに依る数値設定など)、電子回路について書いて行きます。

 ブログの投稿記事に画像データを多く使用している為、他の投稿記事を読む事に不便をかけると思われます。
従って、投稿記事の前文をブログで公開し、全体の記事は ホーム・ページ [ 楽釣119 ] で公開する事にしました。
ホーム・ページ [ 楽釣119 ] では、今までの記事の内容を整理し、内容の不具合を修正し、又、記事の追加をして、ホーム・ページで公開しています。
  
___________________________________________________________________________________________________________________

2011年7月9日土曜日

A/D コンバータの使い方

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 設定値 

この記事の続きを読む・・・ A/D コンバータの使い方


楽釣工房・ホームへ戻る ] [ ホーム・ページ  楽釣119 へ移動 ]