問17 マイコンを用いた扇風機に関する次の記述を読んで, 設問 1 〜 3 に答えよ。
扇風機のシステム構成を図 1 に,キーの機能を表 1 に示す。表 2 は扇風機の 運転状態遷移を表したものであり,現在の状態からそれぞれの条件が成立した場合に どの状態へ遷移するかを示す。例えば,連続状態において入/切キーを押下した場合, 停止状態に遷移する。表 3 に各運転状態時の LED 点灯状態を示す。
図1 扇風機のシステム構成
表1 キーの機能
キーの名称
機 能
入/切
連続と停止を切り換える。
お休みタイマ
お休みタイマの 30 分モード,又は 60 分モードの設定,解除を行う。
表2 扇風機の運転状態遷移表
運転状態
条件
停止
連続
30 分モード
60 分モード
“入/切”キー押下
“お休みタイマ”キー押下
お休みタイマ残り時間 = 0 分
お休みタイマ残り時間 = 30 分
注 空欄はありえない場合やそのままの運転状態を維持することを意味する。
表3 各運転状態時の LED 点灯状態
LED
ON - LED
点灯
30 - LED
60 - LED
注 空欄は消灯を意味する。
設問1 入出力ポートの説明を表 4 に示す。このシステムでは 入出力ポートに書き込んだデータを読み取ることができる。次の記述中の に入れる正しい答えを, 解答群の中から選べ。 なお,拡張 COMET の場合,ビット番号 0 が MSB(most significant bit)で あることに注意して解答せよ。
表4 入出力ポートの説明
ビット番号
接続先名
備 考
0
0:消灯
1:点灯
1
2
3
モータ制御回路
0:停止 1:回転
4 〜 15
未使用
常に 0
入出力ポートのビットを操作するため,入出力ポートのデータを読み取り, 対象ビットだけを変更して入出力ポートに書き込むプログラムを作成した。 例えば,このプログラムで 30 - LED を消灯し 60 - LED を 点灯する場合は,入出力ポートのデータを 16 進数 と AND 演算し, 16 進数 と OR 演算した結果を入出力ポートに書き込むことになる。
a に関する解答群
ア 7000 イ B000 ウ D000 エ E000 オ F000
b に関する解答群
ア 1000 イ 2000 ウ 4000 エ 6000 オ 8000
設問2 主プログラムの流れ図を図 2 に示す。割込み処理の影響は ないものとして図 2 中の に入れる正しい答えを,解答群の中から選べ。
図2 主プログラムの流れ図
c に関する解答群
ア いずれかのキーが押下された。
イ いずれのキーも押下されなかった。
ウ 両方のキーが押下された。
エ “入/切”キーが押下された。
オ “入/切”キーが押下されなかった。
d 〜 f に関する解答群
ア 30 分モード イ 60 分モード ウ 停止 エ 連続
設問3 タイマ割込み処理の流れ図を図 3 に示す。タイマ割込みは 100 ミリ秒ごとに発生する。図 3 中の に入れる正しい答えを,解答群の中から選べ。
図3 タイマ割込み処理の流れ図
g に関する解答群
ア 6 イ 10 ウ 60 エ 100 オ 1000
h に関する解答群
ア 30 イ 60 ウ 180 エ 1800 オ 3600
i に関する解答群
ア 30 - LED イ 30 - LED 及び 60 - LED
ウ 30 - LED 及び ON - LED エ 60 - LED
オ 60 - LED 及び ON - LED