過去問解きまくり研究所 ホーム

平成30年度 春期 午前Ⅱ 問3

ハードウェア

負論理に関する問題

8 ビットの方向レジスタ及びデータレジスタで構成される I/O ポートがあり,各ビットに LED が一つずつ負論理で接続されている。システム起動時に LED の不要な点灯を避けるための手続として,適切なものはどれか。ここで,レジスタに書き込む値は 16 進数で表現している。

方向レジスタ(左端 MSB,右端 LSB。0:入力,1:出力)

ビット76543210
リセット時の値00000000

データレジスタ(左端 MSB,右端 LSB。0:点灯,1:消灯)

ビット76543210
リセット時の値不定不定不定不定不定不定不定不定
答えと解説を見る

✓ これが正解イデータレジスタに FF を書き込んでから,方向レジスタに FF を書き込む。

解説

先にデータを FF(消灯)にしてから、方向を出力に切り替えます。

LED は負論理で接続されているので、データレジスタの 1 が消灯、0 が点灯です。リセット直後は方向レジスタが全て 0(入力)なので端子からは何も出力されませんが、データレジスタの値は不定です。この状態でいきなり方向レジスタに FF を書いて全ビットを出力にすると、その瞬間に不定のデータがそのまま端子に出て、0 になっていたビットの LED が点灯してしまいます。そこで、まだ入力のうちにデータレジスタへ FF を書いて全ビットを消灯の値にしておき、その後に方向レジスタへ FF を書いて出力に切り替えます。出力にする前に出す値を決めておく、という順序が要点です。値と順序の両方を確かめて選ぶと間違えません。

ほかの選択肢はなぜ違うのか

出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問3

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)