応用情報技術者試験 応用情報技術者試験 令和3年度秋期 午前23: マイコンの汎用入出力ポートに接続された LED1 を,LED2 の状態を変化させずに点灯したい。汎用入出力ポートに書き込む値として,適切なものはどれか。ここで,

応用情報技術者試験 令和3年度秋期 午前
Q 2323 / 80
マイコンの汎用入出力ポートに接続された LED1 を,LED2 の状態を変化させずに点灯したい。汎用入出力ポートに書き込む値として,適切なものはどれか。ここで,使用されている汎用入出力ポートのビットは全て出力モードに設定されていて,出力値の読出しが可能で,この操作の間に汎用入出力ポートに対する他の操作は行われないものとする。
汎用入出力ポート(MSBビット7〜LSBビット0)からビット6にLED2、ビット3にLED1が電流制限抵抗を介して接続された回路図
この問の正解率:75.19%(1,060件)

問題本文

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

選択肢

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

正解

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

解説

回路図よりLED1はビット3、LED2はビット6に接続されている。LED2の状態を変えずにLED1だけを点灯(該当ビットを1に)するには、特定ビットだけを1にする「ビットのセット」を行えばよく、これは目的ビットだけが1のマスク値との論理和(OR)で実現できる。LED1のビット3だけを1にする16進数は 08(2進数 00001000)であり、読み出した値と 08 の論理和をとればビット3だけが1になり、他のビット(ビット6のLED2を含む)は元の値が保たれる。したがって正解はイ。

選択肢ごとの解説

  • .08(00001000)との論理積をとると、ビット3以外がすべて0になりLED2(ビット6)が消えてしまううえ、ビット3も元が0なら0のまま点灯しないので誤り。
  • .正しい。08(00001000)との論理和でビット3だけを1にでき、LED2を含む他ビットは元の値が保たれるため、LED2を変えずLED1を点灯できる。
  • .48(01001000)との論理積はビット3とビット6以外を0にし、さらにビット3・ビット6が元々0なら点灯できないため、LED1点灯にもLED2維持にもならず誤り。
  • .48(01001000)との論理和はビット3に加えビット6(LED2)も強制的に1にしてしまい、LED2の状態を変えてしまうため誤り。

応用情報技術者試験 令和3年度秋期 午前過去問一覧へ戻る・問23