Timer Interface Module (TIM1)
Data Sheet
MC68HC908GR60A MC68HC908GR48A MC68HC908GR32A
258
Timer Interface Module (TIM1)
MOTOROLA
period. Writing a larger value in an output compare interrupt routine (at the
end of the current pulse) could cause two output compares to occur in the
same counter overflow period.
17.3.3.2 Buffered Output Compare
Channels 0 and 1 can be linked to form a buffered output compare channel whose
output appears on the T1CH0 pin. The TIM1 channel registers of the linked pair
alternately control the output.
Setting the MS0B bit in TIM1 channel 0 status and control register (TSC0) links
channel 0 and channel 1. The output compare value in the TIM1 channel 0
registers initially controls the output on the T1CH0 pin. Writing to the TIM1
channel 1 registers enables the TIM1 channel 1 registers to synchronously control
the output after the TIM1 overflows. At each subsequent overflow, the TIM1
channel registers (0 or 1) that control the output are the ones written to last. T1SC0
controls and monitors the buffered output compare function, and TIM1 channel 1
status and control register (T1SC1) is unused. While the MS0B bit is set, the
channel 1 pin, T1CH1, is available as a general-purpose I/O pin.
NOTE:
In buffered output compare operation, do not write new output compare values to
the currently active channel registers. User software should track the currently
active channel to prevent writing a new value to the active channel. Writing to the
active channel registers is the same as generating unbuffered output compares.
17.3.4 Pulse Width Modulation (PWM)
By using the toggle-on-overflow feature with an output compare channel, the TIM1
can generate a PWM signal. The value in the TIM1 counter modulo registers
determines the period of the PWM signal. The channel pin toggles when the
counter reaches the value in the TIM1 counter modulo registers. The time between
overflows is the period of the PWM signal.
As Figure 17-4 shows, the output compare value in the TIM1 channel registers
determines the pulse width of the PWM signal. The time between overflow and
output compare is the pulse width. Program the TIM1 to clear the channel pin on
output compare if the polarity of the PWM pulse is 1 (ELSxA = 0). Program the
TIM1 to set the pin if the polarity of the PWM pulse is 0 (ELSxA = 1).
The value in the TIM1 counter modulo registers and the selected prescaler output
determines the frequency of the PWM output. The frequency of an 8-bit PWM
signal is variable in 256 increments. Writing $00FF (255) to the TIM1 counter
modulo registers produces a PWM period of 256 times the internal bus clock period
The value in the TIM1 channel registers determines the pulse width of the PWM
output. The pulse width of an 8-bit PWM signal is variable in 256 increments.
Writing $0080 (128) to the TIM1 channel registers produces a duty cycle of
128/256 or 50%.