本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和3年度 秋期 応用情報技術者試験問題と解説

問23

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

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

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

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

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


正解


解説

MSB (Most Significant Bit) は、最上位ビット、LSB (Most Significant Bit) は、最下位ビットである。
また、ビット3が1であれば、LED1が点灯し、ビット3が0であれば、LED1が消灯する。ビット6についても同様である。

ア 16進数の08を2進数で表現すると 00001000であり、汎用入出力ポートから読み出した値との論理積は、ビット6は常に0となるため、LED2は消灯していれば状態の変化はないが、点灯していれば消灯してしまう。

イ 正しい。16進数の08を2進数で表現すると 00001000であり、汎用入出力ポートから読み出した値との論理和は、ビット6は0であれば0のまま、1であれば、1のままであるため、LED2の状態に変化はない。
一方、ビット3は常に1になるため、LED1は点灯する。

ウ 16進数の48を2進数で表現すると 01001000であり、汎用入出力ポートから読み出した値との論理積は、ビット6は1であれば1のまま、0であれば0のままとなるため、LED2の状態に変化はない。しかし、ビット3は0であれば0のままなので、LED1は点灯しない。

エ 16進数の48を2進数で表現すると 01001000であり、汎用入出力ポートから読み出した値との論理和は、ビット6は常に1になるため、LED2は点灯していれば状態の変化はないが、消灯していれば点灯してしまう。

問22 目次 問24