グリッドディップメーターの製作6(PICソフトについて)

'06.09.03
PICカウンターソフトについて  
カウンター  そろそろ完成に近づいてきました。今回はPICマイコン周波数カウンターのソフト製作編です。
 基本は以前製作のPICカウンターの製作ページと同様ですが、今回の主な変更点は
 ・表示桁数を3桁から4桁に変更。写真は11.32MHzを表示
 ・IF周波数の加算部を削除
 ・PICのプリスケーラーを1/4から1/8に変更
 PICカウンターのページ(PIC周波数カウンター)も参考にしてください。
プログラム全体説明
   プログラムを参考にする場合、どの部分がどのような動作をしているのか説明があると理解しやすくなりますの で、参考になれば。
メインプログラム
   メインはサブルーチンのコールだけです。各ルーチンについて簡単に説明します
  INTIAL_SET
 各ポート設定などPICの設定を初期化します。
LEDTEST
 LEDのテストとして"8"表示を左から順に0.5秒だけ点灯します。
 

  MEAS
 周波数測定のメイン部分になります、カウントのループを利用してLED表示の4桁分を挿入し、あまりは適当に”NOP”で調整 しています。もともとクロック周波数の精度もそれなりで、ループ回数をぴったり合わせていません。
  CARY_ADD
 ループから抜ける直前に発生するTMR0のオーバーフローをチェックします、他のプログラム例ではこの処理をしていないのが 一般的ですが、VFOなどの組み込みカウンターにするには絶対に必要です。
DATx8
 プリスケーラーとして1/8に初期設定していますのでここで8倍にして戻します。
 前段の1/10プリスケーラー分は少数点表示のシフトで済みます。
DATCNV
 バイナリーデーターを10進BCDに変換します。この部分は標準アプリケーションをそのまま使用しています。
DISPLAY
 表示データーを作っています。RETLW命令の部分はプログラムカウンターがFFを超えないようにする必要があります
使用してみて
 VFOダイアルをゆっくり回すしても、すばやく動かしてもLED表示が気持ちよく変わっていきます。メーカー製ではどんな高級 トランシーバーでもダイアルをすばやく動かすと表示は追従しません。やっぱりダイアルは"こうでなくちゃ"、と一人気に入っ ていますが、実際に受信機に組み込むとノイズなどのトラブルも出ます。
 そのあたりの解決策はLow IF トランシーバーの製作過程で紹介していきます。

プログラムリスト参照

GDM完成へ

  Top Menu