しばらくぶりに、ブログを更新します。
今日は雨が降ったり止んだりで、最高気温は22.3℃と昨日より10℃も低い涼しい日でした。
涼しかったので、作りかけのPIC16F883周波数カウンタの実験をしました。
PICを使った周波数カウンタとして、一昨年(2014年)にPIC16F88とPIC16F648Aを使った周波数カウンタを製作しました。記事は、こちら
このうちPIC16F648A周波数カウンタは、実際に製作や実験で使用しています。
この周波数カウンタは、「電子工作etc」というサイトに掲載されている周波数カウンタV7のプログラムを使わせていただきました。
今回の周波数カウンタにもこのカウンタのアルゴリズムを使わせていただきました。
つまり、ゲートタイム1秒を生成するためにTMR2(8bit)を使い、周波数カウントにTMR1(16bit)を使います。
(一般的は、周波数カウント用にTMR0が使われることが多い)
今回は、表示に7セグメントLEDをダイナミック点灯で使いましたので、ゲートタイム1秒の生成と周波数のカウントアップ時に割り込み処理をしています。
基板の様子です。クロックには、TCXO12.8MHzを使いました。
自作のAD9850DDSから10MHzを供給して測定しています。
精度は数ppm程度と思われます。消費電流は、5Vで25~30mAです。
測定上限周波数50MHzを目指しましたが、いまのところ30MHz程度です。
2016.9.1 追記
本日、JH7UBCホームページにPIC16F883周波数カウンタの記事をアップしました。