令和3年度秋期 問23 / 80

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

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

問題の図

  • ア 汎用入出力ポートから読み出した値と16進数の08との論理積
  • イ 汎用入出力ポートから読み出した値と16進数の08との論理和
  • ウ 汎用入出力ポートから読み出した値と16進数の48との論理積
  • エ 汎用入出力ポートから読み出した値と16進数の48との論理和

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:イ

ポイント

  • LED1はビット3(0x08)に接続されています。
  • LED2はビット6(0x40)に接続されています。
  • 汎用入出力ポートの値を変更してLED1だけを点灯させる必要があります。
  • ビット演算でLED1のビットを1にし、他のビットは変更しないようにします。

選択肢の考察

  • 論理積 (AND): 指定したビット以外をクリア(0)にする操作。
  • 論理和 (OR): 指定したビットをセット(1)する操作。

LED1を点灯させるには、ビット3を1にする操作が必要です。
したがって、現在の状態を読み出し、0x08(ビット3)との論理和 (OR) を行う必要があります。


選択肢の確認

  • ア: AND操作で0x08を適用 → 不要なビットがクリアされ、LED2が消える可能性がある。
  • イ: OR操作で0x08を適用 → ビット3が1になり、LED1が点灯。LED2の状態は変わらない。
  • ウ: AND操作で0x48を適用 → 不要なビットがクリアされる可能性があり、不適切。
  • エ: OR操作で0x48を適用 → LED2も点灯する可能性があるため不適切。

答え

イ 汎用入出力ポートから読み出した値と16進数の08との論理和

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

令和3年度秋期の他の問題