ATMEGAで学習しよう(レッスン15)
「PWM 制御」
<目的>
・PWM 制御について学ぶ。
<動作概要>
・SW1 が押されたらLED3 をホタルのように点灯させる。(外部割り込み0)
・SW2 が押されたらタイマ2 を停止しそのときの明るさで止める。(外部割り込み1)
・再度SW1 が押されたら明るさが変化する。
<ポイント>
・LED3 は設定されたduty(ON とOFF の比率)で高速点滅するが、人の目には連続した光に見える。
・duty が低い(OFF 時間>>ON 時間)と暗く見え、duty が高い(OFF 時間<<ON 時間)と明るく見える。
・10ms 毎にタイマ2 の割込みをかけ、duty を変える。
<レジスタ説明>
レッスン4 でタイマ0 のCTC モードについて書きましたが、タイマ2 のレジスタはタイマ0 で使用したレジスタの0 の部分を2 に読み替えて下さい。
例えば、OCR0A レジスタはOCR2A レジスタ、TIMSK0 レジスタはTIMSK2 レジスタと読み替えます。
レジスタを構成するビットも同様に、例えばTIMSK0 レジスタビット0 のTOIE0 は、TIMSK2 レジスタではTOIE2 となります。
<プログラム>
この記事が気に入ったらチップで応援してみませんか?