平成7年度 秋期 第二種 午後 問17

                        [更新日]1995.10.25
問17 マイコンを応用した電子ルーレットに関する次の記述をを読んで、設問 1〜3に答えよ。 図1に電子ルーレットのシステム構成を示し、図2にこのシステムのLED の配置を示す。 スタートスイッチを押すと、LEDが時計方向に順次点滅し、光の点が回 転するようになる。ストップスイッチを押すと、しだいに光の回転スピー ドは遅くなり、一定の時間後に、光の回転が停止する。 初めてスタートスイッチを押したときは、L0から光り始める。光の回転 が停止した後、再度スタートスイッチを押したときは、停止していた位置 から光の回転が始まる。 表1に、このシステムの入力ポートと出力ポートのI/Oアドレスを示す。 電子ルーレットの仕様を次に示す。 (1) タイマ割込みを使用する。使用するタイマは、プログラムによって出 力時間を設定すると、設定した間隔で信号を出す。リセット直後の出 力時間の設定値は、不定である。 (2) メインプログラムは、通常の場合タイマ割込みを受け付けられる状態 で動作する。 (3) スイッチの状態の取込みはメインプログラムで行う。 (4) ストップスイッチが押され徐々に停止しようとしている状態で、スタ ートスイッチが押された場合は、直ちにスタートスイッチの機能が有 効になる。 (5) LEDの表示は、割込み処理プログラムの中で行う。また、徐々に停止 させるための処理も割込み処理プログラムの中で行う。 (6) 割込み処理プログラムでは、メインプログラムで取り込んだスイッチ の状態や、動作状態を、MODEというラベルの示すメモリ番地の内容 によって判断する。 #8000  スタートスイッチが押され、光が回転している状態 #7800〜#0800 ストップスイッチが押され、光が回転している状態 #0000  停止状態 ラベルMODEは、メインプログラムでも、割込み処理プログラムで も参照できる。 設問1 次に示すメインプログラムの流れ図中の[    ]に入れる正しい 答えを、解答群の中から選べ。 解答群 ア 0 → MODE   イ 1 → MODE ウ #8000 → MODE   エ #8001 → MODE オ MODE − #0800 → MODE カ MODE − #8000 → MODE キ MODE + 1 → MODE 設問2 本システムでリセット後にプログラムで行うべきハードウェアの初期化 として、正しい答えを、解答群の中から二つ選べ。 解答群 ア 割込み禁止状態にする。 イ タイマを初期化し、タイマ出力に一定間隔で信号が出るようにする。 ウ I/Oアドレスの8番地に、#8001を出力する。 エ 割込みマスクレジスタに、#FFFEを格納した後、割込み許可状態にする。 オ 割込みマスクレジスタに、#7FFFを格納した後、割込み許可状態にする。 カ 割込みマスクレジスタに、#FEFFを格納した後、割込み許可状態にする。 設問3 次に示すのは、割込み処理プログラムの主要部である。[    ]に入 れる適切な命令を、解答群の中から選べ。 INT [  c  ] ;レジスタの退避 LEA GR0,0 CPA GR0,MODE ;停止状態か JZE INTRT ;停止状態 LD GR0,STMODE CPA GR0,MODE ;動作状態か [  d  ] ;動作状態(MODE=#8000) CALL DSPDLY ;ストップスイッチが押され、停止しよう ;としている状態 ;(MODE≠#8000) LEA GR1,0,GR1 JNZ INTRT ;時間が経過していないときは、復帰 LD GR0,MODE SUB GR0,GEN ;MODE−#0800→MODE ST GR0,MODE MVOT LD GR0,DPDATA ;表示データの読込み [  e  ] ;出力 SRL GR0,1 ;次のデータの準備 ST GR0,DPDATA JNZ INTRT LD GR1,STMODE ST GR1,DPDATA INTRT POP GR1 ;割込みからの復帰 RETI ; ; GEN DC #0800 STMODE DC #8000 DPDATA DC #8000 ;表示データ 注 サブルーチンDSPDLYは、ストップスイッチが押された後、タイマ 割込みの発生回数をカウントして、徐々に停止する時間間隔を作る。 サブルーチンから復帰後、GR1の内容が#0000のとき、LEDにデータ を表示する処理を行う。 解答群 ア INPUT 9 イ JMI MVOT ウ JNZ MVOT エ JZE MVOT オ OUTPUT 8 カ OUTPUT 9 キ PUSH 0,GR0 ク PUSH 0,GR1 ケ PUSH 0,GR2