Up クロック設定 作成: 2021-01-19
更新: 2021-01-19


ツール・ラボ「PICマイコン電子工作入門 : 基礎編」第20, 21, 22回 より

  • PIC12F1822 のクロックに関するピン
      クロックに関する機能は,以下のように割り当てられている:

  • コンフィギュレーション「#pragma config FOSC = ‥‥」の設定
      設定値 設定内容
      内部
      クロック
      INTOSCIO 内部クロックを使用する場合にこの値を設定します。この値を設定すると、2番ピンと3番ピンは入出力ピンとして使用できます。ただし精度はそれほどよくありません。
      接続形態1 HS 外部クロック周波数が4MHz〜20MHzの場合、FOSCにこの値を設定します。接続形態1の場合、HS/XT/LPのいずれかを 指定しますが、これは先に説明したように、PICマイコン内部の回路特性の設定を変えるためです。以下、XT/LPについても同じです。
      XT 外部クロック周波数が4MHz以下の場合にこの値を設定します。
      LP 外部クロック周波数が32.768kHzの場合にこの値を設定します。これは時計用の32.768kHzの水晶発振子を使用するときに設定します。
      接続形態2 RC なお、3番ピンを入出力ピンとして使用するか(接続形態2-1)、クロック出力ピンとして使用するか(接続形態2-2)は、コンフィグレーション設定のCLKOUTEN(Clock-out Enable)で設定します。
      接続形態3 ECH クロック周波数が4MHz〜32MHzの場合にこの値を設定します。
      ECM クロック周波数が500kHz〜4MHzの場合にこの値を設定します。
      ECH クロック周波数が500kHzまでの場合にこの値を設定します。


  • 内部クロック (「#pragma config FOSC = INTOSCIO」) の場合
    • 周波数の設定
      • 変数(レジスタ)「OSCCON」(Oscillator Configuration) に値を代入することにより設定する。
        この変数は “xc.h”ファイル (#includeでインクルードしている) に定義されている。
      • 例えば,
          #pragma config FOSC = INTOSCIO
        を設定しているときの
          OSCCON = 0b01011000;
        は,つぎの場合:



  • 接続形態2 (「#pragma config FOSC = RC」) の場合
    • 3番ピンの設定
      • 3番ピンをクロック信号出力ピンにする場合
          #pragma config CLKOUTEN = ON

      • 3番ピンを入出力ピンにする場合
          #pragma config CLKOUTEN = OFF