18.9.1 TC0 Control Register A

Name: TCCR0A
Offset: 0x44
Reset: 0x00
Property: When addressing as I/O register: address offset is 0x24

Bit 76543210 
 COM0A[1:0]COM0B [1:0]  WGM0[1:0] 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 

Bits 7:6 – COM0A[1:0] Compare Output Mode for Channel A

These bits control the Output Compare pin (OC0A) behavior. If one or both of the COM0A[1:0] bits are set, the OC0A output overrides the normal port functionality of the I/O pin it is connected to. However, note that the Data Direction Register (DDR) bit corresponding to the OC0A pin must be set in order to enable the output driver.

When OC0A is connected to the pin, the function of the COM0A[1:0] bits depends on the WGM0[2:0] bit setting. The table below shows the COM0A[1:0] bit functionality when the WGM0[2:0] bits are set to a normal or CTC mode (non-PWM).

Table 18-7. Compare Output Mode, Non-PWM
COM0A[1]COM0A[0]Description
00Normal port operation, OC0A disconnected.
01Toggle OC0A on compare match.
10Clear OC0A on compare match.
11Set OC0A on compare match.

The table below shows the COM0A[1:0] bit functionality when the WGM0[1:0] bits are set to fast PWM mode.

Table 18-8. Compare Output Mode, Fast PWM(1)
COM0A[1]COM0A[0]Description
00Normal port operation, OC0A disconnected.
01

WGM0[2:0]: Normal port operation, OC0A disconnected.

WGM0[2:1]: Toggle OC0A on compare match.

10Clear OC0A on compare match, set OC0A at BOTTOM (Non-inverting mode).
11Set OC0A on compare match, clear OC0A at BOTTOM (Inverting mode).
Note:
  1. A special case occurs when OCR0A equals TOP and COM0A[1] is set. In this case the compare match is ignored, but the set or clear is done at BOTTOM. Refer to Fast PWM Mode for details.

The table below shows the COM0A[1:0] bit functionality when the WGM0[2:0] bits are set to phase correct PWM mode.

Table 18-9. Compare Output Mode, Phase Correct PWM Mode(1)
COM0A[1]COM0A[0]Description
00Normal port operation, OC0A disconnected.
01

WGM0[2:0]: Normal port operation, OC0A disconnected.

WGM0[2:1]: Toggle OC0A on compare match.

10Clear OC0A on compare match when up-counting. Set OC0A on compare match when down-counting.
11Set OC0A on compare match when up-counting. Clear OC0A on compare match when down-counting.
Note:
  1. A special case occurs when OCR0A equals TOP and COM0A[1] is set. In this case, the compare match is ignored, but the set or clear is done at TOP. Refer to Phase Correct PWM Mode for details.

Bits 5:4 – COM0B [1:0] Compare Output Mode for Channel B

These bits control the Output Compare pin (OC0B) behavior. If one or both of the COM0B[1:0] bits are set, the OC0B output overrides the normal port functionality of the I/O pin it is connected to. However, note that the Data Direction Register (DDR) bit corresponding to the OC0B pin must be set in order to enable the output driver.

When OC0B is connected to the pin, the function of the COM0B[1:0] bits depends on the WGM0[2:0] bit setting. The table shows the COM0B[1:0] bit functionality when the WGM0[2:0] bits are set to a normal or CTC mode (non- PWM).

Table 18-3. Compare Output Mode, Non-PWM
COM0B[1]COM0B[0]Description
00Normal port operation, OC0B disconnected.
01Toggle OC0B on compare match.
10Clear OC0B on compare match.
11Set OC0B on compare match.

The table below shows the COM0B[1:0] bit functionality when the WGM0[2:0] bits are set to fast PWM mode.

Table 18-4. Compare Output Mode, Fast PWM(1)
COM0B[1]COM0B[0]Description
00Normal port operation, OC0B disconnected.
01Reserved.
10Clear OC0B on compare match, set OC0B at BOTTOM, (Non-inverting mode).
11Set OC0B on compare match, clear OC0B at BOTTOM, (Inverting mode).
Note:
  1. A special case occurs when OCR0B equals TOP and COM0B1 is set. In this case, the compare match is ignored, but the set or clear is done at TOP. Refer to Fast PWM Mode for details.

The table below shows the COM0B[1:0] bit functionality when the WGM0[2:0] bits are set to phase correct PWM mode.

Table 18-5. Compare Output Mode, Phase Correct PWM Mode(1)
COM0B[1]COM0B[0]Description
00Normal port operation, OC0B disconnected.
01Reserved.
10Clear OC0B on compare match when up-counting. Set OC0B on compare match when down-counting.
11Set OC0B on compare match when up-counting. Clear OC0B on compare match when down-counting.
Note:
  1. A special case occurs when OCR0B equals TOP and COM0B[1] is set. In this case, the compare match is ignored, but the set or clear is done at TOP. Refer to Phase Correct PWM Mode for details.

Bits 1:0 – WGM0[1:0] Waveform Generation Mode

Combined with the WGM02 bit found in the TCCR0B register, these bits control the counting sequence of the counter, the source for maximum (TOP) counter value, and what type of waveform generation to be used. Modes of operation supported by the Timer/Counter unit are: Normal mode (counter), Clear Timer on Compare Match (CTC) mode, and two types of Pulse Width Modulation (PWM) modes (see Modes of Operation).

Table 18-6. Waveform Generation Mode Bit Description
ModeWGM0[2]WGM0[1]WGM0[0]Timer/Counter Mode of OperationTOPUpdate of OCR0x atTOV Flag Set on(1)(2)
0000Normal0xFFImmediateMAX
1001PWM, Phase Correct0xFFTOPBOTTOM
2010CTCOCR0AImmediateMAX
3011Fast PWM0xFFBOTTOMMAX
4100Reserved---
5101PWM, Phase CorrectOCR0ATOPBOTTOM
6110Reserved---
7111Fast PWMOCR0ABOTTOMTOP
Note:
  1. MAX = 0xFF
  2. BOTTOM = 0x00