AVRタイマ (ソフトウェア編)
まずは前回の宿題の回答を載せておきましょう。
LEDのスキャンの途中で以下のように読みます。
- PB0~7を全て"L"にします。
- PD0を"L"、PD1~3を"H"にします。
- PD4を読んで"L"ならSW1が押されていると判定。
- PD1を"L"、PD0,2,3を"H"にします。
- PD4を読んで"L"ならSW2が押されていると判定。
- 同様にSW3,4も判定します。
もし4つで不足ならPD5も使えば8つまで増やせます。
PB0~7を"L"にしておくのはキーのスキャン中にQ1~4がOnしてしまうからです。LEDは一瞬でも点灯すると意外に目立つことがあるので注意したほうが良いです。逆にLEDのスキャン中にはPD4に変な入力がありますがソフトで無視するので問題ありません。