5.11.10 プログラマブルタイマの制御方法 表5.11.10.1にプログラマブルタイマの制御ビットを示します。      表5.11.10.1(a) プログラマブルタイマの制御ビット アドレス ビット 名称    機 能 1  0  SR R/W 注釈 00FF30 D7 - - - - - 読み出し D6 - - - - - 時は D5 - - - - - 常時"0" D4 MODEL16 8/16ビットモード選択 16ビット8ビット 0 R/W X1 X2 D3 CHSEL TOUT出力チャンネル選択 タイマ1 タイマ0 0 R/W D2 PTOUT TOUT出力制御 On Off 0 R/W D1 CKSEL1 プリスケーラ1原振クロック選択 fosc3 fosc1 0 R/W D0 CKSEL0 プリスケーラ0原振クロック選択 fosc3 fosc1 0 R/W 00FF31 D7 EVCNT タイマ0カウンタモード選択 イベント タイマ 0 R/W カウンタ D6 FCSEL タイマ0 タイマモード時 パルス幅通常 0 R/W 機能選択 測定 モード イベントカウンタ ノイズリ ノイズリ モード時 ジェクタ ジェクタ 付き なし D5 PLPOL タイマ0 イベントカウンタ K10 K10 0 R/W パルス モードのダウン 入力 入力 極性選択 カウントタイミング の の 立ち 立ち 上がり下がり パルス幅測定 K10 K10 モード時 入力 入力 のHighのLow レベル幅レベル幅                  測定 測定 D4 PSC01 タイマ0プリスケーラ分周比選択 0 R/W PSC01 PSC00 プリスケーラ 分周比 1 1 原振クロック/64 D3 PSC00 1 0 原振クロック/16 0 R/W 0 1 原振クロック/4 0 0 原振クロック/1 D2 CONT0 タイマ0連続/ワンショットモード選択 連続 ワンショット0 R/W D1 PSET0 タイマ0プリセット プリセット 無効 - W 読み出し 時は"0" D0 PRUN0 タイマ0 Run/Stop制御 Run Stop 0 R/W 00FF32 D7 - - - - - 読み出し D6 - - - - - 時は D5 - - - - - 常時"0" D4 PSC11 タイマ1プリスケーラ分周比選択 0 R/W PSC11 PSC10 プリスケーラ 分周比 1 1 原振クロック/64 D3 PSC10 1 0 原振クロック/16 0 R/W 0 1 原振クロック/4 0 0 原振クロック/1 D2 CONT1 タイマ1連続/ワンショットモード選択 連続 ワンショット0 R/W D1 PSET1 タイマ1プリセット プリセット 無効 - W 読み出し 時は"0" D0 PRUN1 タイマ1Run/Stop 制御 Run Stop 0 R/W 00FF33 D7 RLD07 タイマ0リロードデータD7(MSB) D6 RLD06 タイマ0リロードデータD6 D5 RLD05 タイマ0リロードデータD5 D4 RLD04 タイマ0リロードデータD4 High Low 1 R/W D3 RLD03 タイマ0リロードデータD3 D2 RLD02 タイマ0リロードデータD2 D1 RLD01 タイマ0リロードデータD1 D0 RLD00 タイマ0リロードデータD0(LSB) 00FF34 D7 RLD17 タイマ1リロードデータD7(MSB) D6 RLD16 タイマ1リロードデータD6 D5 RLD15 タイマ1リロードデータD5 D4 RLD14 タイマ1リロードデータD4 High Low 1 R/W D3 RLD13 タイマ1リロードデータD3 D2 RLD12 タイマ1リロードデータD2 D1 RLD11 タイマ1リロードデータD1 D0 RLD10 タイマ1リロードデータD0(LSB) 00FF35 D7 PTD07 タイマ0カウンタデータD7(MSB) D6 PTD06 タイマ0カウンタデータD6 D5 PTD05 タイマ0カウンタデータD5 D4 PTD04 タイマ0カウンタデータD4 High Low 1 R D3 PTD03 タイマ0カウンタデータD3 D2 PTD02 タイマ0カウンタデータD2 D1 PTD01 タイマ0カウンタデータD1 D0 PTD00 タイマ0カウンタデータD0(LSB) 00FF36 D7 PTD17 タイマ1カウンタデータD7(MSB) D6 PTD16 タイマ1カウンタデータD6 D5 PTD15 タイマ1カウンタデータD5 D4 PTD14 タイマ1カウンタデータD4 High Low 1 R D3 PTD13 タイマ1カウンタデータD3 D2 PTD12 タイマ1カウンタデータD2 D1 PTD11 タイマ1カウンタデータD1 D0 PTD10 タイマ1カウンタデータD0(LSB) 00FF21 D7 - - - - - 読み出し D6 - - - - - 時は D5 - - - - - 常時"0" 常時"0" D4 - - - - - D3 PPT1 プログラマブルタイマ割り込み D2 PPT0 プライオリティレジスタ D1 PK11 K10,K11割り込み D0 PK10 プライオリティレジスタ 00FF23 D7 EPT1 プログラマブルタイマ1割り込み イネーブルレジスタ D6 EPT0 プログラマブルタイマ0割り込み イネーブルレジスタ D5 EK1 K10,K11割り込み イネーブルレジスタ D4 EK0H K04〜K07割り込み 割り 割り イネーブルレジスタ 込み 込み 0 R/W D3 EK0L K00〜K03割り込み 許可 禁止 イネーブルレジスタ D2 ESERR シリアルI/F(エラー)割り込み イネーブルレジスタ D1 ESREC シリアルI/F(受信)割り込み イネーブルレジスタ D0 ESTRA シリアルI/F(送信)割り込み イネーブルレジスタ 00FF25 D7 FPT1 プログラマブルタイマ1割り込み 要因フラグ D6 FPT0 プログラマブルタイマ0割り込み (R) (R) 要因フラグ 割り 割り D5 FK1 K10,K11割り込み 込み 込み 要因フラグ 要因 要因 D4 FK0H K04〜K07割り込み あり なし 要因フラグ D3 FK0L K00〜K03割り込み 0 R/W 要因フラグ D2 FSERR シリアルI/F(エラー)割り込み (W) (W) 要因フラグ リセット 無効 D1 FSREC シリアルI/F(受信)割り込み 要因フラグ D0 FSTRA シリアルI/F(送信)割り込み 要因フラグ MODE16: 00FF30H・D4 8/16ビットモードを選択します。  "1"書き込み: 16ビット×1チャンネル  "0"書き込み:  8ビット×2チャンネル 読み出し: 可能 タイマ0とタイマ1を独立した2チャンネルの8ビットタイマとして使用するか、組み合わせ た1チャンネルの16ビットタイマとして使用するかを選択します。MODE16に"0"を書き込ん だ場合は8ビット×2チャンネル、"1"を書き込んだ場合は16ビット×1チャンネルがそれぞ れ選択されます。 イニシャルリセット時、MODE16は"0"(8ビット×2チャンネル)に設定されます。 CKSEL0,CKSEL1: 00FF30H・D0,D1 プリスケーラの原振クロックを選択します。  "1"書き込み: OSC3クロック  "0"書き込み: OSC1クロック 読み出し: 可能 プリスケーラの原振クロックをOSC1とするかOSC3とするかを選択します。CKSEL0に"0"を 書き込んだ場合はOSC1、"1"を書き込んだ場合はOSC3がそれぞれ選択されます。 同様に、プリスケーラ1の原振クロックがCKSEL1によって選択されます。 なお、イベントカウンタモードを選択している場合はCKSEL0の設定は無効となります。ま た、同様に16ビットモードではCKSEL1の設定が無効となります。 イニシャルリセット時、本レジスタはそれぞれ"0"(OSC1クロック)に設定されます。 PSC00,PSC01: 00FF31H・D3,D4 PSC10,PSC11: 00FF32H・D3,D4 プリスケーラの分周比を選択します。 PSC00、PSC01の2ビットはタイマ0に対応したプリスケーラ分周比選択レジスタで、PSC10 PSC11の2ビットは同様にタイマ1に対応しています。 本レジスタによって設定できるプリスケーラの分周比は表5.11.10.2のとおりです。 表5.11.10.2 プリスケーラ分周比の選択 PSC11 PSC10 PSC01 PSC00 プリスケーラ分周比 1 1 入力クロック/64 1 0 入力クロック/16 0 1 入力クロック/ 4 0 0 入力クロック/ 1 なお、イベントカウンタモードを選択している場合はPSC00、PSC01の設定は無効となりま す。また、同様に16ビットモードではPSC10、PSC11の設定が無効となります。 イニシャルリセット時、本レジスタはそれぞれ"0"(入力クロック/1)に設定されます。 EVCNT: 00FF31H・D7 タイマ0のカウンタモードを選択します。  "1"書き込み: イベントカウンタモード  "0"書き込み: タイマモード 読み出し: 可能 タイマ0をイベントカウンタとして使用するか、タイマとして使用するかを選択します。 EVCNTに"1"を書き込んだ場合はイベントカウンタモード、"0"を書き込んだ場合はタイマ モードがそれぞれ選択されます。 イニシャルリセット時、EVCNTは"0"(タイマモード)に設定されます。 FCSEL: 00FF31H・D6 タイマ0の各カウンタモードに対する機能の選択を行います。 ・タイマモード時  "1"書き込み: パルス幅測定タイマモード  "0"書き込み: 通常モード 読み出し: 可能 タイマモードでは、タイマ0をパルス幅測定タイマとして使用するか、通常のタイマとし て使用するかを選択します。 FCSELに"1"を書き込んだ場合はパルス幅測定タイマモードが選択され、K10入力ポート端 子に入力される信号(EVIN)のレベルにしたがってカウントが行われます。また、FCSELに" 0"を書き込んだ場合は通常モードが選択されK10ポート端子の影響を受けずにカウントが 行われます。 イニシャルリセット時、EVCNTは"0"(タイマモード)に設定されます。 ・イベントカウンタモード時  "1"書き込み: ノイズリジェクト付  "0"書き込み: ノイズリジェクトなし 読み出し: 可能 イベントカウンタモードでは、K10ポート端子に対してノイズリジェクタを付加するかし ないかを選択します。 FCSELに"1"を書き込んだ場合はノイズリジェクタが付加され、0.98msec以上のパルス幅の 外部クロック(EVIN)によってカウントが行われます。(ノイズリジェクタは、K10入力ポー ト端子の入力レベルが変化してから2度目の内部2,048Hz信号の立ち下がりエッジにて、カ ウンタへのクロック供給を許可します。したがって、確実に除去できるパルス幅は0.48ms ecとなります。) また、FCSELに"0"を書き込んだ場合はノイズリジェクタは付加されず、K10入力ポート端 子に入力される外部クロック(EVIN)によって直接カウントされます。 イニシャルリセット時、FCSELは"0"に設定されます。 PLPOL: 00FF31H・D5 K10入力ポート端子のパルス極性を選択します。 ・イベントカウンタモード時  "1"書き込み: 立ち上がりエッジ  "0"書き込み: 立ち下がりエッジ 読み出し: 可能 イベントカウンタモードでは、カウンタのタイミングをK10入力ポート端子に入力される 外部クロック(EVIN)の立ち下がりエッジとするか、立ち上がりエッジとするかを選択しま す。 PLPOLに"1"を書き込んだ場合は立ち下がりエッジ、"0"を書き込んだ場合は立ち上がりエ ッジがそれぞれ選択されます。 ・パルス幅測定タイマモード時  "1"書き込み: HIGHレベル幅測定  "0"書き込み: LOWレベル幅測定 読み出し: 可能 パルス幅測定タイマモード時では、K10入力ポート端子に入力される信号(EVIN)のLOWレベ ル幅を測定するか、HIGHレベル幅を測定するかを選択します。 PLPOLに"1"を書き込んだ場合はLOWレベル幅測定、"0"を書き込んだ場合はHIGHレベル幅測 定がそれぞれ選択されます。 なお、通常モード(EVCNT=FCSEL="0")ではPLPOLの設定は無効となります。 イニシャルリセット時、PLPOLは"0"に設定されます。 CONT0,CONT1: 00FF31H・D2,00FF32H・D2 連続/ワンショットモードを選択します。  "1"書き込み: 連続モード  "0"書き込み: ワンショットモード 読み出し: 可能 タイマ0を連続モードで使用するかワンショットモードで使用するかを選択します。 CONT0に"0"を書き込んだ場合は連続モードが選択され、カウンタのアンダーフロー発生時 に初期値をリロードしてカウントを継続します。 また、CONT0に"1"を書き込んだ場合はワンショットモードが選択され、カウンタのアンダ ーフロー発生時に初期値をリロードしてカウントを停止します。 同様に、タイマ1の連続/ワンショットモードがCONT1によって選択されます。 なお、イベントカウンタモードを選択している場合はCKSEL0の設定は無効となります。ま た、同様に16ビットモードではCKSEL1の設定が無効となります。 イニシャルリセット時、本レジスタはそれぞれ"0"(OSC1クロック)に設定されます。(タイ マ1のワンショットモードでは、カウンタのアンダーフロー発生時にPRUN1が自動的にリセ ットされます。 イニシャルリセット時、本レジスタはそれぞれ"0"(ワンショットモード)に設定されます。 RLD00〜RLD07: 00FF33H RLD10〜RLD17: 00FF34H カウンタの初期値を設定します。  RLD00〜RLD07: タイマ0リロードデータ  RLD10〜RLD17: タイマ1リロードデータ 本レジスタに設定したリロードデータがそれぞれのカウンタにロードされ、それを初期値 としてダウンカウントが行われます。 リロードデータがカウンタにろーどされる条件はPSET0、PSET1に"1"を書き込んでプリセ ットを行う場合と、カウンタのアンダーフローによって自動的にリロードが行われる場合 です。 イニシャルリセット時、本レジスタはそれぞれ"FFH"に設定されます。 PTD00〜PTD07: 00FF35H PTD10〜PTD17: 00FF36H プログラマブルタイマのデータが読み出せます。  PTD00〜PTD07: タイマ0カウンタデータ  PTD10〜PTD17: タイマ1カウンタデータ 本ビットは読み出し時にカウンタのデータが保持されるバッファとなっており、データは 任意のタイミングで読み出しが可能です。ただし、16ビットモードでは読み出しエラー( PTD00〜PTD07とPTD10〜PTD17の読み出し途中に、タイマ0からタイマ1へのボローが発生し た場合のデータエラー)を回避するため、PTD10〜PTD17はPTD00〜PTD07の読み出しによっ てタイマ1のカウンタデータをラッチします。 PTD10〜 PTD17のラッチ状態はPTD10〜PTD17の読み出し、または0.73msec〜1.22msec(読み 出しのタイミングにより異なる)の時間経過によって解除されます。したがって、16ビッ トモードではPTD00〜PTD07、PTD10〜PTD17の順でカウンタデータの読み出しを行ってくだ さい。 本ビットは読み出し専用のため、書き込み動作は無効となります。 イニシャルリセット時、本レジスタはそれぞれ"FFH"に設定されます。 PSET0,PSET1: 00FF31H・D1,00FF32H・D1 リロードデータをカウンタにプリセットします。  "1"書き込み: プリセット  "0"書き込み: ノーオペレーション 読み出し: 常時"0" PSET0に"1"を書き込むことによって、PLD00〜PLD07のリロードデータがタイマ0のカウン タにプリセットされます。タイマ0のカウンタがRUN状態のときにプリセットを行うとリロ ードデータのプリセット直後にリスタートします。 また、STOP状態の場合はプリセットされたリロードデータがそのまま保持されます。 "0"の書き込みはノーオペレーションとなります。 同様に、PLD10〜PLD17のリロードデータがPSET1によってタイマ1のカウンタにプリセット されます。 なお、16ビットモードを選択している場合はPSET1への"1"書き込みは無効となります。 本ビットは書き込み専用のため、読み出しは常時"0"となります。 PRUN0,PRUN1: 00FF31H・D0,00FF32H・D0 カウンタのRUN/STOPを制御します。  "1"書き込み: RUN  "0"書き込み: STOP 読み出し: 可能 タイマ0のカウンタはPRUN0に"1"を書き込むことによってダウンカウントを開始し、"0"の 書き込みにより停止します。 STOP状態ではプリセットか次にRUN状態にするまで、カウンタのデータは保持されます。 また、STOP状態からRUN状態にすることによって、保持していたデータから継続してカウ ントを進めることができます。 同様に、タイマ1のカウンタがPRUN1によってRUN/STOP制御されます。 なお、16ビットモードを選択している場合はPRUN1は"0"に固定されます。 イニシャルリセット時、およびワンショットモードにおいてアンダーフローが発生したと き、本レジスタはそれぞれ"0"(STOP)に設定されます。 CHSEL: 00FF30H・D3 TOUT信号のチャンネルを選択します。  "1"書き込み: タイマ0アンダーフロー  "0"書き込み: タイマ1アンダーフロー 読み出し: 可能 TOUT信号にタイマ0のアンダーフローを使用するか、タイマ1のアンダーフローを使用する かを選択します。CHSELに"0"を書き込んだ場合はタイマ0、"1"を書き込んだ場合はタイマ 1がそれぞれ選択されます。 なお、16ビットモードを選択している場合はタイマ1(16ビットタイマのアンダーフロー) 固定となり、CHSELの設定は無効となります。 イニシャルリセット時、CHSELは"0"(タイマ1アンダーフロー)に設定されます。 PTOUT: 00FF30H・D2 TOUT信号の出力制御を行います。  "1"書き込み: TOUT信号出力  "0"書き込み: HIGHレベル(DC)出力 読み出し: 可能 PTOUTはTOUT信号の出力制御レジスタで、"1"を設定するとTOUT信号がR27出力ポート端子 から出力され、"0"を設定するとHIGHレベル(VDD)が出力されます。このとき、データレジ スタR27Dには常時"1"が設定されている必要があります。 イニシャルリセット時、PTOUTは"0"(HIGHレベル出力)に設定されます。 PPT0,PPT1: 00FF21H・D2,D3 プログラマブルタイマ割り込みの優先レベルを設定します。 PPT0、PPT1はプログラマブルタイマ割り込みに対応した割り込みプライオリティレジスタ で、設定できる割り込み優先レベルは表5.11.10.3のとおりです。 表5.11.10.3 割り込み優先レベルの設定 PPT1 PPT0 割り込み優先レベル 1 1 レベル3(IRQ3) 1 0 レベル2(IRQ2) 0 1 レベル1(IRQ1) 0 0 レベル0(なし) イニシャルリセット時、本レジスタは"0"(レベル0)に設定されます。 EPT0,EPT1: 00FF23H・D6,D7 CPUに対する割り込みの発生を許可または禁止します。  "1"書き込み: 割り込み許可  "0"書き込み: 割り込み禁止 読み出し: 可能 EPT0、EPT1はそれぞれタイマ0、タイマ1の割り込み要因に対応する割り込みイネーブルレ ジスタで、"1"に設定した割り込みが許可され、"0"に設定した割り込みが禁止されます。 なお、16ビットモードを選択している場合はEPT0の設定は無効となります。 イニシャルリセット時、本レジスタはそれぞれ"0"(割り込み禁止)に設定されます。 FPT0,FPT1: 00FF25H・D6,D7 プログラマブルタイマ割り込みの発生状態を示します。  "1"読み出し: 割り込み要因あり  "0"読み出し: 割り込み要因なし "1"書き込み: 要因フラグをリセット "0"書き込み: 無効 FPT0、FPT1はそれぞれタイマ0、タイマ1の割り込み要因に対応する割り込み要因フラグで それぞれのカウンタのアンダーフローに同期して"1"にセットされます。 このとき、対応する割り込みイネーブルレジスタが"1"で、かつたいおうする割り込みプ ライオリティレジスタがインタラプトフラグ(I0、I1)より高いレベルに設定されている場 合、CPUに対し割り込みが発生します。 割り込み要因フラグは割り込みイネーブルレジスタや割り込みプライオリティレジスタの 設定にかかわらず、割り込み発生条件の成立により"1"にセットされます。 割り込み発生後、次の割り込みを受け付けるには、インタラプトフラグの再設定(割り込 みプライオリティレジスタが示す低いレベルをインタラプトフラグにせっていするか、 RETE命令を実行する。)と割り込み要因フラグは"1"を書き込むことによって"0"にリセッ トされます。 なお、16ビットモードを選択している場合は割り込み要因フラグFPT0は"1"にセットされ ず、タイマ0の割り込みも発生しません。(16ビットモード時は、16ビットカウンタのアン ダーフローによって割り込み要因フラグFPT1が"1"にセットされます。 イニシャルリセット時、本フラグはそれぞれ"0"にリセットされます。