UP

(周波数)カウンタを作る

カウンタ

機能

PC4に入力されたパルスを1秒または10秒間カウントするという単純なもの。 カウンタは16bit(65535まで)。 青ボタンを押すとカウント時間が交互に1秒と10秒に切り替わる。 10秒時には一番下の液晶バーが表示される。カウントが更新されるごとに 下から2番目の液晶バーがON/OFFする。

ハードウェア

実際には負の小パルスを数えたかったので入力段は こんな感じのを作ったが3.3Vロジックのパルスなら 直接PC4に入れるだけで作るものはない。

プログラム概要

PC4の立ち上がりでカウント用変数をカウントアップ、 RTC WAKEUPによる1秒ごとの割り込みでカウント用変数を退避、リセットし 更新フラグ用変数をセット。メインのループでは更新フラグを監視、 セットされていたら退避されたカウント数をLCDに表示、更新フラグをリセット (1秒の場合)。
discoveryではシステムクロックは内部発振、RTCは外部Xtalで作られて いるのでシステムクロックの分周ではなくRTCによる割り込みを使ったほうが 正確。



プロジェクト一式(zipファイル)mcount.zip


2012.02
mm@ils.uec.ac.jp