電子工作etc


【R8C/M12A

 ■簡易周波数カウンタ(R8C)
  ★概要
    ルネサスエレクトロニクス社製のMPU「R8C/M120A」には、強力な16ビットタイマが3個実装されています。
    これらを組み合わせると、丁度、周波数カウント、LCD表示に必要な機能を満たします。

    <簡易周波数カウンタの仕様>
      ・周波数測定範囲:最大15MHzとします。(実測値)
      ・ゲートタイム:100msecとします。

  ★動作原理
   入力信号を一定期間(100msec)カウントし、結果を周波数換算し、LCDに表示します。

  ★動作原理(ハード)
   ◎タイマRC
    ・入力信号のゲート開閉期間(100msec)を得るために、16ビットのタイマRCを使用します。
    ・タイマRCとジェネラルレジスタをコンペアさせることにより、容易にカウンタの周期駆動ができます。

   ◎タイマRJ2
    ・入力信号をカウントするために16ビットのタイマRJ2を使用します。
    ・外部パルスをカウントできる16 ビットタイマです。

   ◎タイマRB2
    ・ディレイ(遅延)処理用に16ビットのタイマRB2を使用します。
    ・タイマRB2は、8ビットプリスケーラ付き8ビットタイマですが、16ビットタイマとして使用可能です。

  ★動作原理(ソフト)
   ◎メイン処理(main)
    ・クロックを外部20MHzに設定します。
    ・ポートを初期化します。
    ・LCDを初期化します。
    ・インターバルタイマ(100msec)を初期化します。
    ・割り込みを許可します。
    ・周波数を測定します。
    ・結果をLCDに表示します。

   ◎クロック初期化処理(clock_init)
    ・起動時には、内蔵クロックで動作しているので、外部クロックに切り替えます。
    ・外部クロックには、出来るだけ精度の高いものを使用してください。

   ◎ポート初期化処理(port_init)
    ・使用するポートを初期化します。

   ◎インターバルタイマ初期化処理(interval_timer_init)
    ・100msec周期の割り込みを発生させるようにタイマを設定します。

   ◎周波数測定処理(freq_measurement)
    ・周波数を測定し、結果を返します。

   ◎インターバル割り込み処理(interrupt_timer_rc)
    ・入力信号のゲートの開閉を行います。

  ★回路図
     ※書込モード時の接続については、「簡易電圧計(1チャネル)」を参照してください。
     

  ★プログラム
    ・HEX(MOT)ファイルはここです。
    ・ソース(c、h)ファイルはここです。

  ★動作確認
     
    ファンクションジェネレータから信号を入力し測定してみました。(左側:15MHz、右側:10MHz)
     
    ファンクションジェネレータから信号を入力し測定してみました。(左側:5MHz、右側:1MHz)
     
    ファンクションジェネレータから信号を入力し測定してみました。(左側:100kHz、右側:10kHz)
     



トップへ
戻る



電子工作etc