AT89C5115
Programmable
Counter Array (PCA)
The PCA provides more timing capabilities with less CPU intervention than the standard
timer/counters. Its advantages include reduced software overhead and improved accu-
racy. The PCA consists of a dedicated timer/counter which serves as the time base for
an array of two compare/capture modules. Its clock input can be programmed to count
any of the following signals:
•
•
•
•
PCA clock frequency/6 (See “clock” section)
PCA clock frequency/2
Timer 0 overflow
External input on ECI (P1.2)
Each compare/capture modules can be programmed in any one of the following modes:
•
•
•
•
Rising and/or falling edge capture,
Software timer
High-speed output
Pulse width modulator
When the compare/capture modules are programmed in capture mode, software timer,
or high speed output mode, an interrupt can be generated when the module executes its
function. Both modules and the PCA timer overflow share one interrupt vector.
The PCA timer/counter and compare/capture modules share Port 1 for external I/Os.
These pins are listed below. If the port is not used for the PCA, it can still be used for
standard I/O.
PCA Component
16-bit Counter
External I/O Pin
P1.2/ECI
16-bit Module 0
16-bit Module 1
P1.3/CEX0
P1.4/CEX1
PCA Timer
The PCA timer is a common time base for both modules (See Figure 9). The timer count
source is determined from the CPS1 and CPS0 bits in the CMOD SFR (See Table 8)
and can be programmed to run at:
•
•
•
•
1/6 the PCA clock frequency.
1/2 the PCA clock frequency.
The Timer 0 overflow.
The input on the ECI pin (P1.2).
71
4128F–8051–05/06