IPA過去問ドリル

令和3年度 秋期 応用情報技術者試験 午前 問23

テクノロジ/ハードウェア

マイコンの汎用入出力ポートに接続された LED1 を,LED2 の状態を変化させずに点灯したい。汎用入出力ポートに書き込む値として,適切なものはどれか。ここで,使用されている汎用入出力ポートのビットは全て出力モードに設定されていて,出力値の読出しが可能で,この操作の間に汎用入出力ポートに対する他の操作は行われないものとする。

令和3年度 秋期 応用情報技術者試験 午前 問23の図

出典:令和3年度 秋期 応用情報技術者試験 午前 問23

正解:イ

解説

図より LED1 はビット 3,LED2 はビット 6 に接続されています。LED2 など他のビットの状態を変えずに LED1 だけを点灯させるには,現在の出力値を読み出し,ビット 3 だけを 1 にする必要があります。ビット 3 のみが 1 の値は 16 進数の 08 なので,読み出した値と 08 との論理和を書き込めば,ビット 3 だけが 1 になり他のビットは変化しません。

選択肢ごとの解説

  • 誤り。08 との論理積では,ビット 3 以外が全て 0 になってしまい,LED2 が点灯していた場合に消灯してしまいます。
  • 正しい。読み出した値と 08(ビット 3 のみ 1)との論理和を取れば,他のビットを変化させずにビット 3 だけを 1 にできます。
  • 誤り。48 はビット 6 とビット 3 が 1 の値であり,論理積を取るとその他のビットが 0 になり,しかも LED1 のビットが元のままで点灯を保証できません。
  • 誤り。48 との論理和ではビット 3 に加えてビット 6 も 1 になり,LED2 が消灯していた場合に点灯させてしまい,LED2 の状態が変化します。
応用情報技術者の過去問を演習モードで解く