12F629 / プリスケーラ


差分表示

  • 最後の更新で追加された行はこのように表示します。
  • 最後の更新で削除された行はこのように表示します。

RCS information

head: 1.2
branch:
locks: strict
 wiki: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
----------------------------
revision 1.2 locked by: wiki;
date: 2005-12-03 15:57:13+09;  author: wiki;  state: Exp;  lines: +45 -7
Modified by 61.195.23.220(PPPax470.aichi-ip.dti.ne.jp)
----------------------------
revision 1.1
date: 2005-12-03 15:45:17+09;  author: wiki;  state: Exp;
Created by 61.195.23.220(PPPax470.aichi-ip.dti.ne.jp)
----------------------------

diff revision 1.1 -> 1.2

--- 12F629/プリスケーラ.txt 2005-12-03 15:45:17+09 1.1
+++ 12F629/プリスケーラ.txt 2005-12-03 15:57:13+09 1.2
@@ -1,16 +1,54 @@
 メモです。
 
- PSA プリスケーラを TMR0 に使用する
- PS2 プリスケーラ設定 PS2 PS1 PS0 分周比    PS2 PS1 PS0 分周比
- PS1                   0   0   0   2         1   0   0   32
- PS0                   0   0   1   4         1   0   1   64
-                       0   1   0   8         1   1   0   128
-                       0   1   1   16        1   1   1   256
+bit 3   PSA: プリスケーラ用途指定ビット
+
+-1 = プリスケーラを WDT に割り当てる
+-0 = プリスケーラを TIMER0 に割り当てる
+
+bit 2-0 PS2:PS0: プリスケーラ分周比選択ビット
+
+,値,TMR0 分周比,WDT 分周比
+,000,1 : 2,1 : 1
+,001,1 : 4,1 : 2
+,010,1 : 8,1 : 4
+,011,1 : 16,1 : 8
+,100,1 : 32,1 : 16
+,101,1 : 64,1 : 32
+,110,1 : 128,1 : 64
+,111,1 : 256,1 : 128
 
 ----
 
 4.4.1 プリスケーラの設定切り替え_
 
-プリスケーラの設定はすべてソフトウェア的に行います。Timer0からWDTへプリスケーラの割り当てを変える場合、以下の命令順序(例 4-1)で実行すれば、意図しないデバイスリセットを避けられます。
+プリスケーラの設定はすべてソフトウェア的に行います(プログラム実行中にチャチャっと変更できます)。Timer0からWDTへプリスケーラの割り当てを変える場合、以下の命令順序(例 4-1)で実行すれば、意図しないデバイスリセットを避けられます。
 
 逆に、WDTからTimer0へプリスケーラの割り当てを変える場合、以下の命令順序(例 4-2)を使用します。例えWDTが無効にしてあっても、この方法を利用すべきです。
+
+EXAMPLE 4-1: CHANGING PRESCALER
+(TIMER0→WDT)
+
+ bcf    STATUS,RP0    ;Bank 0
+ clrwdt               ;Clear WDT
+ clrf   TMR0          ;Clear TMR0 and
+                      ; prescaler
+ bsf    STATUS,RP0    ;Bank 1
+ movlw  b’00101111’ ;Required if desired
+ movwf  OPTION_REG    ; PS2:PS0 is
+ clrwdt               ; 000 or 001
+                      ;
+ movlw  b’00101xxx’ ;Set postscaler to
+ movwf  OPTION_REG    ; desired WDT rate
+ bcf    STATUS,RP0    ;Bank 0
+
+EXAMPLE 4-2: CHANGING PRESCALER
+(WDT→TIMER0)
+
+ clrwdt               ;Clear WDT and
+                      ; postscaler
+ bsf    STATUS,RP0    ;Bank 1
+ movlw  b’xxxx0xxx’ ;Select TMR0,
+                      ; prescale, and
+                      ; clock source
+ movwf  OPTION_REG    ;
+ bcf    STATUS,RP0    ;Bank 0

ナビゲーション

プロフィール

Photo Hondarer  My status

自分に正直に、目指す物を目指すかたちで、全ての人が幸せになれるシステムを削り出す職人でありたい。

Powered by
HndWiki 021242