4.8 ストップウォッチタイマ
4.8.6 ダイレクト入力機能とキーマスク
ストップウォッチタイマにはダイレクト入力機能があり、外部キー入力によってストップウォッチタイマのRUN/
STOPおよびLAPを制御することができます。この機能はレジスタEDIRに"1"を書き込むことよって設定しま す。EDIRが"0"の場合は前項で説明したソフトウェア制御のみとなります。
(1)入力ポートの選択
ダイレクト入力機能を使用する場合、入力ポートP10とP11をRUN、STOPおよびLAPキー入力に使用しま す。この割り当てはSWDIRレジスタで次のように選択できます。
表4.8.6.1 RUN/STOPとLAPキー入力ポート SWDIR
0 1
P10 RUN/STOP
LAP
P11 LAP RUN/STOP
(2)ダイレクトRUN
ダイレクト入力機能を設定した場合は、入力ポートP10/P11(SWDIRで選択)に接続したキーの入力によっ てストップウォッチタイマのRUN/STOPを制御することができます。P10/P11は通常の入力ポートとして働き、
入力信号がストップウォッチの制御回路に送られます。
P10/P11キー入力はトグル動作となり、ストップウォッチタイマがSTOP状態で入力されるとRUN、RUN状態 で入力されるとSTOPします。ストップウォッチタイマのRUN/STOPの状態はレジスタSWRUNを読み出すこ とで確認できます。また、このダイレクトRUN入力により割り込みが発生します。
キー入力信号はSWRUNレジスタ制御のときと同様に1,024Hz信号の立ち下がりエッジでサンプリングされ ます。チャタリング判定はキーOFF時に行われ、46.8msec〜62.5msec以下のチャタリングが除去されます。
したがって、RUNとSTOPそれぞれのキー入力の間隔はこの時間以上が必要です。
図4.8.6.1にダイレクトRUN入力時の動作タイミングを示します。
fOSC1/32 (1,024Hz)
ダイレクトRUN入力(P10/P11) ダイレクトRUN内部信号 SWRUNレジスタ カウントクロック ダイレクトRUN割り込み
図4.8.6.1 ダイレクトRUN入力時の動作タイミング
(3)ダイレクトLAP
ダイレクトRUNと同様にLAPの制御もキー入力によって行えます。ダイレクト入力機能を設定すると、入力 ポートP11/P10(SWDIRで選択)がLAPキーの入力ポートとなります。入力信号のサンプリングおよびチャタ リング判定はダイレクトRUNの場合と同様です。
LAP入力が行われると、その時点のカウンタデータがキャプチャバッファにラッチされ、データをホールドし ます。カウンタはカウント動作を継続します。また、このダイレクトLAP入力により割り込みが発生します。
前述したように、データはSWD8〜11が読み出されるまでホールドされます。すでにデータがホールドされ ている状態でLAPの入力が行われた場合は、キャプチャバッファの内容が更新されてしまい、その後 SWD8〜11の読み出しを行った際にキャプチャ更新フラグCRNWFが"1"にセットされます。この場合は、
SWD8〜11の読み出しによってホールド状態は解除されずに、さらにホールド状態を継続します。LAPデー タは、割り込み発生後に読み出しを行いますが、そのあとには必ずキャプチャ更新フラグを確認してくださ い。キャプチャ更新フラグがセットされている場合は、更新されたデータがキャプチャバッファにホールドさ れていますので再度読み出しを行ってください。
また、SWD8〜11のオーバーフローによって1sec桁への桁上げが必要になった場合、ストップウォッチタイマ は1Hz割り込み要因フラグISW1を"1"にセットします。
4 周辺回路と動作(ストップウォッチタイマ)
この1Hz割り込み要因フラグISW1が"1"にセットされている間に、キャプチャバッファがホールド状態
(SWD0〜3読み出し時またはLAP入力時)になるとラップデータ桁上げ要求フラグが"1"にセットされ、LAP 入力などの処理において1秒桁への桁上げが必要であることを示します。これは、ソフトウェアによる通常 の処理方法として、1Hz割り込みによる1sec桁以上の処理よりもLAPの処理が優先されると考えられますの で、LAP処理による時間表示において1秒桁のデータが1秒だけ少なくなることを防ぐために必要となりま す。したがって、LAP処理前にラップデータ桁上げ要求フラグを確認してください。このフラグはキャプチャ バッファがホールド状態になるごとに更新されます。
図4.8.6.2にダイレクトLAP入力時の動作タイミングを示します。
図4.8.6.3にダイレクトLAP入力時のデータホールドと読み出しのタイミングを示します。
fOSC1/32 (1,024Hz)
ダイレクトLAP入力(P11/P10) ダイレクトLAP内部信号 データホールド
ダイレクトLAP割り込み
SWD8~11読み出し
図4.8.6.2 ダイレクトLAP入力時の動作タイミング ダイレクトLAP入力(P11/P10)
キャプチャ更新フラグCRNWF SWD0~3読み出し
SWD4~7読み出し SWD8~11読み出し データホールド
1Hz割り込み要因フラグISW1 ラップデータ桁上げ要求フラグLCURF
カウンタデータ 999 000
図4.8.6.3 ダイレクトLAP入力時のデータホールドと読み出し
(4)キーマスク
ストップウォッチのアプリケーションにおいて、ダイレクトRUNまたはダイレクトLAPを含むキーの組み合わ せによって機能を制御するような場合があります。たとえば、あるキーが押されている状態でRUNキーが入 力された場合に、RUNキーをリセットや時計合わせ等の他の目的に使用するような場合です。このときには ダイレクトRUN、あるいはダイレクトLAPの機能を無効としてストップウォッチがその動作を行わないように する必要があります。このために、キー入力の競合判定を行い、RUNおよびLAPを無効とするキーマスク機 能が設けられています。この競合判定を行うキー入力の組み合わせをレジスタDKM0〜2によって選択す ることができます。
表4.8.6.2 キーマスク選択 DKM0
0 1 DKM1
0 0 DKM2
0 0
競合判定組み合わせ なし(リセット時)
P12
4 周辺回路と動作(ストップウォッチタイマ)
RUNまたはLAP入力は以下の場合に無効となります。
1. 選択した組み合わせに含まれる1つ以上のキー(以下、マスクと記述)が入力されている状態でRUN またはLAPが入力された場合
2. マスクが解除された時点でRUNまたはLAPが入力されている場合 fOSC1/32 (1,024Hz)
ダイレクトRUN/LAP入力 キーマスク
有効 無効 無効 無効
図4.8.6.4 キーマスクの動作 RUN、LAP入力が有効となるのは以下の場合です。
1. RUNまたはLAPのどちらか一方が単独で無入力状態から入力された場合
2. RUNおよびLAPの両方が同時に無入力状態から入力された場合(RUN、LAP共に有効)
3. RUNまたはLAPのどちらか一方が入力されている状態でもう一方が入力された場合(RUN、LAP共に 有効)
4. RUNまたはLAPのどちらか一方とマスクが同時に無入力状態から入力された場合
5. RUNおよびLAPの両方とマスクが同時に無入力状態から入力された場合(RUN、LAP共に有効)
* キーの同時入力とはキー入力のサンプリングが1,024Hzクロックの同じ立ち下がりエッジで行われたこ とをいいます。
4 周辺回路と動作(ストップウォッチタイマ)