問17 マイコンを用いた電子ポットに関する次の記述を読んで,設問 1 〜 3 に答えよ。
電子ポットの水温制御部のシステム構成図を図 1 に示す。拡張 COMET は,10 秒ごとに 発生するタイマ割込み(割込み 0 )の処理で,電子ポット内の水温を制御する。
〔タイマ割込み処理による水温制御の説明〕
(1) 計測した水温に応じて,ヒータを OFF,弱,又は強のいずれかに設定することに よって水温を制御する。
(2) 水温は,温度センサからの温度データを A/D 変換器を介して読み込むことに よって計測する。水温と A/D 変換器からの出力値は比例していて,その関係は表 1 に 示すとおりである。
(3) 計測温度が 93 ℃未満のときは,ヒータを強にする。ヒータを一度強にしたら強を 保ち,98 ℃以上になったときにヒータを OFF にする。ヒータを強から OFF にすることに よって水温は徐々に下がり,98 ℃未満になったらヒータを弱にし,93 ℃までこの状態を 保つ。
図1 電子ポットの水温制御部のシステム構成図
表1 水温と A/D 変換器の出力値の関係
設問1 表 2 は,水温を連続して 10 回計測したときの,A/D 変換器の出力値と 計測温度に対するヒータの設定の推移を示す。表 2 中の に入れる正しい答えを,解答群の中から選べ。
表2 計測温度に対するヒータの設定の推移
A/D 変換器の出力値
(16 進数)
a に関する解答群
ア D7 イ D8 ウ D9
エ DA オ DB
b に関する解答群
ア 97 イ 97.5 ウ 98
エ 98.5 オ 99
設問2 タイマ割込み処理の流れ図を図 2 に示す。流れ図中の に入れる正しい答えを,解答群の中から選べ。
図2 タイマ割込み処理の流れ図
c に関する解答群
ア TEMP = D6 イ TEMP < D6 ウ TEMP > D6
エ TEMP ≦ D6 オ TEMP ≧ D6
d に関する解答群
ア HSTS = 1 イ HSTS = 2 ウ HSTS ≠ 0
エ HSTS ≠ 1 オ HSTS ≠ 2
設問3 次の記述中の に 入れる正しい答えを,解答群の中から選べ。
開発中に水温が 98 ℃を超えてもヒータが強のままという現象が発生した。 その原因を調査した結果,温度センサが故障しており,水温が 98 ℃以上になっても 計測温度は 70 ℃ぐらいにしかならなかった。そこで,温度センサや A/D 変換器が 故障しても,ヒータが強に固定されないように,タイマ割込み処理のプログラムを 変更することにした。
ヒータが強の場合,計測した水温が 20 秒間で 2 ℃以上上昇しなければ,ヒータを OFF にすることにした。その変更は次の 2 項目である。
(1) 20 秒前の A/D 変換器の出力値を記憶する変数 X, 秒前の A/D 変換器の 出力値を記憶する変数 Y を追加する。
(2) ヒータが強の場合,現在の A/D 変換器の出力値が,変数 X に記憶されている値 より 以上大きくなければ, ヒータを OFF にしてタイマ割込みを禁止にする。 以上大きければ,変数 X に 変数 Y の値を,変数 Y に現在の A/D 変換器の出力値を,それぞれ記憶する。
解答群
ア 1 イ 2 ウ 3 エ 4 オ 5
カ 10 キ 20 ク 30 ケ 40 コ 50