タイマー0 / ノーマルモード / コンペアマッチA時にOC0Aピンをトグルする

pp.474-475

今度はノーマルモードにして、コンペアマッチ時に出力をトグルしてみる。ノーマルモードであるため、コンペアマッチしてもカウントはとまらない。結局コンペア値は関係ない。

ここでは、内部クロックを1024分周してカウントしている。
パルス幅: 256 * 1/(8 MHz/1024) = 32.768 ms
周波数: 1/(32.768 ms * 2) ≒ 15.3 Hz

f:id:ti-nspire:20200716130114p:plain:w500

    SBI DDRD, PD6                      ; PD6 (OC0A)のIOをOUTにする。

    LDI R20, 3                         ; コンペア値Aを3にする。
    OUT OCR0A, R20

    LDI R20, (1 << COM0A0)             ; コンペアマッチA時にOC0A (PD6)をトグル。ただしノーマルモード。
    OUT TCCR0A, R20

    LDI R20, (1 << CS02) | (1 << CS00) ; 内部クロックを1024分周してカウント。
    OUT TCCR0B, R20