- 締切済み
PIC(16F84A)を使用しての250Hz以上の周波数判定について
- PIC(16F84A)を使用して外部からの信号(方形波)周波数を判定するプログラムを組みましたが、200Hz以上の周波数でLEDが正しく点滅しない不具合が発生しています。
- 問題の原因として、PICの処理速度が追いつかず、不安定な動作を引き起こしている可能性が考えられます。
- 対策としては、より高速なPICを使用するか、外部クロックを追加して処理速度を向上させることが挙げられます。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
毎度JOです。 前回投稿の続きでしょうか? http://mori.nc-net.or.jp/EokpControl?&tid=196044&event=QE0004 Cでプログラムされていますか? http://mori.nc-net.or.jp/EokpControl?&tid=192825&event=QE0004 100Hzでは判定出来るようですので、今回の場合 問題を切り分ける必要があります、 100Hzに於いて 1)100Hz以上の判定 2)ポートRA2の状態をRB0に反映させる と言うような処理をさせているなら、1)が正確に行われているかを先ず確認しましょう、 1)100Hz以上を確認したら(例えばですが)RB1をHIとする 100Hz以下ならRBをLOとする この状態で入力周波数を変化させ、オシロでRB1を確認すれば、100Hzの判定が正しく行われているか確認できます 当然の事ですが100Hz以上でRB1は変化してはいけません、このあたりも含めて検討されては??
>ある周波数以上であればRA2への入力信号がHiの時にRB0からHiを出力、Lowの時には出力しないというプログラムを組み ?どのような考え方(アルゴリズム)で周波数を判定するプログラムでしょうか。 ?前のご質問を参照すると,そのプログラムは100Hzを閾値として, 100Hz以下と,100Hz以上を検出するものと想像します。 100Hzを少し超える周波数を入力すると所望の判定を行うが,200Hz 付近の周波数を入力すると今回記載された状態になると言うことですか? ?前項の通りの状況であれば,100Hzから200Hzの中間の周波数での 挙動は如何ですか,また200Hzを超える周波数での挙動は如何ですか? (200Hz付近ピンポイントの不審な動作かどうか) ??項の質問の補足ですが,組んだプログラムの設計上の周波数分解能はどの 程度ですか?もう少し具体的に言うと,95Hz以下では周波数<低>と判定し 105Hz以上では周波数<高>と判定,その間の周波数では判定は定まらない のような性質があろうかと想像しますが,判定が定まらない周波数の幅(ある いはその逆数の時間の幅)は,プログラム設計上いくらになっているのでしょうか? 質問ばかりで済みません。宜しくお願いします。