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

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


問題文

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

選択肢

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

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

負論理I/Oの初期化手順【午前2解説】

正解の理由

LEDは負論理で接続されており、データレジスタの値が 0なら点灯、1なら消灯します。一方、データレジスタはリセット時に値が不定なので、起動直後にそのまま出力にすると、LEDが意図せず点灯する可能性があります。
そこで、まずデータレジスタに FF を書き込み、8ビットすべてを消灯状態にします。次に方向レジスタへ FF を書き込み、8ビットを出力に設定します。この順序で初期化するイが適切です。
FF は2進数で 11111111 です。データレジスタに FF を書き込んでから出力に切り替えることで、出力開始時点から全LEDを消灯状態にできます。

解法ステップ

  1. 方向レジスタの設定値を確認します。
    0 は入力、1 は出力です。8ビットすべてを出力にする値は FF です。
  2. データレジスタとLEDの対応を確認します。
    負論理なので、データが 0 なら点灯、1 なら消灯です。全LEDを消灯させる値は FF です。
  3. 安全な書込み順序を考えます。
    データレジスタはリセット時に不定です。先に消灯値の FF を設定し、その後で出力に切り替えます。

選択肢別の誤答解説

  • ア:データレジスタに 00 を書き込んでから、方向レジスタに FF を書き込む
    00 はLEDを点灯させる値です。方向レジスタを出力に設定したとき、意図しない点灯につながります。
  • イ:データレジスタに FF を書き込んでから、方向レジスタに FF を書き込む
    先にデータを全LEDの消灯値に設定し、その後で全ビットを出力にします。起動時の不要な点灯を避ける手順です。
  • ウ:方向レジスタに FF を書き込んでから、データレジスタに 00 を書き込む
    データレジスタが不定のまま出力に切り替えるため、切替時にLEDが点灯する可能性があります。また、最終的な設定も全LED点灯になります。
  • エ:方向レジスタに FF を書き込んでから、データレジスタに FF を書き込む
    最終的には全LEDが消灯しますが、データレジスタが不定の状態で先に出力に切り替えるため、一時的に不要な点灯が起こる可能性があります。

よくある誤解

  • 負論理では「1」が点灯だと思い込む
    この問題では、注記にあるとおり 0 が点灯、1 が消灯です。問題文や図の論理を確認しましょう。
  • 最終状態だけ合っていれば、書込み順序は関係ないと思う
    初期化では、途中の状態も重要です。出力を有効にする前に、安全なデータを設定します。
  • リセット時の方向レジスタが0なら、データレジスタも安全だと思う
    方向レジスタのリセット値は全ビット入力ですが、データレジスタの値は不定です。レジスタごとにリセット時の状態を確認してください。

補足コラム

この問題のように、出力を有効にする前に出力データを設定する手順は、LEDに限らず、モータやリレーなどの制御でも重要です。出力値が不定のまま出力を有効にすると、一瞬の誤動作が機器に影響することがあります。

FAQ

Q. なぜデータレジスタを設定してから、方向レジスタを設定するのですか?
A. 方向レジスタを出力にすると、データレジスタの値が外部に出力されます。先に消灯値を設定しておけば、出力開始時に不要な点灯を防げます。
Q. FF は何を表していますか?
A. 16進数の FF は2進数の 11111111 です。8ビットすべてに 1 を設定する値です。

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

\ せっかくなら /

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

クイズ画面へ遷移する→

すぐに利用可能!

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

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