見出し画像

ATMEGAで学習しよう(レッスン4)

「8 ビットタイマ(CTC モード)」


<目的>
・8 ビットタイマ(CTC モード)の時間生成方法について学ぶ。

<動作概要>
・SW1 が押されたらLED1 を約0.2 秒毎に点滅させる。(外部割り込み0)
・SW2 が押されたらタイマを停止する。停止タイミングにより点灯か消灯になる。(外部割り込み1)

<ポイント>
・タイマの停止と起動はプリスケーラ設定で行う。
・タイマ(ノーマルモード)と異なり、希望時間を得るためのカウント値の再セットは不要。
・タイマ(ノーマルモード)と異なり、カウンタの最大値は自分で設定でき、その次のカウントアップで0x00 にクリアされカウントアップが継続する。
・タイマ(ノーマルモード)と割込み名称が変わるので注意。

<レジスタ説明>

動作モードをレッスン3 のノーマルモードではなく、CTC モードにしています。
そのために、TCCR0A レジスタの1 ビット目(WGM01)、0 ビット目(WGM00)を設定します。
表を見ると、WGM02、WGM01、WGM00 が0,1,0 のときCTC モードとなっています。

カウント値 セットのところで、0CR0A = 195 を設定しています。

TIMSK0 レジスタの設定をします。

CTC モードを使用するので、ビット1 のOCIE0A を1 にします。
ビット2 のOCIE0B もCTC モード用ですが、本レッスンでは使用しません。



<プログラム>

ここから先は

2,428字 / 1ファイル
この記事のみ ¥ 100
期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?