[
課題6
]
PD6に接続した黄色LEDを8ビットPWM制御により蛍が光っているようにふわぁーっと光りすぅーっと消えるように光らせる。ちなみに、西日本の
蛍は約2秒周期、東日本では約4秒周期といわれています。PD0にトグルスイッチを付け、その入力値により西日本(PD0=0)と東日本(PD0=1)の周期を切替えて、光ら
せてください。
条件: 0.蛍らしく光らせる
1.明るさは20ステップ以上で変化させる
2.明るさデータはフラッシュメモリ上に用意しておきZレジスタ間接アドレッシングで lpm 命令で取得する
3.データを更新するタイミングは
Timer1 オーバーフロー割り込み
例えばTimer1へシステムクロックの1024分周のクロックを入力し、10回/秒の間隔で
Timer1オーバーフロー割り込みを実施するためには
216-8000000/10/1024 をTCNT1(16bitカウンタ)の初期値とする必要があるので
TCNT1H に high(65536-80000000/10/1024)
TCNT1L に low(65536 -80000000/10/1024)
を入れてカウントを開始する。
注: 必ずTCNT1H、TCNT1Lの順にデータをoutすること。
または,Timer1 比較A割込み
例えばTimer1へシステムクロックの1024分周のクロックを入力し、10回/秒の間隔で
Timer1比較A割り込みを実施するためには
8000000/10/1024 をOCR1A(16bit)の値とする必要があるので
OCR1AH に high(80000000/10/1024)
OCR1AL に low(80000000/10/1024)
を入れTCNT1HおよびTCNT1Lを0にしてカウントを開始する。
注: 必ず
OCR1AH、OCR1ALの順
TCNT1H、TCNT1Lの順
にデータをoutすること。
を用いよ