山本ワールド
PIC18 TIMER0計算
タイマー0概要
カウントレジスタ:8/16bitアップカウント
クロック源:FOSC/4及び外部クロックを選択可能
カウント値がオーバーフローすると割り込み発生可能
プリスケーラ: 2 4 8 16 32 64 128 256
カウント値はTMR0L,TMR0Hレジスタに書き込むことにより設定
スリープモード時はカウント動作しない
カウント値を0~0xffffか0~0xff以外で周期動作させるにはオーバーフロー発生時にカウント値をソフトウェアで設定する必要がある。
クロック源:FOSC/4及び外部クロックを選択可能
カウント値がオーバーフローすると割り込み発生可能
プリスケーラ: 2 4 8 16 32 64 128 256
カウント値はTMR0L,TMR0Hレジスタに書き込むことにより設定
スリープモード時はカウント動作しない
カウント値を0~0xffffか0~0xff以外で周期動作させるにはオーバーフロー発生時にカウント値をソフトウェアで設定する必要がある。
クロックよりTMR0L,TMR0Hレジスタの設定値の計算例
JavascriptによりTMR0レジスタの値により任意の周波数で周期割り込みを発生させる場合の設定例を計算する
プリスケーラ(p) | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
目標周波数 f=1/t |
|||||||||
目標分周比 d=CLK/f |
|||||||||
分周比(dp=d/p) | |||||||||
8bit/16bit | |||||||||
TMR計算式 | |||||||||
TMR0L | |||||||||
TMR0H | |||||||||
TMR0H:TMR0L | |||||||||
出力周波数 | |||||||||
誤差(%) |
タイマー設定例(入力条件よりXC8向けソースを表示)
条件入力
XC8 Cコンパイラ向けのサンプルソース
Copyright (C) 2012 山本ワールド All Rights Reserved.