4.8 ストップウォッチタイマ
4.8.8 ストップウォッチタイマのI/Oメモリ
表4.8.8.1にストップウォッチタイマの制御ビットとそのアドレスを示します。
表4.8.8.1 ストップウォッチタイマの制御ビット
アドレス 注 釈
D3 D2
レジスタ
D1 D0 Name Init ∗1 1 0
FF16H
MDCKE SGCKE SWCKE RTCKE R/W
MDCKE SGCKE SWCKE RTCKE
0 0 0 0
Enable Enable Enable Enable
Disable Disable Disable Disable
乗除算クロックイネーブル
サウンドジェネレータクロックイネーブル ストップウォッチタイマクロックイネーブル 計時タイマクロックイネーブル
FF48H
0 なし
1 P12
2 P12~13
3 P12~13,40 [DKM2~0]
キーマスク 4 P40
5 P40~41
6 P40~42
7 P40~43 [DKM2~0]
キーマスク
R R/W
FF49H
0 DKM2 DKM1 DKM0 0 ∗3 DKM2 DKM1 DKM0
– ∗2 0 0 0
未使用 キーマスク 選択
R/W W
R FF4AH
LCURF CRNWF SWRUN SWRST LCURF CRNWF SWRUN SWRST∗3
0 0 0 Reset
Request Renewal Run Reset
No No Stop Invalid
ラップデータ桁上げ要求フラグ キャプチャ更新フラグ ストップウォッチタイマRun/Stop
ストップウォッチタイマリセット(書き込み時)
SWD7 SWD6 SWD5 SWD4
0 0 0 0
ストップウォッチタイマデータ BCD(1/100sec)
R FF4CH
SWD7 SWD6 SWD5 SWD4
SWD11 SWD10 SWD9 SWD8
0 0 0 0
ストップウォッチタイマデータ BCD(1/10sec)
R FF4DH
SWD11 SWD10 SWD9 SWD8 R
FF4BH
SWD3 SWD2 SWD1 SWD0 SWD3 SWD2 SWD1 SWD0
0 0 0 0
ストップウォッチタイマデータ BCD(1/1000sec)
0 0 SWDIR EDIR
R R/W
0 ∗3 0 ∗3 SWDIR
EDIR – ∗2 – ∗2 0
0 Enable Disable 未使用 未使用
ストップウォッチダイレクト入力切り換え
0: P10=Run/Stop, P11=Lap 1: P10=Lap, P11=Run/Stop ダイレクト入力イネーブル
FFEDH
EIRUN EILAP EISW1 EISW10
R/W
EIRUN EILAP EISW1 EISW10
0 0 0 0
Enable Enable Enable Enable
Mask Mask Mask Mask
割り込みマスクレジスタ(SWダイレクトRUN) 割り込みマスクレジスタ(SWダイレクトLAP) 割り込みマスクレジスタ(ストップウォッチタイマ1Hz) 割り込みマスクレジスタ(ストップウォッチタイマ10Hz)
FFFDH
IRUN ILAP ISW1 ISW10
R/W
IRUN ILAP ISW1 ISW10
0 0 0 0
(R) Yes (W) Reset
(R) No (W) Invalid
割り込み要因フラグ(SWダイレクトRUN) 割り込み要因フラグ(SWダイレクトLAP) 割り込み要因フラグ(ストップウォッチタイマ1Hz) 割り込み要因フラグ(ストップウォッチタイマ10Hz)
*1 イニシャルリセット時の初期値
*2 回路上設定されない
*3 読み出し時は常時"0"
● SWCKE: ストップウォッチタイマクロックイネーブル (FF16H・D1)
ストップウォッチタイマクロックの供給を制御します。
"1"書き込み: ON
4 周辺回路と動作(ストップウォッチタイマ)
● EDIR: ダイレクト入力機能イネーブルレジスタ (FF48H・D0)
ダイレクト入力(RUN/LAP)機能を有効/無効に設定します。
"1"書き込み: 有効
"0"書き込み: 無効 読み出し: 可能
EDIRに"1"を書き込むことによりダイレクト入力機能が有効となり、外部キー入力によるRUN/STOP、LAPの 制御が行えます。"0"を書き込んだ場合はダイレクト入力機能が無効となり、ストップウォッチタイマはソフト ウェア制御となります。
なお、このレジスタにデータを書き込み後、実際の機能の切り換えはfOSC1/32(1,024Hz)の立ち下がりエッ ジに同期して(最大977µsec後に)行われます。
イニシャルリセット時、このレジスタは"0"に設定されます。
● SWDIR: ダイレクト入力切り換えレジスタ (FF48H・D1)
P10ポート、P11ポートのダイレクト入力割り付けを切り換えます。
"1"書き込み: P10 = LAP, P11 = RUN/STOP
"0"書き込み: P10 = RUN/STOP, P11 = LAP 読み出し: 可能
ダイレクト入力用のキー割り付けを行います。EDIRに"1"を書き込むことによりP10、P11ポートの入力が RUN、STOP、LAP入力としてストップウォッチに取り込まれます。
イニシャルリセット時、このレジスタは"0"に設定されます。
● DKM0〜DKM2: キーマスク選択 (FF49H・D0〜D2)
ダイレクト入力機能設定時にRUN、LAP入力との競合判定を行うキー入力の組み合わせを選択します。
表4.8.8.2 キーマスク選択 DKM0
0 1 0 1 0 1 0 1 DKM1
0 0 1 1 0 0 1 1 DKM2
0 0 0 0 1 1 1 1
競合判定組み合わせ なし(リセット時)
P12 P12, P13 P12, P13, P40
P40 P40, P41 P40, P41, P42 P40, P41, P42, P43
競合を検出した場合は、競合が解除されるまでRUN、LAP入力は受け付けられなくなります。
イニシャルリセット時、これらのレジスタは"0"に設定されます。
● SWRST: ストップウォッチタイマリセット (FF4AH・D0)
ストップウォッチタイマをリセットします。
"1"書き込み: ストップウォッチタイマリセット
"0"書き込み: ノーオペレーション 読み出し: 常時"0"
ストップウォッチタイマはSWRSTに"1"を書き込むことによりリセットされます。ストップウォッチタイマがRUN 状態でリセットを行うとリセット直後にリスタートします。また、STOP状態の場合はリセットデータがカウンタ に保持されます。
このリセットはキャプチャバッファに影響を与えませんので、ホールド状態のキャプチャバッファのデータは クリアされずにそのまま保持されます。
このビットは書き込み専用のため、読み出し時は常時"0"となります。
4 周辺回路と動作(ストップウォッチタイマ)
● SWRUN: ストップウォッチタイマRUN/STOP (FF4AH・D1)
ストップウォッチタイマのRUN/STOPの制御、および動作状態のモニタが行えます。
• 書き込み時
"1"書き込み: RUN
"0"書き込み: STOP
ストップウォッチタイマはSWRUNに"1"を書き込むことによりRUNし、"0"の書き込みによりSTOPします。
STOP状態ではリセットか次にRUN状態にするまで、タイマのデータは保持されます。また、STOP状態から RUN状態にすることにより保持していたデータから継続して、カウントを進めることができます。
このレジスタへの書き込みによるRUN/STOPの制御は、ダイレクト入力機能をディセーブルに設定してある 場合にのみ有効で、ダイレクト入力機能設定時は無効となります。
• 読み出し時
"1"読み出し: RUN
"0"読み出し: STOP
読み出しはダイレクト入力機能の設定にかかわらず有効で、ストップウォッチタイマがRUN状態の場合に
"1"、STOP状態で"0"となります。
イニシャルリセット時、このレジスタは"0"に設定されます。
● CRNWF: キャプチャ更新フラグ (FF4AH・D2)
キャプチャバッファの内容が更新されたことを示すフラグです。
"1"読み出し: 更新あり
"0"読み出し: 更新なし 書き込み: 無効
キャプチャバッファにホールドされたデータの読み出しが終了していない場合にLAP入力があると、キャプ チャバッファの内容が更新されます。その状態でSWD8〜11を読み出すとこのフラグが"1"にセットされ、さ らにホールド状態が継続されます。したがって、LAP入力によってホールドされたデータを読み出した場合 は、SWD8〜11の読み出しの後にこのフラグの読み出しを行ってデータが更新されていないか確認してく ださい。
このフラグはSWD8〜11の読み出し時に更新されます。
イニシャルリセット時、このフラグは"0"に設定されます。
● LCURF: ラップデータ桁上げ要求フラグ (FF4AH・D3)
データホールド時に発生している1sec桁への桁上げを示すフラグです。ダイレクト入力モード以外では無 効です。
"1"読み出し: 桁上げ要
"0"読み出し: 桁上げ不要 書き込み: 無効
割り込み要因フラグISW1が"1"にセットされている間に、キャプチャバッファがホールド状態に なるとLCURFが"1"にセットされ、ホールドされたデータが1sec桁への桁上げを必要としているこ とを示します。したがって、1Hzの割り込み処理よりもLAP入力などの処理を優先する場合には、
4 周辺回路と動作(ストップウォッチタイマ)
● SWD4〜SWD7: ストップウォッチタイマデータ1/100sec (FF4CH)
キャプチャバッファ1/100sec桁のデータ(BCD)が読み出せます。
この4ビットは読み出し専用のため、書き込み動作は無効となります。
イニシャルリセット時、タイマデータは"0"に設定されます。
● SWD8〜SWD11: ストップウォッチタイマデータ1/10sec (FF4DH)
キャプチャバッファ1/10sec桁のデータ(BCD)が読み出せます。
この4ビットは読み出し専用のため、書き込み動作は無効となります。
イニシャルリセット時、タイマデータは"0"に設定されます。
注: データの読み出しは必ず下位データ(SWD0〜3)から先に行ってください。
● EIRUN, EILAP, EISW1, EISW10: 割り込みマスクレジスタ (FFEDH)
ストップウォッチタイマの割り込みについて、マスクするかしないかを選択します。
"1"書き込み: イネーブル
"0"書き込み: マスク 読み出し: 可能
EIRUN、EILAP、EISW1、EISW10はそれぞれダイレクトRUN、ダイレクトLAP、1Hz、10Hzの割り込みに対応 した割り込みマスクレジスタで、これらの割り込みをマスクするかしないかを個別に選択できます。
イニシャルリセット時、これらのレジスタは"0"に設定されます。
● IRUN, ILAP, ISW1, ISW10: 割り込み要因フラグ (FFFDH)
ストップウォッチタイマ割り込みの発生状態を示すフラグです。
"1"読み出し: 割り込み有
"0"読み出し: 割り込み無
"1"書き込み: 要因フラグをリセット
"0"書き込み: 無効
割り込み要因フラグIRUN、ILAP、ISW1、ISW10はそれぞれダイレクトRUN、ダイレクトLAP、1Hz、10Hzの 割り込みに対応します。これらのフラグによってストップウォッチタイマ割り込みの有無を、ソフトウェアにより 判断することができます。これらのフラグは割り込みマスクレジスタの設定にかかわらず、対応する割り込 み要因の発生により"1"にセットされます。
これらのフラグは、"1"を書き込むことによって"0"にリセットされます。
割り込み発生後、割り込み要因フラグをリセットせずに割り込み許可(Iフラグ="1")に設定あるいはRETI命 令を実行すると再度同一の割り込みが発生してしまいます。したがって、割り込み処理ルーチン内では、割 り込み許可状態に移行する前に割り込み要因フラグのリセット("1"書き込み)を行ってください。
イニシャルリセット時、これらのフラグは"0"に設定されます。
4 周辺回路と動作(ストップウォッチタイマ)