戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2021年 午前2 問04


問題文

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

選択肢

ア:データレジスタに00を書き込んでから、方向レジスタにFFを書き込む。
イ:データレジスタにFFを書き込んでから、方向レジスタにFFを書き込む。(正解)
ウ:方向レジスタにFFを書き込んでから、データレジスタに00を書き込む。
エ:方向レジスタにFFを書き込んでから、データレジスタにFFを書き込む。

🔒 解説は解答すると表示されます

負論理I/Oポートの初期化【午前2解説】

正解の理由

LEDは負論理で接続されており、データレジスタの値が 0なら点灯、1なら消灯 します。また、方向レジスタは 0が入力、1が出力 です。
起動時のデータレジスタの値は不定です。そのまま出力に切り替えると、不定値に応じてLEDが点灯するおそれがあります。そこで、まずデータレジスタに FF を書き込み、全ビットを「消灯」を表す1にします。その後、方向レジスタに FF を書き込み、全ビットを出力にします。
この順序に該当するのはイです。

解法ステップ

  1. LEDを消灯させるデータ値を確認します。
    「0:点灯、1:消灯」なので、全LEDを消灯するには全ビットを1にします。8ビットすべてが1の値は FF です。
  2. 出力に切り替える前にデータを設定します。
    データレジスタは起動時に不定です。先に出力にすると、不定値がLEDに出力される可能性があります。
  3. レジスタへの書込み順序を選びます。
    データレジスタに FF を書いて消灯状態を準備し、その後、方向レジスタに FF を書いて出力にします。したがって、イが適切です。

選択肢別の誤答解説

  • ア:データレジスタに 00、方向レジスタに FF
    データの 0 はLEDの点灯を表します。全LEDを点灯させる値なので、目的に反します。
  • イ:データレジスタに FF、方向レジスタに FF
    先に全ビットを消灯値の1にし、その後で全ビットを出力にします。不要な点灯を避ける順序です。
  • ウ:方向レジスタに FF、データレジスタに 00
    データが不定のまま先に出力へ切り替えます。その時点でLEDが不要に点灯するおそれがあり、さらに後から書く 00 は点灯を表します。
  • エ:方向レジスタに FF、データレジスタに FF
    最終的には全LEDが消灯しますが、先に出力へ切り替えるため、その瞬間には不定値が出力される可能性があります。書込み順序が不適切です。

よくある誤解

  • 「負論理」だから、レジスタには0を書けば消灯する
    この問題では、図に「0:点灯、1:消灯」と明示されています。負論理では、一般的な感覚とは逆の値が動作に対応することがあります。
  • 最後に消灯値を書けば、途中の順序は気にしなくてよい
    起動時の不要な点灯を避けるには、最終状態だけでなく、出力に切り替える前に安全なデータ値を設定することが重要です。
  • 方向レジスタの FF は入力を意味する
    この問題では「0:入力、1:出力」です。FF は全ビットを出力に設定します。

補足コラム

方向レジスタで入力から出力へ切り替えると、データレジスタに設定された値が外部端子に現れます。そのため、出力を有効にする前に、出力したい安全な値をデータレジスタへ設定しておくのが基本です。
この問題では、LEDを消灯させる値が FF なので、データ設定 → 出力設定 の順にします。

FAQ

Q. データレジスタに FF を書いた時点で、LEDは消灯しますか?
A. 方向レジスタが入力状態の間は、出力として端子に値を反映しません。その後、出力に切り替えると、設定済みの FF が出力されてLEDが消灯します。
Q. なぜ方向レジスタのリセット値も確認するのですか?
A. リセット時は全ビットが0で、入力状態です。そのため、起動直後にデータレジスタの値が不定でも、まず安全な値を設定してから出力に切り替える、という手順を判断できます。

関連キーワード: 負論理、I/Oポート、方向レジスタ、データレジスタ、初期化順序
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について