[更新日]1998.05.15


問17 マイコンを用いた時計装置に関する次の記述を読んで, 設問 1 〜 3 に答えよ。

 

図 1 に時計装置のシステム構成図,表に入出力ポートの仕様を示す。 クロック信号を基にカウンタで 10 ミリ秒ごとのタイマ割込み信号を 発生させる。拡張 COMET はタイマ割込み信号を計数することによって, 24 時間で一巡する方式の時刻を管理し,時と分を表示器に出力する。

図1 時計装置のシステム構成図

       表 入出力ポートの仕様

種別

I/O アドレス

ビット番号

内容

備考

入力ポート

3 番地

0 〜 13

未使用

常に 0

14

時スイッチ

ON のとき
1 になる

15

分スイッチ

出力ポート

5 番地

0 〜 3

時の 10 のけた

BCD コード

4 〜 7

時の 1 のけた

8 〜 11

分の 10 のけた

12 〜 15

分の 1 のけた

 

システムを起動すると時刻が 0 時 0 分に初期化されるので, “時スイッチ”及び“分スイッチ”を必要な回数だけ押下(ON)することに よって,現在の時刻を設定する。

なお,拡張 COMET ではビット番号 0 が MSB(Most Significant Bit)で あることに注意して解答すること。

 

設問1 65536 パルスを数えるごとに 1 パルスを出力する 2 進 16 ビット カウンタを用いて,10 ミリ秒ごとのタイマ割込み信号を発生させるには, クロックにどの周波数を使えばよいか。正しい答えを解答群の中から選べ。

解答群

ア 6.5536 kHz    イ 65.536 kHz    ウ 655.36 kHz

エ 6.5536 MHz    オ 65.536 MHz    カ 655.36 MHz

 

 

設問2 タイマ割込み処理及び時刻設定処理の流れ図を図 2 に示す。 流れ図中の に入れる正しい 答えを,解答群の中から選べ。
 なお,タイマ割込み処理プログラムは,次の割込み信号が発生するまでの 間に処理を終了できるものとする。また,すべての変数はシステムの起動時に 0 に初期化される。

〔副プログラム“分の計数処理”及び“時の計数処理”の処理内容〕

 (1) 分の計数処理(MINUUP)は,変数 C の値を 0 にした後, 変数 MINU に 1 を加算して
60 になったら 0 に戻す。

 (2) 時の計数処理(HOURUP)は,変数 HOUR に 1 を加算して 24 に なったら 0 に戻す。

      図2 タイマ割込み処理及び時刻設定処理の流れ図

解答群

ア 10    イ 100    ウ 1000

エ 6000    オ 60000

 

 

設問3 時刻設定を行う副プログラム TMSET 中の に入れる正しい答えを, 解答群の中から選べ。
 なお,各スイッチを ON 又は OFF にしたとき,チャタリングは発生しない ものとする。

 


;時刻設定副プログラム
TMSET  
           ; スイッチの状態読込み
       ST     GR0,NEW
           ; スイッチの状態変化検出
       AND    GR0,NEW
       ST     GR0,CHNG
       LD     GR1,NEW
       ST     GR1,BEFORE       ; スイッチの状態記憶
       AND    GR0,H0001        ; “分スイッチ”が ON に変化 ?
       JZE    BAH
       CALL   MINUUP           ; 分の計数処理
BAH        ; スイッチの変化判定用情報の読出し
       AND    GR0,H0002        ; “時スイッチ”が ON に変化 ?
       JZE    BAD
       CALL   HOURUP           ; 時の計数処理
BAD    POP    GR1
       RET
 
H0001  DC     #0001
H0002  DC     #0002
BEFORE DS     1                ; 前回の入力ポートの状態
NEW    DS     1                ; 今回の入力ポートの状態
CHNG   DS     1                ; スイッチの変化判定用情報

解答群

ア AND GR0,BEFORE    イ EOR GR0,BEFORE
 
ウ INPUT 3 エ LD GR0,3
 
オ LD GR0,BEFORE カ LD GR0,CHNG
 
キ LD GR0,NEW ク PUSH 0,GR1
 
ケ ST GR1,NEW コ SUB GR0,BEFORE

戻る