Datasheet

111
ATtiny828 [DATASHEET]
8371A–AVR–08/12
The I/O Registers, I/O bits, and I/O pins in the figure are shown in bold. Only the parts of the general I/O port control
registers (DDR and PORT) that are affected by the COM1x[1:0] bits are shown. When referring to the OC1x state, the
reference is for the internal OC1x Register, not the OC1x pin. If a system reset occur, the OC1x Register is reset to “0”.
The general I/O port function is overridden by the Output Compare (OC1x) from the Waveform Generator if either of the
COM1x[1:0] bits are set. However, the OC1x pin direction (input or output) is still controlled by the Data Direction
Register (DDR) for the port pin. The Data Direction Register bit for the OC1x pin (DDR_OC1x) must be set as output
before the OC1x value is visible on the pin. The port override function is generally independent of the Waveform
Generation mode, but there are some exceptions. See Table 39 on page 124, Table 40 on page 124 and Table 41 on
page 124 for details.
The design of the Output Compare pin logic allows initialization of the OC1x state before the output is enabled. Note that
some COM1x[1:0] bit settings are reserved for certain modes of operation. See “Register Description” on page 123
The COM1x[1:0] bits have no effect on the Input Capture unit.
12.7.1 Compare Output Mode and Waveform Generation
The Waveform Generator uses the COM1x[1:0] bits differently in normal, CTC, and PWM modes. For all modes, setting
the COM1x[1:0] = 0 tells the Waveform Generator that no action on the OC1x Register is to be performed on the next
compare match. For compare output actions in the non-PWM modes refer to Table 39 on page 124. For fast PWM mode
refer to Table 40 on page 124, and for phase correct and phase and frequency correct PWM refer to Table 41 on page
124.
A change of the COM1x[1:0] bits state will have effect at the first compare match after the bits are written. For non-PWM
modes, the action can be forced to have immediate effect by using the FOC1x strobe bits.
12.8 Modes of Operation
The mode of operation, i.e., the behavior of the Timer/Counter and the Output Compare pins, is defined by the
combination of the Waveform Generation mode (WGM1[3:0]) and Compare Output mode (COM1x[1:0]) bits. The
Compare Output mode bits do not affect the counting sequence, while the Waveform Generation mode bits do. The
COM1x[1:0] bits control whether the PWM output generated should be inverted or not (inverted or non-inverted PWM).
For non-PWM modes the COM1x[1:0] bits control whether the output should be set, cleared or toggle at a compare
match (“Compare Match Output Unit” on page 110)
For detailed timing information refer to “Timer/Counter Timing Diagrams” on page 118.
12.8.1 Normal Mode
The simplest mode of operation is the Normal mode (WGM1[3:0] = 0). In this mode the counting direction is always up
(incrementing), and no counter clear is performed. The counter simply overruns when it passes its maximum 16-bit value
(MAX = 0xFFFF) and then restarts from the BOTTOM (0x0000). In normal operation the Timer/Counter Overflow Flag
(TOV1) will be set in the same timer clock cycle as the TCNT1 becomes zero. The TOV1 flag in this case behaves like a
17th bit, except that it is only set, not cleared. However, combined with the timer overflow interrupt that automatically
clears the TOV1 flag, the timer resolution can be increased by software. There are no special cases to consider in the
Normal mode, a new counter value can be written anytime.
The Input Capture unit is easy to use in Normal mode. However, observe that the maximum interval between the external
events must not exceed the resolution of the counter. If the interval between events are too long, the timer overflow
interrupt or the prescaler must be used to extend the resolution for the capture unit.
The Output Compare units can be used to generate interrupts at some given time. Using the Output Compare to
generate waveforms in Normal mode is not recommended, since this will occupy too much of the CPU time.
12.8.2 Clear Timer on Compare Match (CTC) Mode
In Clear Timer on Compare or CTC mode (WGM1[3:0] = 4 or 12), the OCR1A or ICR1 Register are used to manipulate
the counter resolution. In CTC mode the counter is cleared to zero when the counter value (TCNT1) matches either the
OCR1A (WGM1[3:0] = 4) or the ICR1 (WGM1[3:0] = 12). The OCR1A or ICR1 define the top value for the counter, hence