今回はチャレンジ課題です。
ADコンバータの設定を変えてみよう
ADコンバータの設定のところで、結果の値をADRESに右詰にするようにしました。
この設定を左詰にすると、プログラムをどのように変更すればよいか検討してみてください。左詰にする場合、ADCON1レジスタの設定を以下のように変更します。
ADCON1 = 0b00000000; // 結果数値は左寄せ、ADコンバータクロックはFOSC/2、基準電圧はVDD
このように変更すると、ADRESHの値を8-bitの数値として見ることができます。判定する数値は8-bitになるので、判定範囲が変わりますよね。
時間表現方法を変える
これはADコンバータ機能とは関係ありませんが、タイマー時間を変更すると変更後のタイマー時間をLEDの点滅回数で表現していました。ただこの方法の場合、タイマー時間が長くなるとLEDの点滅回数が増えてしまいます。何十回も点滅する様子を見て正確に点滅回数を数えるのは、タイマーというより、そういうゲームですよね。
この点滅表現を、例えば、1を早い点滅1回、5をちょっと時間が長めの点灯1回、というように点滅回数が減るようにしてみてください。
プリセットタイマー時間から選択する
電源をONにした場合は、例えば5分タイマーとします。
この状態で、例えば黒のスイッチを1回押すと、3分、もう1回押すと1分というように、プリセット値から選択するようなスイッチに変更してみてください。
白いスイッチを押した場合は、7分、10分というように長い時間を選択するようにします。
今までは、黒のスイッチと白のスイッチはタイマー時間の値を増減する機能としていましたが、ここではプリセット値を選択するスイッチ、という機能にしてみてください。
次回から、EEPROMについて説明します。
更新履歴
日付 | 内容 |
---|---|
2017.7.29 | 新規投稿 |