18Fでのタイマ1の計算(16ビットタイマ)

M

M3GAPL3X

Guest
こんにちはみんな、私は私のコードで私のメイン発振器の31 kHzの内部オシレータ、低電力を使用してことを考えています。私は睡眠までをxミリ秒からPICをウェイクアップタイマー1を使用することになります。私が持っている疑問は、何TMR1HとTMR1Lの値は、割り込みごとに行われるようになるはず、10ミリ秒を言う?任意のヒントをいただければ幸いです。
 
すげえ!まず正確なタイマーの発振周期を確認する必要があります...デバイスがスリープしている間この内部発振器とタイマのクロックが動作するかどうかも確認...その後... T_timer = 4 / F_osc言う:その31000Hzは(私の知る限り覚えて...これを確認する必要があります...)T_timer = 129,0322たちTIMER_COUNT = T_req / T_timer T_req = 10msのあなたのタイマーができなかったとしてはTIMER_COUNT = 77.5を満足しててDecimalを使ったカウント...それは77または78でなければなりません...見てみましょう...私は77を選ぶよ...それはあなただけタイマ割り込みを使用することを計画している場合はタイマーが10msの(時間は約)を得るために77回(129usの)カウントする必要があります、ということです...私はMAX - 77 + 1に設定さそうなら、それは正確に後MINに取得する77のカウントの後、それはそれが分(0000H)にフォームMAX(FFFFH)をロールオーバーしたときに発生フラグTMR1IFを設定しますので、それを設定する必要があります。 77カウント...そうTMR1 H:L = MAX -77 +1 = 65459 = FFB3 TMR1H = FFhにTMR1L = B3Hが完了!私はキャプチャを使用する/モジュールを比較することをお勧め... (特殊なトリガーと比較)はタイマーをクリア(TMR! H:L = 0)必要があり、CCP1H設定:L〜77簡単に!すべてのこのようなものは、使用するplanniなPICのデータシートには...詳細はそれを確認してください...
 
感謝Kurenai_ryu!私はこの明日の朝試してみて、それが行く方法を紹介します。
 

Welcome to EDABoard.com

Sponsor

Back
Top