English
Language : 

MC68HC05T16 Datasheet, PDF (45/128 Pages) Motorola, Inc – High-density complementary metal oxide semiconductor (HCMOS) microcontroller unit
5.1.1 Counter
– Counter Register location
– Alternate Counter Register
High byte - $18, Low byte - $19
High byte - $1A, Low byte - $1B
The key element in the programmable timer is a 16-bit, free-running counter or counter register,
preceded by a prescaler that divides the internal processor clock by four. The prescaler gives the
timer a resolution of 0.95µs if the internal bus clock is 4.2MHz. The counter is incremented during
the low portion of the internal bus clock. Software can read the counter at any time without
affecting its value.
The double-byte, free-running counter can be read from either of two locations, $18 and $19
(counter register) or $1A and $1B (counter alternate register). Reading only the least significant
byte (LSB) of the free-running counter ($19 or $1B) receives the count value at the time of the
5
read. If the most significant byte (MSB) ($18 or $1A) is read first, the LSB ($19 or $1B) is
transferred to a buffer. This buffer value remains fixed after the first MSB read, even if the MSB is
read several times. This buffer is accessed when the LSB ($19 or $1B) is read, and thus,
completes a read sequence of the complete counter value.
Reading the Timer Counter register low byte after reading the timer Status Register clears the
timer overflow flag (TOF), but reading the Counter Alternate register does not affect TOF.
Therefore, the counter alternate register can be read any time without risk of missing timer
overflow interrupts due to a cleared TOF.
The free-running counter is preset to $FFFC during reset and is always a read-only register.
During a power-on reset, the counter is also preset to $FFFC and begins running after the
oscillator start-up delay. The value in the free-running counter repeats every 262144 internal bus
clock cycles. TOF is set when the counter overflows (from $FFFF to $0000); this will cause an
interrupt if TOVFIE (bit 4 of Timer Control register) is set.
In some timing control applications it may be desirable to reset the counter under software control.
When the low byte of the counter ($19 or $1B) is written to, the counter is set to its reset value of
$FFFC. The divide-by-4 prescaler is also reset and the counter resumes normal counting
operation. All of the flags and enable bits remain unaltered by this operation. If access has
previously been made to the high byte of the free-running counter ($18 or $1A), then the reset
counter operation terminates the access sequence.
5.1.2 Output Compare Registers
There are two 16-bit Output Compare registers:
– Output Compare 0 Register
– Output Compare 1 Register
High byte - $14, Low byte - $15
High byte - $16, Low byte - $17
Each 16-bit Output Compare register is made up of two 8-bit registers. These Output Compare
registers are used for several purposes, such as indicating when a period of time has elapsed. All
MC68HC05T16
TIMERS
TPG
MOTOROLA
5-3