新製品の紹介(プチ連載です)
周波数カウンタ組立キット
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
たまにはちょいと息抜きで小品も作ってみたいものです。
簡単にチョイチョイと…。
でも、なかなかそうは簡単にはいかなくて、いつものごとく回を重ねてしまうことになるのかも…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第5回]
●Compare mode
Timer1レジスタをパルス発生器として利用するために、CCP1レジスタのCompare modeを使うことを考えました。
Timer1にシステムクロックを入力して、それをカウントさせます。
Timer1の値がある設定値になったら割り込みを発生させるとともにカウンタをクリアする機能があれば、それを使うことで任意の周波数のパルスを発生させることができます。
CCP1レジスタのCompare modeはCCPR1レジスタをTimer1の設定値レジスタとして使います。
Timer1の値がCCPR1の設定値に一致するとSpecial event triggerが発生し、CCP1IFフラグ(割込みフラグ)がONになり、Timer1がリセットされます。
[出典]Microchip Technology Inc.PIC16F628A Data Sheet
なるほど。
これは使える。
ということで、私はその機能を単純に下の図のような動作として理解してしまいました。
図では簡単にするためCCPR1に4をセットした場合として考えています。
Timer1にパルスが入力されるたびにカウントアップされ、CCPR1と一致すると割込み(下側の信号)が発生するとともにTimer1がクリアされ、それが繰り返される、と考えました。
ところがそれが違っていたのです。
説明の途中ですが、本日も時間がなくなってしまいました。
次回に続きます。
周波数カウンタ組立キット[第5回]
2015.9.22upload
前へ
次へ
ホームページトップへ戻る