令和3年度 秋期 応用情報技術者試験 午前 問題 問23
テクノロジ組込み・IoTハードウェアセンサー・アクチュエーター・マイコン制御
マイコンの汎用入出力ポートに接続されたLED1を,LED2の状態を変化させずに点灯したい。汎用入出力ポートに書き込む値として,適切なものはどれか。ここで,使用されている汎用入出力ポートのビットは全て出力モードに設定されていて,出力値の読出しが可能で,この操作の間に汎用入出力ポートに対する他の操作は行われないものとする。

図の説明テキスト
マイコンの汎用入出力ポートとLEDの接続を示す回路図。
左側に「汎用入出力ポート」の枠があり、上から「(MSB) ビット7」「ビット6」「…」「ビット3」「…」「(LSB) ビット0」と端子が並んでいる。
ビット6の端子から右へ線が伸び、直列に「電流制限抵抗」と「LED 2」(発光ダイオードの図記号)を経て接地(グラウンド)されている。
ビット3の端子から右へ線が伸び、直列に「電流制限抵抗」と「LED 1」(発光ダイオードの図記号)を経て接地(グラウンド)されている。
解答・解説
正解: イ. 汎用入出力ポートから読み出した値と16進数の08との論理和
回路図より、マイコンの汎用入出力ポートと各LEDの接続は以下のようになっています。
- LED1 は ビット3 に接続されています。
- LED2 は ビット6 に接続されています。
LED1を点灯させるには、汎用入出力ポートのビット3を にする必要があります。
さらに「LED2の状態を変化させずに」という条件を満たすためには、ビット3以外の状態(ビット6など)を元の値のまま維持しなければなりません。
特定のビットのみを に設定し、他のビットの状態を維持するには、対象となるビットのみを 、それ以外を とした値との論理和(OR)をとります。
ビット3のみを とした値は、2進数で表すと となります。
これを16進数で表現すると となります。
したがって、汎用入出力ポートから読み出した値と16進数の との論理和を書き込むのが適切です。
各選択肢の解説
- ア:16進数の (2進数 )との論理積(AND)をとると、ビット3以外のすべてのビットが になってしまい、LED2を含む他の状態を変化させてしまうため誤りです。
- イ:正解です。ビット3のみを確実に にし、他のビットの状態を維持できます。
- ウ:16進数の は2進数で (ビット6とビット3が )です。これとの論理積(AND)をとると、ビット6とビット3以外の状態がすべて に変化してしまうため誤りです。
- エ:16進数の (2進数 )との論理和(OR)をとると、ビット3だけでなく、LED2が接続されているビット6も強制的に に(点灯状態に)なってしまい、LED2の状態を変化させてしまうため誤りです。