差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| elechobby:picdic:otherpic:168 [2020/04/30 18:08] – 作成 admin | elechobby:picdic:otherpic:168 [2025/10/17 14:29] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| ===== 概要 ===== | ===== 概要 ===== | ||
| - | PIC16Fシリーズには、16ビットのタイマーモジュールが、1個しかなく、また、タイマーの制御(ON/ | + | PIC16Fシリーズには、16ビットのタイマーモジュールが、1個しかなく、また、タイマーの制御(ON/ |
| - | なため、周波数カウンタのように、 | + | |
| * ゲートタイム用のタイマーモジュール(ON/ | * ゲートタイム用のタイマーモジュール(ON/ | ||
| * 周波数カウント用のタイマーモジュール(ON/ | * 周波数カウント用のタイマーモジュール(ON/ | ||
| を実現しようとすると、結構煩雑(意にそぐわない)な処理が必要となります。 | を実現しようとすると、結構煩雑(意にそぐわない)な処理が必要となります。 | ||
| - | PIC18Fシリーズでは、16ビットのタイマーモジュールが、2個に強化され、且つ、タイマーの制御(ON/ | + | PIC18Fシリーズでは、16ビットのタイマーモジュールが、2個に強化され、且つ、タイマーの制御(ON/ |
| - | 可能となり、周波数カウンタの実現には、とても便利になりました。 | + | |
| - | 今回は、PIC18Fシリーズでは、最もピン数の少ない、PIC18F1320(18ピン)を使用し、出来るだけコンパクトに | + | 今回は、PIC18Fシリーズでは、最もピン数の少ない、PIC18F1320(18ピン)を使用し、出来るだけコンパクトに仕上げてみました。 |
| - | 仕上げてみました。 | + | |
| < | < | ||
| 行 22: | 行 19: | ||
| ===== 動作原理 ===== | ===== 動作原理 ===== | ||
| < | < | ||
| - | ECCPモジュールとTIMER1を組み合わせ、コンペアモードで使用することにより、0.1秒の周期割り込み | + | ECCPモジュールとTIMER1を組み合わせ、コンペアモードで使用することにより、0.1秒の周期割り込みを発生させる。 |
| - | を発生させる。割り込みを、フリーランさせることにより、測定の開始と完了の処理を単純化させる。 | + | 割り込みを、フリーランさせることにより、測定の開始と完了の処理を単純化させる。 |
| * 測定の開始(測定処理→割り込み処理へ指示) | * 測定の開始(測定処理→割り込み処理へ指示) | ||
| * 測定の完了(割り込み処理処理→測定処理へ指示) | * 測定の完了(割り込み処理処理→測定処理へ指示) | ||
| < | < | ||
| - | TIMER3と32ビットの変数(freq)を組み合わせ、周波数をカウントする。TIMER3でオーバーフローが発生する | + | TIMER3と32ビットの変数(freq)を組み合わせ、周波数をカウントする。TIMER3でオーバーフローが発生する都度に、freq変数をインクリメント(+1)する。測定完了後に次式により周波数を求める。 |
| - | 都度に、freq変数をインクリメント(+1)する。測定完了後に次式により周波数を求める。 | + | freq=(freq×65536)+(TMR3H×256)+TMR3L |
| - | freq=(freq×65536)+(TMR3H×256)+TMR3L | + | |
| ===== 回路図 ===== | ===== 回路図 ===== | ||
| 行 267: | 行 263: | ||
| 如何ですか? | 如何ですか? | ||
| - | ハードもソフトも、かなりシンプルに仕上がりましたね。{^_^}! | + | ハードもソフトも、かなりシンプルに仕上がりましたね。^_^ |
| + | |||
| + | <callout type=" | ||
| + | このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby: | ||
| + | This page is a copy of Mr. Inasaki' | ||
| + | </ | ||