周波数カウンタは、2014年にPIC16F88版とPIC16F648A版を製作しました。
![](https://blogimg.goo.ne.jp/user_image/3f/8a/2abe1c1270163ff2a24bbf72e161613b.jpg)
上にちょこんと乗っている方です。
内部の様子です。
![](https://blogimg.goo.ne.jp/user_image/7e/ca/d8f33eb588b2b4cb13211e04c00a2839.jpg)
この周波数カウンタは、「電子工作etc」というwebサイトの「周波数カウンタV7」の回路とプログラムと回路を参考にさせていただきました。(現在このサイトは見えなくなっているようです。)
ソースプログラムは、C言語で書かれていましたが、アセンブラに移植しました。
PIC16F88周波数カウンタの回路図です。
![](https://blogimg.goo.ne.jp/user_image/6c/b3/68b98542ff6e911676b58d81dbfa1b0e.png)
PIC16F648A周波数カウンタの回路図です。
![](https://blogimg.goo.ne.jp/user_image/6e/df/4965a8cedad9f3a60fbb3bc84e7f4932.png)
PIC16F648A周波数カウンタのアセンブラソースリストは、こちらです。
MPLAB IDEでコンパイルしてPICに書き込みます。
この周波数カウンタは、現在でも使用可能で、ときどき使いますが、LCDの画面が小さいのとバックライトがないので、ちょっと見ずらいです。
そこで、2017年、LEDを使ってもっと見やすい周波数カウンタを作ることにしました。
LEDは、ダイナミック点灯として、まずPIC16F883で周波数カウンタを試作しましたが、周波数測定のための割込みとLED点灯のための割込みがかちあい、特定の周波数で測定誤差が出てしまいました。
この問題を解決するために、周波数測定用にPIC16F628Aを使い、表示部にPIC16F883を使った周波数カウンタを製作しました。
![](https://blogimg.goo.ne.jp/user_image/35/c9/95eff2191139794b2cb224704a952d17.jpg)
内部です。
![](https://blogimg.goo.ne.jp/user_image/2a/38/046b2fc7108bcd4f9ec4c93048d12a5c.jpg)
この周波数カウンタでは、下の図のようにPIC16F628Aで測定した周波数の値をシリアル通信でPIC16F883に送り、PIC16F883でLEDに表示します。
![](https://blogimg.goo.ne.jp/user_image/36/18/d9d8bd20382f5f35d8a8357f4267a5ab.png)
PIC16F628A周波数測定部の回路図です。
![](https://blogimg.goo.ne.jp/user_image/61/4b/7c7b4146d90cd68148c8e0b05e2948ee.png)
PIC16F628Aのアセンブラソースリストは、こちら。
PIC16F883周波数表示部の回路図です。
![](https://blogimg.goo.ne.jp/user_image/2e/07/38bc5198b137e3be879334628ea034bc.png)
PIC16F883のアセンブラソースリストは、こちら。
この周波数カウンタの測定上限は約50MHzです。
精度は数PPM(1MHzで数Hzの誤差)です。
なお、この周波数カウンタの仕組みは、JH7UBCホームページのこちらをご覧ください。
アマチュアの実験用としては、十分使えると思います。
LED表示で大変見やすく、当局もこの周波数カウンタを常用しています。
>https://web.archive.org/web/20170822163030/http://www8.plala.or.jp/InHisTime/
コメントありがとうございます。また情報をありがとうございます。
JF3SFBさんのホームページ「電子工作etc」では、私も多くのことを勉強させていただきました。
今、コールサインで検索しましたら、同じgoo blogに氏のブログを発見しました。
https://blog.goo.ne.jp/jf3sfb
2014年以来更新されていないようです。
お元気なのでしょうか?