平成6年度 秋期 第二種 午後 問17 [更新日]1994.11.11 問17 次に示すマイコン応用システムに関する記述を読んで、設問1〜3に答えよ。 図1に示すシステムは、一定間隔で割込みが発生するタイマをもち、タイマの割込 みが発生したときのアナログ信号の値(電圧)をA/D変換器でディジタルデータに 変換し、その結果をLEDに表示するものである。図2は、ここで用いるA/D変換 器のアナログ信号とディジタルデータの関係を示し、図3は出力ポートの出力データ とLEDの点滅の関係を示す。表は本システムの入力ポートと出力ポートのアドレス と機能を示す。 例えば、図1のシステムにおいて、アナログ信号の電圧が2.5Vのとき、図2によっ て、A/D変換器の変換結果は(0080)(16進数)になり、LEDの表示は、図3によって "L3:○、L2:●、L1:●"になることを示している。 図1 LEDの点灯システム図 表 入力ポートと出力ポートのアドレスと機能 ┌───┬────────┬──────────────────────────┐ │種類 │ポートのアドレス│ 機 能 │ ├───┼────────┼──┬───────────────────────┤ │ │ 4番地 │出力│1を書き込むとA/D変換を開始する。 │ │ ├────────┼──┼───────────────────────┤ │ │ │ │A/D変換器の状態を示すステータスレジスタで、│ │A/D│ 4番地 │入力│0のとき変換完了を示し、1のとき変換中を示す。│ │変換器├────────┼──┼───────────────────────┤ │ │ │ │ステータスレジスタの内容が0のとき、この番地の│ │ │ 5番地 │入力│内容を読み込むと変換データが得られる。 │ ├───┼────────┼──┼───────────────────────┤ │ │ │ │次のように下位3ビットLEDが接続されている。│ │ │ │ │ ビット番号→13 15 │ │出力 │ │ │ ┌────────┬─┬─┬─┐ │ │ポート│ 8番地 │出力│ MSB└────────┴─┴─┴─┘LSB│ │ │ │ │ LEDの名称→L3 L2 L1 │ │ │ │ │各LEDの該当ビットが0のとき消灯し、1のとき│ │ │ │ │点灯する。 │ └───┴────────┴──┴───────────────────────┘ 注 A/D変換器の変換時間は、命令の実行速度に比べ十分遅い。 図2 アナログ信号の電圧とA/D変換器の変換結果の関係 LEDの点灯内容 出力データ ┌───┬───┬───┐ (16進数) │ L3│ L2│ L1│ ┌─────────┼───┼───┼───┤ │00FF〜00E0│ ◯ │ ◯ │ ○ │ ├─────────┼───┼───┼───┤ │00DF〜00C0│ ◯ │ ◯ │ ● │ ├─────────┼───┼───┼───┤ │00BF〜00A0│ ◯ │ ● │ ○ │ ├─────────┼───┼───┼───┤ │009F〜0080│ ○ │ ● │ ● │ ├─────────┼───┼───┼───┤ │007F〜0060│ ● │ ○ │ ○ │ ├─────────┼───┼───┼───┤ │005F〜0040│ ● │ ○ │ ● │ ├─────────┼───┼───┼───┤ │003F〜0020│ ● │ ● │ ○ │ ├─────────┼───┼───┼───┤ │001F〜0000│ ● │ ● │ ● │ └─────────┴───┴───┴───┘ 注 ●印は消灯を示し、○印は点灯を示す。 図3 出力データとLEDの点灯内容の関係 設問1 入力ポートや出力ポートを選択するアドレスデコーダに関する次の記述の [ ]に入れる正しい答を、回答群の中から選べ。回答群の図では、 A15がアドレスのLSBであり、ポートのリード信号やライト信号などは省略 してある。 入力ポートや出力ポートは、アドレスデコーダの出力がLOWのとき選択さ れる。表を参照すると、A/D変換器が接続されているポートのアドレスデコー ダの図は[ a ]であり、LEDが接続されているポートのアドレスデコー ダの図は[ b ]である。 a 答オ b 答イ 解答群 設問2 次に示すアセンブラプログラムは、タイマ割込み処理プログラムであり、 A/D変換器からデータを読み込み、その結果によってLEDを点灯する。 [ ]に入れる正しい答えを、解答群の中から選べ。なお、変換結果は 直前の変換データとの平均をとるものとする。 また、割込みを受け付けると割込み禁止状態になる。 DISP PUSH 0,GR1 ;GR1レジスタの内容退避 LEA GR0,1 ;A/D変換器の変換開始データを設定 OUTPUT 4 ;A/D変換開始 LOOP1 [ c ] ;ステータスレジスタの内容を読み込む SLL GR0,1 ;ステータスのチェック JNZ LOOP1 ;変換中のときLOOP1へ INPUT 5 ;変換データを読み込む ST GR0,WORK ;変換データの一時退避 [ d ] ;直前のデータと今回のデータの平均を SRL GR0,1 ; とり、出力データを得る。 LD GR1,WORK ;一時退避したデータをGR1に復帰 ST GR1,BEFORE ;今回の変換データを退避 SRL GR0,5 ;出力データを点灯データに変換 [ e ] ;LEDの点灯(点灯データの出力) [ f ] ;レジスタの内容復帰 RETI ;割込み処理プログラムからの復帰 BEFORE DC 0 ; WORK DS 1 ; c 答イ d 答ア e 答カ f 答ク 解答群 ア ADD GR0,BEFORE イ INPUT 4 ウ INPUT 5 エ LD GR0,4 オ LD GR0,5 カ OUTPUT 8 キ POP GR0 ク POP GR1 ケ ST GR0,8 コ SUB GR0,BEFORE 設問3 設問2のプログラムを実行したとき、アナログ信号の電圧のうち、出力ポー トのLEDが次に示す状態になるものを解答群の中から選べ。割込み処理プロ グラムのBEFOREで示されるメモリ内のデータは、(00D8)(16進数)とする。 ┌───┬───┬───┐ │ L3│ L2│ L1│←LEDの名称 ├───┼───┼───┤ │ ○ │ ○ │ ● │注 ●印は消灯、○印は点灯を示す。 └───┴───┴───┘ 答エ 解答群 ア 2.0V イ 2.5V ウ 3.0V エ 4.0V オ 4.9V 戻る