
C8051F80x-83x
74
Rev. 1.0
13.5. CS0 Conversion Accumulator
CS0 can be configured to accumulate multiple conversions on an input channel. The number of samples to
be accumulated is configured using the CS0ACU2:0 bits (CS0CF2:0). The accumulator can accumulate 1,
4, 8, 16, 32, or 64 samples. After the defined number of samples have been accumulated, the result is con-
verted to a 16-bit value by dividing the 22-bit accumulator by either 1, 4, 8, 16, 32, or 64 (depending on the
CS0ACU[2:0] setting) and copied to the CS0DH:CS0DL SFRs.
Table 13.1. Operation with Auto-scan and Accumulate
Auto
-Sca
n
Enabled
Accumulator
Enabled
CS0 Conversion
Complete
Interrupt
Behavior
CS0 Greater Than Interrupt
Behavior
CS0MX Behavior
NN
CS0INT Interrupt
serviced after 1
conversion com-
pletes
Interrupt serviced after 1 con-
version completes if value in
CS0DH:CS0DL is greater than
CS0THH:CS0THL
CS0MX unchanged.
NY
CS0INT Interrupt
serviced after M
conversions com-
plete
Interrupt serviced after M con-
versions complete if value in
16-bit accumulator is greater
than CS0THH:CS0THL
CS0MX unchanged.
YN
CS0INT Interrupt
serviced after 1
conversion com-
pletes
Interrupt serviced after con-
version completes if value in
CS0DH:CS0DL is greater than
CS0THH:CS0THL;
Auto-Scan stopped
If greater-than comparator detects conver-
sion value is greater than
CS0THH:CS0THL, CMUX0 is left
unchanged; otherwise, CMUX0 updates to
the next channel (CS0MX + 1) and wraps
back to CS0SS after passing CS0SE
YY
CS0INT Interrupt
serviced after M
conversions com-
plete
Interrupt serviced after M con-
versions complete if value in
16-bit accumulator is greater
than CS0THH:CS0THL; Auto-
Scan stopped
If greater-than comparator detects conver-
sion value is greater than
CS0THH:CS0THL, CS0MX is left
unchanged; otherwise, CS0MX updates to
the next channel (CS0MX + 1) and wraps
back to CS0SS after passing CS0SE
M = Accumulator setting (1x, 4x, 8x, 16x, 32x, 64x)