過去問解きまくり研究所 ホーム

令和3年度 秋期 午前Ⅱ 問4

ハードウェア

負論理に関する問題

8 ビットの方向レジスタ及びデータレジスタで構成される I/O ポートがあり,各ビットに LED が一つずつ負論理で接続されている。システム起動時に LED の不要な点灯を避けるための手続として,適切なものはどれか。ここで,レジスタに書き込む値は 16 進数で表現している。

方向レジスタ(MSB がビット 7,LSB がビット 0。0:入力,1:出力)

ビット76543210
リセット時の値00000000

データレジスタ(MSB がビット 7,LSB がビット 0。0:点灯,1:消灯)

ビット76543210
リセット時の値不定不定不定不定不定不定不定不定
答えと解説を見る

✓ これが正解イデータレジスタに FF を書き込んでから,方向レジスタに FF を書き込む。

解説

先にデータレジスタへFFを書いて消灯にし、その後で出力に切り替えます。

LEDは負論理で接続されているので、データレジスタのビットが0なら点灯、1なら消灯です。リセット直後の方向レジスタは全ビット0で入力になっており、データレジスタの値は不定です。この状態で先に方向レジスタへFFを書いて出力に切り替えると、不定のまま残っているデータレジスタの値がそのまま端子に出て、0になっているビットのLEDが点灯するおそれがあります。そこで、まず入力のままデータレジスタにFF(全ビット1、つまり全消灯)を書き込み、そのあとで方向レジスタにFFを書いて出力にします。出力に切り替える前に、出す値を決めておくという順序で考えると判断できます。

ほかの選択肢はなぜ違うのか

出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)