The C8051F12x and C8051F13x device families are fully integrated mixed-signal System-on-a-Chip
MCUs with 64 digital I/O pins (100-pin TQFP) or 32 digital I/O pins (64-pin TQFP).
Highlighted features are listed below. Refer to Table 1.1 for specific product feature selection.
•True 12 or 10-bit 100 ksps ADC with PGA and 8-channel analog multiplexer
•True 8-bit 500 ksps ADC with PGA and 8-channel analog multiplexer (C8051F12x Family)
•Two 12-bit DACs with programmable update scheduling (C8051F12x Family)
•2-cycle 16 by 16 Multiply and Accumulate Engine (C8051F120/1/2/3 and C8051F130/1/2/3)
•128 or 64 kB of in-system programmable Flash memory
•8448 (8 k + 256) bytes of on-chip RAM
•External Data Memory Interface with 64 kB address space
•SPI, SMBus/I2C, and (2) UART serial interfaces implemented in hardware
•Five general purpose 16-bit Timers
•Programmable Counter/Timer Array with 6 capture/compare modules
•On-chip Watchdog Timer, V
Monitor, and Temperature Sensor
DD
With on-chip V
are truly stand-alone System-on-a-Ch ip solutions. All analog and digital peripherals are enabled/disabled
and configured by user firmware. The Flash memory can be reprogrammed even in-circuit, providing nonvolatile data storage, and also allowing field upgrades of the 8051 firmware.
On-board JTAG debug circuitry allows non-intrusive (uses no on-chip resources), full speed, in-circuit
debugging using the production MCU installed in the final application. This debug system supports inspection and modification of memory and registers, setting breakpoints, watchpoints, single stepping, run and
halt commands. All analog and digital peripherals are fully functional while debugging using JTAG.
Each MCU is specified for operation over the industrial temperature range (–45 to +85 °C). The Port I/O,
RST
, and JTAG pins are tolerant for input signals up to 5 V. The devices are available in 100-pin TQFP or
64-pin TQFP packaging. Table 1.1 lists the specific device features and package offerings for each part
number. Figure 1.1 through Figure 1.6 show functional block diagrams for each device.
monitor, Watchdog Timer, and clock oscillator, the C8051F12x and C8051F13x devices
DD
Rev. 1.419
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 1.1. Product Selection Guide
Ordering Part Number
C8051F120100 128 k 8448
C8051F120-GQ 100 128 k 8448
C8051F121100 128 k 8448
C8051F121-GQ 100 128 k 8448
C8051F122100 128 k 8448
C8051F122-GQ 100 128 k 8448
C8051F123100 128 k 8448
C8051F123-GQ 100 128 k 8448
C8051F12450 128 k 8448 C8051F124-GQ 50 128 k 8448 C8051F12550 128 k 8448 C8051F125-GQ 50 128 k 8448 C8051F12650 128 k 8448 C8051F126-GQ 50 128 k 8448 C8051F12750 128 k 8448 C8051F127-GQ 50 128 k 8448 C8051F130100 128 k 8448
C8051F130-GQ 100 128 k 8448
C8051F131100 128 k 8448
C8051F131-GQ 100 128 k 8448
C8051F132100 64 k 8448
C8051F132-GQ 100 64 k 8448
C8051F133100 64 k 8448
C8051F133-GQ 100 64 k 8448
The C8051F12x and C8051F13x utilize Silicon Labs’ proprietary CIP-51 microcontroller core. The CIP-51
is fully compatible with the MCS-51™ instruction set; standard 803x/805x assemblers and compilers can
be used to develop software. The core has all the periphera l s include d with a standard 8052, including five
16-bit counter/timers, two full-duplex UARTs, 256 bytes of internal RAM, 128 byte Special Function Register (SFR) address space, and 8/4 byte-wide I/O Ports.
1.1.2. Improved Throughput
The CIP-51 employs a pipelined architectu re that grea tly increases its instruction throughput over the st andard 8051 architecture. In a standard 8051, all instructions except for MUL and DIV take 12 or 24 system
clock cycles to execute with a maximum system clock of 12-to-24 MHz. By contrast, the CIP-51 core executes 70% of its instructions in one or two system clock cycles, with only four instructions taking more than
four system clock cycles.
The CIP-51 has a total of 109 instructions. The table below shows the total number of instructions that
require each execution time.
Clocks to Execute1 22/333/444/55 8
Number of Instructions265051473121
With the CIP-51's maximum system clock at 100 MHz, the C8051F120/1/2/3 and C8051F130/1/2/3 have a
peak throughput of 100 MIPS (the C8051F124/5/6/7 have a peak throughput of 50 MIPS).
Rev. 1.427
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.1.3. Additional Features
Several key enhancements are implemented in the CIP-51 core and peripherals to improve overall performance and ease of use in end applications.
The extended interrupt handler provides 20 interrupt sources into the CIP-51 (as opposed to 7 for the standard 8051), allowing the numerous analog and digital peripherals to interrupt the controller. An interrupt
driven system requires less intervention by the MCU, giving it more effective throughput. The extra interrupt sources are very useful when building multi-tasking, real-time systems.
There are up to seven reset sources for the MCU: an on-board V
monitor, a Watchdog Timer, a missing
DD
clock detector, a voltage level detection from Comparator0, a forced software reset, the CNVSTR0 input
pin, and the RST
nally generated POR to be output on the RST
Input pin may be disabled by the user in software; the V
pin. The RST pin is bi-directional, accommodating an external rese t, or allowing the inter-
pin. Each reset source except for the VDD monitor and Reset
monitor is enabled/disabled via th e MONEN
DD
pin. The Watchdog Timer may be permanently enabled in software after a power-on reset during MCU initialization.
The MCU has an internal, stand alone clock generator which is used by default as the system clock after
any reset. If desired, the clock source may be switched on the fly to the external oscillator , which can use a
crystal, ceramic resonator, capacitor, RC, or external clock source to generate the system clock. This can
be extremely useful in low power applications, allowing the MCU to run from a slow (power saving) external crystal source, while periodically switching to the 24.5 MH z internal oscillator as needed. Additionally,
an on-chip PLL is provided to achieve higher system clock speeds for increased throughput.
V
DD
(Port I/O)
CP0+
CP0-
XTAL1
XTAL2
Crossbar
Internal
Clock
Generator
PLL
Circuitry
OSC
CNVSTR
(CNVSTR
reset
enable)
Comparator0
+
-
(CP0
reset
enable)
System
Clock
Clock Select
Missing
Clock
Detector
(one-
shot)
EN
Enable
WDT
Enable
MCD
CIP-51
Microcontroller
Core
Extended Interrupt
Handler
EN
WDT
Supply
Monitor
+
-
PRE
WDT
Supply
Reset
Timeout
Strobe
Software Reset
System Reset
(wired-OR)
Reset
Funnel
RST
Figure 1.7. On-Board Clock and Reset
28Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.2.On-Chip Memory
The CIP-51 has a standard 8051 program and data address configuration. It includes 256 bytes of data
RAM, with the upper 128 bytes dual-mapped. Indirect addressing accesses the upper 128 bytes of general
purpose RAM, and direct addressing accesses the 128 byte SFR address space. The lower 128 bytes of
RAM are accessible via direct and indirect addressing. The first 32 bytes are addressable as four banks of
general purpose registers, and the next 16 bytes can be byte addressable or bit addressable.
The devices include an on-chip 8k byte RAM block and an external memory interf ace (EM IF) for acce ssing
off-chip data memory. The on-chip 8k byte block can be addressed over the entire 64k external data memory address range (overlapping 8k boundaries). External data memory address space can be mapped to
on-chip memory only, off-chip memor y only, or a combination of the two (addresses up to 8k directed to onchip, above 8k directed to EMIF). The EMIF is also configurable for multiplexed or non-multiplexed
address/data lines.
On the C8051F12x and C8051F130/1, the MCU’s program memory consists of 128 k bytes of banked
Flash memory. The 1024 bytes from addresses 0x1FC00 to 0x1FFFF are reserved. On the C8051F132/3,
the MCU’s program memory consists of 64 k bytes of Flash memory. This memory may be reprogrammed
in-system in 1024 byte sectors, and requires no special off-chip programming voltage.
On all devices, there are also two 128 byte sectors at addresses 0x20000 to 0x200FF, which may be used
by software for data storage. See Figure 1.8 for the MCU system memory map.
PROGRAM/DATA MEMORY
(FLASH)
C8051F120/1/2/3/4/5/6/7
C8051F130/1
0x200FF
0x20000
0x1FFFF
0x1FC00
0x1FBFF
0x00000
Scrachpad Memory
(DATA only)
RESERVED
FLASH
(In-System
Programmable in 1024
Byte Sectors)
C8051F132/3
0x200FF
0x20000
0x0FFFF
0x00000
Scrachpad Memory
(DATA only)
FLASH
(In-System
Programmable in 1024
Byte Sectors)
DATA MEMORY (RAM)
INTERNAL DATA ADDRESS SPACE
Upper 128 RAM
(Indirect Addressing
Only)
(Direct and Indirect
Addressing)
Bit Addressable
General Purpose
Registers
Special Function
Registers
(Direct Addressing Only)
Lower 128 RAM
(Direct and Indirect
Addressing)
EXTERNAL DATA ADDRESS SPACE
0xFFFF
Off-chip XRAM space
0x2000
0x1FFF
0x0000
XRAM - 8192 Bytes
(accessable using MOVX
instruction)
0
1
2
3
Up To
256 SFR Pages
Figure 1.8. On-Chip Memory Map
Rev. 1.429
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.3.JTAG Debug and Boundary Scan
JTAG boundary scan and debug circuitry is included which provides non-intrusive, full speed, in-circuit
debugging using the production part installed in the end application, via the four-pin JTAG interface. The
JTAG port is fully compliant to IEEE 1149.1, providing full boundary scan for test and manufacturing purposes.
Silicon Labs' debugging system supports inspection and modification of memory and registers, breakpoints, watchpoints, a stack monitor, and single stepping. No additional target RAM, program memory, timers, or communications channels are required. All the digital and analog peripherals are functional and
work correctly while debugging. All the peripherals (except for the ADC and SMBus) are stalled when the
MCU is halted, during single stepping, or at a breakpoint in order to keep them synchronized.
The C8051F120DK development kit provides all the hardware and software necessary to develop application code and perform in-circuit debugging with the C8051F12x or C8051F13x MCUs.
The kit includes a Windows (95 or later) development environment, a serial adapter for connecting to the
JTAG port, and a target application board with a C8051F120 MCU installed. All of the necessary communication cables and a wall-mount power supply are also supplied with the development kit. Silicon Labs’
debug environment is a vastly superior configuration for de veloping and debugging embedd ed applications
compared to standard MCU emulators, which use on-board "ICE Chips" and target cables and require the
MCU in the application board to be socketed. Silicon Labs' debug environment both increases ease of use
and preserves the performance of the precision, on-chip analog peripherals.
WINDOWS 95 OR LATE R
Figure 1.9. Development/In-System Debug Diagram
Silicon Labs Integrated
Development Environment
JTA G (x 4 ), V DD, G ND
Serial
Adapter
TARGET PCB
C8051
F12x/13x
30Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.4.16 x 16 MAC (Multiply and Accumulate) Engine
The C8051F120/1/2/3 and C8051F130/1/2/3 devices include a multiply and accumulate engine which can
be used to speed up many mathematical operations. MAC0 contains a 16-by-16 bit multiplier and a 40-bit
adder, which can perform integer or fractional multiply-accumulate and multiply operations on signed input
values in two SYSCLK cycles. A rounding engine provides a rounded 16-bit fractional result after an additional (third) SYSCLK cycle. MAC0 also contains a 1-bit arithmetic shifter that will left or right-shift the contents of the 40-bit accumulator in a single SYSCLK cycle.
MAC0 A Register
MAC0AHMAC0AL
MAC0FM
16 x 1 6 M u ltip ly
MAC0 B Register
MAC0BHMAC0BL
MAC0MS
1
0
0
40 bit Add
MAC0 Accumulator
MAC0OVRMAC0ACC3MAC0ACC2MAC0ACC1MAC0ACC0
Rounding Engine1 bit Shift
Flag Logic
MAC0 Rounding Register
MAC0RNDHMAC0RNDL
MAC0MS
MAC0FM
MAC0SAT
MAC0CA
MAC0SD
MAC0SC
MAC0CF
MAC0STA
MAC0HO
MAC0SO
MAC0Z
MAC0N
Figure 1.10. MAC0 Block Diagram
Rev. 1.431
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.5.Programmable Digital I/O and Crossbar
The standard 8051 8-bit Ports (0, 1, 2, and 3) are available on the MCUs. The devices in the larger (100pin TQFP) packaging have 4 additional ports (4, 5, 6, and 7) for a total of 64 general-purpose port I/O. The
Port I/O behave like the standard 8051 with a few enhancements.
Each Port I/O pin can be configured as either a push-pull or open-drain output. Also, the "weak pullups"
which are normally fixed on an 8051 can be globally disabled, providing additional power saving capabilities for low-power applications.
Perhaps the most unique enhancement is the Digital Cr ossbar. This is a large digital switching network that
allows mapping of internal digital system resources to Port I/O pins on P0, P1, P2, and P3. (See
Figure 1.11) Unlike microcontrollers with standard multiplexed digital I/O, all combinations of functions are
supported.
The on-chip counter/timers, serial buses, HW interrupts, ADC Start of Conversion inputs, comparator outputs, and other digital signals in the controller can be configured to app ear on the Port I/O pins specified in
the Crossbar Control registers. This allows the user to select the exact mix of general purpose Port I/O and
digital resources needed for the particular application.
Highest
Priority
Lowest
Priority
Port
Latches
UART0
SPI
SMBus
UART1
PCA
Comptr.
Outputs
(Internal Digital Signals)
T0, T1,
T2, T2EX,
T4,T4EX
/INT0,
/INT1
/SYSCLK divided by 1,2,4, or 8
CNVSTR0/2
8
P0
(P0.0-P0.7)
8
P1
(P1.0-P1.7)
8
P2
(P2.0-P2.7)
8
P3
(P3.0-P3.7)
2
4
2
XBR0, XBR1,
XBR2, P1MDIN
Registers
Priority
2
7
2
Decoder
Digital
Crossbar
8
2
To Extern a l
Memory
Interface
(EMIF)
P0MDOUT, P1MDOUT,
P2MDOUT, P3MDOUT
Registers
8
8
8
8
P0
I/O
Cells
P1
I/O
Cells
P2
I/O
Cells
P3
I/O
Cells
To ADC2 Input
(‘F12x Only)
External
Pins
P0.0
P0.7
P1.0
P1.7
P2.0
P2.7
P3.0
P3.7
Highest
Priority
Lowest
Priority
Figure 1.11. Digital Crossbar Diagram
32Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.6.Programmable Counter Array
An on-board Programmable Counter/Timer Array (PCA) is included in addition to the five 16-bit general
purpose counter/timers. The PCA consists of a dedicated 16-bit counter/timer time base with 6 programmable capture/compare modules. The timebase is clocked from one of six sources: the system clock
divided by 12, the system clo ck divided by 4, Timer 0 overflo w, an External Clock Input (ECI pin), th e system clock, or the external oscillator source divided by 8.
Each capture/compare module can be configured to operate in one of six modes: Edge-Triggered Capture,
Software Time r, High Speed Output, Frequency Output, 8-Bit Pulse Width Modulator, or 16-Bit Pulse Width
Modulator. The PCA Capture/Compare Module I/O and External Clock Input are routed to the MCU Port I/
O via the Digital Crossbar.
SYSCLK/12
SYSCLK/4
Timer 0 Overflow
ECI
SYSCLK
External Clock/8
PCA
CLOCK
MUX
16-Bit Counter/Timer
Capture/Compare
Module 1
CEX1
Capture/Compare
Module 2
CEX2
Capture/Compare
Module 3
CEX3
Capture/Compare
Module 4
CEX4
Capture/Compare
Module 5
CEX5
ECI
Capture/Compare
Module 0
CEX0
Crossbar
Port I/O
Figure 1.12. PCA Block Diagram
1.7.Serial Ports
Serial peripherals included on the devices are two Enhanced Full-Duplex UARTs, SPI Bus, and SMBus/
I2C. Each of the serial buses is fully implemented in hardware and makes extensive use of the CIP-51's
interrupts, thus requiring very little intervention by the CPU. The serial buses do not "share" resources
such as timers, interrupts, or Port I/O, so any or all of the serial buses may be used tog ether with any other.
Rev. 1.433
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.8.12 or 10-Bit Analog to Digital Converter
All devices include either a 12 or 10-bit SAR ADC (ADC0) with a 9-channel input multiplexer and programmable gain amplifier . With a maximum thr oug hput of 100 ksps, the 12 and 10-bit ADCs offe r tru e 12-b it linearity with an INL of ±1LSB. The ADC0 voltage reference can be selected from an external VREF pin, or
(on the C8051F12x devices) the DAC0 output. On the 100-pin TQFP devices, ADC0 has it s own dedicate d
Voltage Reference input pin; on the 64-pin TQFP devices, the ADC0 shares a Voltage Reference input pin
with the 8-bit ADC2. The on-chip voltage reference may generate the voltage reference for other system
components or the on-chip ADCs via the VREF output pin.
The ADC is under full control of the CIP-51 microcontroller via its associated Special Function Registers.
One input channel is tied to an internal temperature sensor, while the other eight channels are available
externally. Each pair of the eight external input channels can be configured as either two single-ended
inputs or a single differential input. The system controller can also put the ADC into shutdown mode to
save power.
A programmable gain amplifier follows the analog multiplexer. The gain can be set in software from 0.5 to
16 in powers of 2. The gain stage can be especially useful when different ADC input channels have widely
varied input voltage signals, or when it is necessary to "zoom in" on a signal with a large DC offset (in differential mode, a DAC could be used to provide the DC offset).
Conversions can be started in four ways; a software command, an overflow of Timer 2, an overflow of
Timer 3, or an external signal input. This flexibility allows the start of conversion to be triggered by sof tware
events, external HW signals, or a periodic timer overflow signal. Conversion completions are indicated by a
status bit and an interrupt (if enabled). The resulting 10 or 12-bit data word is latched into two SFRs upon
completion of a conversion. The data can be right or left justified in these registers under software control.
Window Compare registers for the ADC data can be configured to interrupt the controller when ADC data
is within or outside of a specified range. The ADC can monitor a key voltage continuously in backgr ound
mode, but not interrupt the controller unless the converted data is within the specified window.
34Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.9.8-Bit Analog to Digital Converter
The C8051F12x devices have an on-board 8-bit SAR ADC (ADC2) with an 8-channel inp ut multiplexer and
programmable gain amplifier. This ADC features a 500 ksps maximum throughput and true 8-bit linearity
with an INL of ±1LSB. Eight input pins are available for measurement. The ADC is under full control of the
CIP-51 microcontroller via the Special Function Registers. The ADC2 voltage reference is selected
between the analog power supply (AV+) and an external VREF pin. On the 100-pin TQFP devices, ADC2
has its own dedicated Voltage Reference input pin; on the 64-pin TQFP devices, ADC2 shares a Voltage
Reference input pin with ADC0. User software may put ADC2 into shutdown mode to save power.
A programmable gain amplifier follows the analog multiplexer. The gain stage can be especially useful
when different ADC input channels have widely varied inp ut voltage signals, or when it is necessary to
"zoom in" on a signal with a large DC offset (in differential mode, a DAC could be used to provide the DC
offset). The PGA gain can be set in software to 0.5, 1, 2, or 4.
A flexible conversion scheduling system allows ADC2 conversions to be initiated by software commands,
timer overflows, or an external input signal. ADC 2 conver sions may also be synchro nized with ADC0 software-commanded conversions. Conversion completions are indicated by a status bit and an interrupt (if
enabled), and the resulting 8-bit data word is latched into an SFR upon completion.
Write to AD2BUSY
Timer 3 Overflow
CNVSTR2 Input
Timer 2 Overflow
Write to AD0BUSY
(synchronized with
ADC0)
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.10. 12-bit Digital to Analog Converters
The C8051F12x devices have two integrated 12-bit Digital to Analog Converters (DACs). The MCU data
and control interface to each DAC is via the Special Function Registers. The MCU can place either or both
of the DACs in a low power shutdown mode.
The DACs are voltage output mode and include a flexible output scheduling mechanism. This scheduling
mechanism allows DAC output updates to be forced by a software write or scheduled on a Timer 2, 3, or 4
overflow. The DAC volt age refer ence is supplied from the dedicate d VREFD input pin on the 100-p in TQFP
devices or via the internal Voltage reference on the 64-pin TQFP devices. The DACs are especially useful
as references for the comparators or offset s for the differential inputs of the ADCs.
DAC0EN
DAC0H
Timer 3
Timer 4
Timer 2
DAC0MD1
DAC0MD0
DAC0DF2
DAC0CN
DAC0DF1
DAC0DF0
DAC0HDAC0L
8
8
8
8
LatchLatch
Dig. MUX
REF
12
AV+
DAC0
DAC0
AGND
DAC1EN
DAC1H
Timer 3
Timer 4
Timer 2
DAC1MD1
DAC1MD0
DAC1DF2
DAC1CN
DAC1DF1
DAC1DF0
8
DAC1HDAC1L
8
8
8
LatchLatch
REF
12
Dig. MUX
DAC1
Figure 1.15. DAC System Block Diagram
36Rev. 1.4
AV+
DAC1
AGND
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
1.11. Analog Comparators
Two analog comparators with dedicated input pins are included on-chip. The comparators have software
programmable hysteresis and response time. Each comparator can g enera te an inte rrupt on a rising edg e,
falling edge, or both. The interrupts are capable of waking up the MCU from sleep mode, and Comparator
0 can be used as a reset source. The output st ate o f the comp ar ators can be polled in sof tware or r outed to
Port I/O pins via the Crossbar. The comp arators can b e progr ammed to a low power sh ut down mode whe n
not in use.
(Port I/O)
2 Comparators
CPn+
CPn-
CPn Output
+
CPn
-
CROSSBAR
SFR's
(Data
and
Control)
Figure 1.16. Comparator Block Diagram
CIP-51
and
Interrupt
Handler
Rev. 1.437
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
2.Absolute Maximum Ratings
Table 2.1. Absolute Maximum Ratings
ParameterConditionsMinTypMaxUnits
Ambient temperature under bias
Storage Temperature
Voltage on any Pin (except V
Respect to DGND
Voltage on any Port I/O Pin or RST
DGND
Voltage on V
Maximum Total Current through V
and AGND
Maximum Output Current Sunk by any Port pin
Maximum Output Current Sunk by any other I/O pin
Maximum Output Current Sourced by any Port pin
Maximum Output Current Sourced by any other I/O
Pin
*Note: Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the device.
This is a stress rating only and functional operation of the devices at those or any other conditions above those
indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability.
with Respect to DGND
DD
and Port I/O) with
DD
with Respect to
, AV+, DGND,
DD
*
–55—125°C
–65—150°C
–0.3—V
–0.3—5.8V
–0.3—4.2V
——800mA
——100mA
—— 50mA
——100mA
—— 50mA
DD
0.3
+
V
38Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
3.Global DC Electrical Characteristics
Table 3.1. Global DC Electrical Characteristics
(C8051F120/1/2/3 and C8051F130/1/2/3)
–40 to +85 °C, 100 MHz System Clock unless otherwise specified.
ParameterConditionsMinTypMaxUnits
Analog Supply Voltage
1
Analog Supply CurrentInternal REF, ADCs, DACs, Com-
Analog Supply Current with
analog sub-systems inactive
Analog-to-Digital Supply
Delta (|V
DD
–AV+|)
Digital Supply VoltageSYSCLK = 0 to 50 MHz
Digital Supply Current with
CPU active
Digital Supply Current with
CPU inactive (not accessing
Flash)
Digital Supply Current (shutdown)
Digital Supply RAM Data
Retention Voltage
SYSCLK (System Clock)
Specified Operating Temperature Range
Notes:
1.
Analog Supply AV+ must be greater than 1 V for VDD monitor to operate.
2. SYSCLK is the internal device clock. For operational speeds in excess of 30 MHz, SYSCLK must be derived
from the Phase-Locked Loop (PLL).
3. SYSCLK must be at least 32 kHz to enable debugging.
SYSCLK = 0 to 50 MHz
SYSCLK > 50 MHz
parators all active
Internal REF, ADCs, DACs, Com-
parators all disabled, oscillator
disabled
SYSCLK > 50 MHz
= 3.0 V , Clock = 100 MHz
V
DD
V
= 3.0 V , Clock = 50 MHz
DD
V
= 3.0 V, Clock = 1 MHz
DD
V
= 3.0 V, Clock = 32 kHz
DD
= 3.0 V , Clock = 100 MHz
V
DD
V
= 3.0 V , Clock = 50 MHz
DD
V
= 3.0 V, Clock = 1 MHz
DD
V
= 3.0 V, Clock = 32 kHz
DD
Oscillator not running
2,3
VDD, AV+ = 2.7 to 3.6 V
, AV+ = 3.0 to 3.6 V
V
DD
2.7
3.0
3.0
3.3
3.6
3.6
—1.7—mA
—0.2—µA
——0.5V
2.7
3.0
—65
3.0
3.3
3.6
3.6
—mA
35
1
33
—40
—mA
20
0.4
15
—0.4—µA
—1.5— V
0
0
—50
100
–40—+85°C
V
V
V
V
mA
mA
µA
mA
mA
µA
MHz
MHz
Rev. 1.439
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 3.2. Global DC Electrical Characteristics (C8051F124/5/6/7)
–40 to +85 °C, 50 MHz System Clock unless oth erwise specified.
ParameterConditionsMinTypMaxUnits
Analog Supply Voltage
1
Analog Supply CurrentInternal REF, ADC, DAC, Com-
parators all active
Analog Supply Current with
analog sub-systems inactive
Internal REF, ADC, DAC, Comparators all disabled, oscillator
disabled
Analog-to-Digital Supply
Delta (|V
DD
–AV+|)
Digital Supply Voltage
Digital Supply Current with
CPU active
Digital Supply Current with
CPU inactive (not accessing
Flash)
Digital Supply Current (shut-
V
=3.0V, Clock=50MHz
DD
V
= 3.0 V, Clock = 1 MHz
DD
V
=3.0V, Clock=32kHz
DD
V
=3.0V, Clock=50MHz
DD
V
= 3.0 V, Clock = 1 MHz
DD
V
=3.0V, Clock=32kHz
DD
Oscillator not running
down)
2.73.03.6V
—1.7—mA
—0.2—µA
——0.5V
2.73.03.6V
—35
1
33
—27
0.4
15
—mA
mA
µA
—mA
mA
µA
—0.4—µA
Digital Supply RAM Data
—1.5— V
Retention Voltage
SYSCLK (System Clock)
Specified Operating
2,3
0—50MHz
–40—+85°C
Temperature Range
Notes:
1.
Analog Supply AV+ must be greater than 1 V for VDD monitor to operate.
2. SYSCLK is the internal device clock. For operational speeds in excess of 30 MHz, SYSCLK must be derived
from the phase-locked loop (PLL).
3. SYSCLK must be at least 32 kHz to enable debuggin g.
40Rev. 1.4
4.Pinout and Package Definitions
Table 4.1. Pin Definitions
Pin Numbers
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Name
V
DD
DGND38,
AV+11, 14611, 146Analog Supply Voltage. Must be tied to +2.7 to
AGND10, 13510, 135Analog Ground. Must be tied to Ground.
TMS15815 8D In JTAG Test Mode Select with internal pullup.
TCK259259D In JTAG Test Clock with int ernal pullup.
TDI360360D In JTAG Test Data Input with internal pullup. TDI is
TDO461461D Out JTAG Test Data Output with internal pullup. Data
RST
‘F120
‘F122
‘F124
‘F126
64, 90
63, 89
‘F121
‘F123
‘F125
‘F127
37,
41, 57
40, 56
562562D I/O Device Reset. Open-drain output of internal VDD
24,
25,
‘F130
‘F132
37,
64, 90
38,
63, 89
‘F131
‘F133
24,
41, 57
25,
40, 56
TypeDescription
Digital Supply Voltage. Must be tied to +2.7 to
+3.6 V.
Digital Ground. Must be tied to Ground.
+3.6 V.
latched on the rising edge of TCK.
is shifted out on TDO on the falling edge of TCK.
TDO output is a tri-state driver.
monitor. Is driven low when V
MONEN is high. An external source can initiate
a system reset by driving this pin low.
DD
is < V
RST
and
XTAL126172617A In Crystal Input. This pin is the return for the inter-
nal oscillator circuit for a crystal or ceramic resonator . For a precision internal clock, connect a
crystal or ceramic resonator from XTAL1 to
XTAL2. If overdriven by an external CMOS
clock, this becomes the system clock.
XTAL227182718A Out Crystal Output. This pin is the excitation driver
for a crystal or ceramic resonator.
MONEN28192819D InV
Rev. 1.441
Monitor Enable. When tied high, this pin
DD
enables the internal V
system reset when V
low, the internal V
This pin must be tied high or low.
monitor, which forces a
DD
is < V
DD
monitor is disabled.
DD
. When tied
RST
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 4.1. Pin Definitions (Continued)
Pin Numbers
Name
VREF1 27127A I/O Bandgap Voltage Reference Output
VREFA8A InADC0 and ADC2 Voltage Reference Input.
VREF016168A In ADC0 Voltage Reference Input.
VREF21717A InADC2 Voltage Reference Input.
VREFD1515A InDAC Voltage Reference Input.
AIN0.0189189A InADC0 Input Channel 0 (See ADC0 S pe cification
AIN0.119101910A In ADC0 Input Channel 1 (See ADC0 Specification
AIN0.220112011A In ADC0 Input Channel 2 (See ADC0 Specification
AIN0.321122112A In ADC0 Input Channel 3 (See ADC0 Specification
‘F120
‘F122
‘F124
‘F126
‘F121
‘F123
‘F125
‘F127
‘F130
‘F132
‘F131
‘F133
TypeDescription
(all devices).
DAC Voltage Reference Input
(C8051F121/3/5/7 only).
for complete description).
for complete description).
for complete description).
for complete description).
AIN0.422132213A In ADC0 Input Channel 4 (See ADC0 Specification
for complete description).
AIN0.523142314A In ADC0 Input Channel 5 (See ADC0 Specification
for complete description).
AIN0.624152415A In ADC0 Input Channel 6 (See ADC0 Specification
for complete description).
AIN0.725162516A In ADC0 Input Channel 7 (See ADC0 Specification
DAC010064A Out Digital to Analog Converter 0 Voltage Output.
(See DAC Specification for complete description).
42Rev. 1.4
C8051F120/1/2/3/4/5/6/7
Table 4.1. Pin Definitions (Continued)
Pin Numbers
C8051F130/1/2/3
Name
DAC19963A Out Digital to Analog Converter 1 Voltage Output.
P0.062556255D I/O Port 0.0. See Port Inp u t/O ut pu t se ctio n fo r c om-
P0.161546154D I/O Port 0.1. See Port Inp u t/O ut pu t se ctio n fo r c om-
P0.260536053D I/O Port 0.2. See Port Inp u t/O ut pu t se ctio n fo r c om-
P0.359525952D I/O Port 0.3. See Port Inp u t/O ut pu t se ctio n fo r c om-
P0.458515851D I/O Port 0.4. See Port Inp u t/O ut pu t se ctio n fo r c om-
ALE/P0.557505750D I/O ALE Strobe for External Memory Address bus
‘F120
‘F122
‘F124
‘F126
‘F121
‘F123
‘F125
‘F127
‘F130
‘F132
‘F131
‘F133
TypeDescription
(See DAC Specification for complete description).
plete description.
plete description.
plete description.
plete description.
plete description.
(multiplexed mode)
Port 0.5
See Port Input/Output section for complete
description.
RD
/P0.656495649D I/O /RD Strobe for External Memory Address bus
WR
/P0.7 55485548D I/O/WR Strobe for External Memory Address bus
AIN2.0/A8/P1.036293629A In
D I/O
AIN2.1/A9/P1.135283528A In
D I/O
Rev. 1.443
Port 0.6
See Port Input/Output section for complete
description.
Port 0.7
See Port Input/Output section for complete
description.
ADC2 Input Channel 0 (See ADC2 Specification
for complete description).
Bit 8 External Memory Address bus (Non-multiplexed mode)
Port 1.0
See Port Input/Output section for complete
description.
Port 1.1. See Port Input/Output section for complete description.
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 4.1. Pin Definitions (Continued)
Pin Numbers
Name
AIN2.2/A10/P1.234273427A In
AIN2.3/A11/P1.333263326A In
AIN2.4/A12/P1.432233223A In
AIN2.5/A13/P1.531223122A In
AIN2.6/A14/P1.630213021A In
AIN2.7/A15/P1.729202920A In
A8m/A0/P2.046374637D I/O Bit 8 External Memory Address bus (Multiplexed
‘F120
‘F122
‘F124
‘F126
‘F121
‘F123
‘F125
‘F127
‘F130
‘F132
‘F131
‘F133
TypeDescription
Port 1.2. See Port Input/Output section for com-
D I/O
D I/O
D I/O
D I/O
D I/O
D I/O
plete description.
Port 1.3. See Port Input/Output section for com-
plete description.
Port 1.4. See Port Input/Output section for com-
plete description.
Port 1.5. See Port Input/Output section for com-
plete description.
Port 1.6. See Port Input/Output section for com-
plete description.
Port 1.7. See Port Input/Output section for com-
plete description.
mode)
Bit 0 External Memory Address bus (Non-multiplexed mode)
Port 2.0
See Port Input/Output section for complete
description.
A9m/A1/P2.145364536D I/OPort 2.1. See Port Input/Output section for com-
plete description.
A10m/A2/P2.244354435D I/O Port 2.2. See Port Input/Outpu t se ctio n fo r com -
plete description.
A11m/A3/P2.343344334D I/O Port 2.3. See Port Input/Output section for com-
plete description.
A12m/A4/P2.442334233D I/O Port 2.4. See Port Input/Outpu t se ctio n fo r com -
plete description.
A13m/A5/P2.541324132D I/O Port 2.5. See Port Input/Outpu t se ctio n fo r com -
plete description.
A14m/A6/P2.640314031D I/O Port 2.6. See Port Input/Outpu t se ctio n fo r com -
plete description.
A15m/A7/P2.739303930D I/O Port 2.7. See Port Input/Outpu t se ctio n fo r com -
plete description.
44Rev. 1.4
C8051F120/1/2/3/4/5/6/7
Table 4.1. Pin Definitions (Continued)
Pin Numbers
C8051F130/1/2/3
Name
AD0/D0/P3.054475447D I/O Bit 0 External Memory Address/Data bus (Multi-
AD1/D1/P3.153465346D I/OPort 3.1. See Port Input/Output section for com-
AD2/D2/P3.252455245D I/OPort 3.2. See Port Input/Output section for com-
AD3/D3/P3.351445144D I/OPort 3.3. See Port Input/Output section for com-
AD4/D4/P3.450435043D I/OPort 3.4. See Port Input/Output section for com-
AD5/D5/P3.549424942D I/OPort 3.5. See Port Input/Output section for com-
‘F120
‘F122
‘F124
‘F126
‘F121
‘F123
‘F125
‘F127
‘F130
‘F132
‘F131
‘F133
TypeDescription
plexed mode)
Bit 0 External Memory Data bus (Non-multiplexed mode)
Port 3.0
See Port Input/Output section for complete
description.
plete description.
plete description.
plete description.
plete description.
plete description.
AD6/D6/P3.648394839D I/OPort 3.6. See Port Input/Output section for com-
plete description.
AD7/D7/P3.747384738D I/OPort 3.7. See Port Input/Output section for com-
plete description.
P4.09898D I/O Port 4.0. See Port Input/Out pu t se ctio n fo r com-
plete description.
P4.19797D I/O Port 4.1. See Port Input/Out pu t se ctio n fo r com-
plete description.
P4.29696D I/O Port 4.2. See Port Input/Out pu t se ctio n fo r com-
plete description.
P4.39595D I/O Port 4.3. See Port Input/Out pu t se ctio n fo r com-
plete description.
P4.49494D I/O Port 4.4. See Port Input/Out pu t se ctio n fo r com-
plete description.
Rev. 1.445
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 4.1. Pin Definitions (Continued)
Pin Numbers
Name
ALE/P4.59393D I/O ALE Strobe for External Memory Address bus
RD
/P4.69292D I/O /RD Strobe for External Memory Address bus
WR
/P4.79191D I/O /WR Strobe for External Memory Address bus
A8/P5.08888D I/O Bit 8 External Memory Address bus (Non-multi-
‘F120
‘F122
‘F124
‘F126
‘F121
‘F123
‘F125
‘F127
‘F130
‘F132
‘F131
‘F133
TypeDescription
(multiplexed mode)
Port 4.5
See Port Input/Output section for complete
description.
Port 4.6
See Port Input/Output section for complete
description.
Port 4.7
See Port Input/Output section for complete
description.
plexed mode)
Port 5.0
See Port Input/Output section for complete
description.
A9/P5.18787D I/O Port 5.1. See Port Input/Output section for com-
plete description.
A10/P5.28686D I/O Port 5.2. See Port Input/Output section for com-
plete description.
A11/P5.38585D I/O Port 5.3. See Port Input/Output section fo r com-
plete description.
A12/P5.48484D I/O Port 5.4. See Port Input/Output section for com-
plete description.
A13/P5.58383D I/O Port 5.5. See Port Input/Output section for com-
plete description.
A14/P5.68282D I/O Port 5.6. See Port Input/Output section for com-
plete description.
A15/P5.78181D I/O Port 5.7. See Port Input/Output section for com-
plete description.
46Rev. 1.4
C8051F120/1/2/3/4/5/6/7
Table 4.1. Pin Definitions (Continued)
Pin Numbers
C8051F130/1/2/3
Name
A8m/A0/P6.08080D I/O Bit 8 External Memory Address bus (Multiplexed
A9m/A1/P6.17979D I/O Port 6.1. See Port Input/Output section for com-
A10m/A2/P6.27878D I/O Port 6.2. See Port Input/Output section for com-
A11m/A3/P6.37777D I/O Port 6.3. See Port Input/Output section for com-
A12m/A4/P6.47676D I/O Port 6.4. See Port Input/Output section for com-
A13m/A5/P6.57575D I/O Port 6.5. See Port Input/Output section for com-
‘F120
‘F122
‘F124
‘F126
‘F121
‘F123
‘F125
‘F127
‘F130
‘F132
‘F131
‘F133
TypeDescription
mode)
Bit 0 External Memory Address bus (Non-multiplexed mode)
Port 6.0
See Port Input/Output section for complete
description.
plete description.
plete description.
plete description.
plete description.
plete description.
A14m/A6/P6.67474D I/O Port 6.6. See Port Input/Output section for com-
plete description.
A15m/A7/P6.77373D I/O Port 6.7. See Port Input/Output section for com-
plete description.
AD0/D0/P7.07272D I/O Bit 0 External Memory Address/Data bus (Multi-
plexed mode)
Bit 0 External Memory Data bus (Non-multiplexed mode)
Port 7.0
See Port Input/Output section for complete
description.
AD1/D1/P7.17171D I/O Port 7.1. See Port Input/Output section for com-
plete description.
AD2/D2/P7.27070D I/O Port 7.2. See Port Input/Output section for com-
plete description.
AD3/D3/P7.36969D I/O Port 7.3. See Port Input/Output section for com-
plete description.
AD4/D4/P7.46868D I/O Port 7.4. See Port Input/Output section for com-
plete description.
Rev. 1.447
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 4.1. Pin Definitions (Continued)
Pin Numbers
Name
AD5/D5/P7.56767D I/O Port 7.5. See Port Input/Output section for com-
AD6/D6/P7.66666D I/O Port 7.6. See Port Input/Output section for com-
AD7/D7/P7.76565D I/O Port 7.7. See Port Input/Output section for com-
The ADC0 subsystem for the C8051F120/1/4/5 consists of a 9-channel, configurable analog multiplexer
(AMUX0), a programmable gain amplifier (PGA0), and a 100 ksps, 12-bit successive-approximation-register ADC with integrated track-and-hold and Programmable Window Detector (see block diagram in
Figure 5.1). The AMUX0, PGA0, Data Conversion Modes, and Window Detector are all configurable under
software control via the Special Function Registers shown in Figure 5.1. The voltage reference used by
ADC0 is selected as described in
(ADC0, track-and-hold and PGA0) is enabled only when the AD0EN bit in the ADC0 Control register
(ADC0CN) is set to logic 1. The ADC0 subsystem is in low power shutdown when this bit is logic 0.
Eight of the AMUX channels are available for external measurements while the ninth channel is internally
connected to an on-chip temperature sensor (temperature transfer function is shown in Figure 5.2). AMUX
input pairs can be programmed to operate in either differential or single-ended mode. This allows the user
to select the best measurement technique for each input channel, and even accommodates mode
changes "on-the-fly". The AMUX defaults to all single-ended inputs upon reset. There are two registers
associated with the AMUX: the Channel Selection register AMX0SL (SFR Definition 5.2), and the Configuration register AMX0CF (SFR Definition 5.1). The table in SFR Definition 5.2 shows AMUX functionality by
channel, for each possible configuration. The PGA amplifies the AMUX output signal by an amount determined by the states of the AMP0GN2-0 bits in the ADC0 Configuration register, ADC0CF (SFR Definition
5.3). The PGA can be software-programmed for gains of 0.5, 2, 4, 8 or 16. Gain defaults to unity on reset.
Rev. 1.455
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
The Temperature Sensor transfer function is shown in Figure 5.2. The output voltage (V
input when the Temperature Sensor is selected by bits AMX0AD3-0 in register AMX0SL; this voltage will
be amplified by the PGA according to the user-programm ed PGA settings. Typical values for the Slope and
Offset parameters can be found in Table 5.1.
Slope (V / deg C)
Offset (V at 0 Celsius)
) is the PGA
TEMP
Voltage
V
= (Slope x TempC) + Offset
TEMP
Temp
= (V
C
0-5050100
- Offset) / Slope
TEMP
Temperature (Celsius)
Figure 5.2. Typical Temperature Sensor Transfer Function
56Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
5.2.ADC Modes of Operation
ADC0 has a maximum conversion speed of 100 ksps. The ADC0 conversion clock is derived from the system clock divided by the value held in the ADCSC bits of register ADC0CF.
5.2.1. Starting a Conversion
A conversion can be initiated in one of four ways, depending on the programmed states of the ADC0 Start
of Conversion Mode bits (AD0CM1, AD0CM0) in ADC0CN. Conversions may be initiated by:
1. Writing a ‘1’ to the AD0BUSY bit of ADC0CN;
2. A Timer 3 overflow (i.e. timed continuous conversions);
3. A rising edge detected on the external ADC convert start signal, CNVSTR0;
4. A Timer 2 overflow (i.e. timed continuous conversions).
The AD0BUSY bit is set to logic 1 during conversion and restored to logic 0 when conversion is complete.
The falling edge of AD0BUSY triggers an interrupt (when enabled) and sets the AD0INT interrupt flag
(ADC0CN.5). Converted data is available in the ADC0 data word MSB and LSB registers, ADC0H, ADC0 L.
Converted data can be either left or right justified in the ADC0H:ADC0L register pair (see example in
Figure 5.5) depending on the programmed state of the AD0LJST bit in the ADC0CN register.
When initiating conversions by writ ing a ‘1’ to AD0BUSY, the AD0INT bit should be polled to determine
when a conversion has completed (ADC0 interrupts may also be used). The recommended polling procedure is shown below.
Step 1. Write a ‘0’ to AD0INT;
Step 2. Write a ‘1’ to AD0BUSY;
Step 3. Poll AD0INT for ‘1’;
Step 4. Process ADC0 data.
When CNVSTR0 is used as a conversion start source, it must be enabled in th e crossbar, and the corresponding pin must be set to open-drain, high-impedance mode (see
page 235
for more details on Port I/O configuration).
Section “18. Port Input/Output” on
Rev. 1.457
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
5.2.2. Tracking Modes
The AD0TM bit in register ADC0CN controls the ADC0 track-and-hold mode. In its default state, the ADC0
input is continuously tracked when a conversion is not in progress. When the AD0TM bit is logic 1, ADC0
operates in low-power track-and-hold mode. In this mode, each conversion is preceded by a tracking
period of 3 SAR clocks (after the start-of-conversion signal). When the CNVSTR0 signal is used to initiate
conversions in low-power tracking mode, ADC0 tra cks only when CNVSTR0 is low; conversion begins on
the rising edge of CNVSTR0 (see Figure 5.3). Tracking can also be disabled (shutdown) when the entire
chip is in low power standby or sleep modes. Low-power track-and-hold mode is also useful when AMUX
or PGA settings are frequently changed, to ensure that settling time requirements are met (see
“5.2.3. Settling Time Requirements” on page 59
).
A. ADC Timing for External Trigger Source
CNVSTR0
(AD0CM[1:0]=10)
12345678910111213141516
SAR Clocks
ADC0TM=1
Section
ADC0TM=0
Timer 2, Timer 3 Overflow;
Write '1' to AD0BUSY
(AD0CM[1:0]=00, 01, 11)
ADC0TM=1
ADC0TM=0
Figure 5.3. ADC0 Track and Conversion Example Timing
B. ADC Timing for Internal Trigger Sources
58Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
5.2.3. Settling Time Requirements
A minimum tracking time is required before an accurate conversion can be performed. This tracking time is
determined by the ADC0 MUX resistance, the ADC0 sampling capacitance, any external source re sistance, and the accuracy required for the conversion. Figure 5.4 shows the equivalent ADC0 input circuits
for both Differential and Single-ended modes. Notice that the equivalent time constant for both input circuits is the same. The required settling time for a given settling accuracy (
Equation 5.1. When measuring the Temperature Sensor output,
R
TOTAL
minimum settling time of 1.5 µs is required after any MUX or PGA selection. Note that in low-power tracking mode, three SAR clocks are used for tracking at the start of ever y conversion. For most application s,
these three SAR clocks will meet the tracking requirements.
n
2
⎛⎞
------ -
t
×ln=
⎝⎠
SA
R
TOTALCSAMPLE
Equation 5.1. ADC0 Settling Time Requirements
Where:
SA is the settling accuracy, given as a fraction of an LSB (for example, 0.25 to settle within 1/4 LSB)
t is the required settling time in seconds
R
n is the ADC resolution in bits (12).
is the sum of the ADC0 MUX resistance and any external source resistance.
Bits3–2: AD0CM1–0: ADC0 Start of Conversion Mode Select.
Bit1:AD0WINT: ADC0 Window Compare Interrupt Fla g.
Bit0:AD0LJST: ADC0 Left Justify Select.
0
0xE8(bit addressa ble )
0: ADC0 Disabled. ADC0 is in low-power shutdown.
1: ADC0 Enabled. ADC0 is active and ready for data conversions.
0: When the ADC is enabled, tracking is continuous unless a conversion is in process.
1: Tracking Defined by ADCM1-0 bit s.
This flag must be cleared by software.
0: ADC0 has not completed a data conversion since the last time this flag was cleared .
1: ADC0 has completed a data conversion.
Read:
0: ADC0 Conversion is complete or a conversion is not currently in progress. AD0INT is set
to logic 1 on the falling edge of AD0BUSY.
1: ADC0 Conversion is in progress.
Write:
0: No Effect.
1: Initiates ADC0 Conversion if AD0CM1-0 = 00b.
If AD0TM = 0:
00: ADC0 conversion initiated on every write of ‘1’ to AD0BUSY.
01: ADC0 conversion initiated on overflow of Timer 3.
10: ADC0 conversion initiated on rising edge of external CNVSTR0.
11: ADC0 conversion initiated on overflow of Timer 2.
If AD0TM = 1:
00: Tracking starts with the write of ‘1’ to AD0BUSY and lasts for 3 SAR clocks, followed by
conversion.
01: Tracking started by the overflow of Timer 3 and lasts for 3 SAR clocks, followed by conversion.
10: ADC0 tracks only when CNVSTR0 input is logic low; conversion starts on rising
CNVSTR0 edge.
11: Tracking star ted by the overflow of Timer 2 and lasts for 3 SAR clocks, followed by conversion.
This bit must be cleared by software.
0: ADC0 Window Comparison Data match has not occurred since this flag was last cleared.
1: ADC0 Window Comparison Data match has occurred.
0: Data in ADC0H:ADC0L registers are right-justified.
1: Data in ADC0H:ADC0L registers are left-justified.
Rev. 1.463
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
SFR Definition 5.5. ADC0H: ADC0 Data Word MSB
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: ADC0 Data Word High-Order Bits.
0
0xBF
00000000
For AD0LJST = 0: Bits 7–4 are the sign extension of Bit3 . Bits 3–0 are the upp er 4 bits of the
12-bit ADC0 Data Word.
For AD0LJST = 1: Bits 7–0 are the most-significant bits of the 12-bit ADC0 Data Word.
SFR Definition 5.6. ADC0L: ADC0 Data Word LSB
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
0
0xBE
00000000
Bits7–0: ADC0 Data Word Low-Order Bits.
For AD0LJST = 0: Bits 7–0 are the lower 8 bits of the 12-bit ADC0 Data Word.
For AD0LJST = 1: Bits 7–4 are the lower 4 bits of the 12-bit ADC0 Data Word. Bits 3–0 will
always read ‘0’.
64Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
12-bit ADC0 Data Word appear s in the ADC0 Data Word Registers as follows:
ADC0H[3:0]:ADC0L[7:0], if AD0LJST = 0
(ADC0H[7:4] will be sign-extension of ADC0H.3 for a differential reading, otherwise
=
0000b).
ADC0H[7:0]:ADC0L[7:4], if AD0LJST = 1
(ADC0L[3:0] = 0000b).
Example: ADC0 Data Word Conversion Map , AIN0 .0 Input in Single-Ended Mode
(AMX0CF = 0x00, AMX0SL = 0x00)
AIN0.0–AGND
(Volts)
VREF x (4095/4096)0x0FFF0xFFF0
VREF / 20x08000x8000
VREF x (2047/4096)0x07FF0x7FF0
00x00000x0000
Example: ADC0 Data Word Conversion Map, AIN0.0 -AIN0.1 Differential Input Pair
(AMX0CF = 0x01, AMX0SL = 0x00)
AIN0.0–AIN0.1
(Volts)
VREF x (2047/2048)0x07FF0x7FF0
VREF / 20x04000x4000
VREF x (1/2048)0x00010x0010
00x00000x0000
–VREF x (1/2048)0xFFFF (–1d)0xFFF0
–VREF / 20xFC00 (–1024d)0xC000
–VREF0xF800 (–2048d)0x8000
For AD0LJST = 0:
CodeVin
×2n×=
ADC0H:ADC0L
(AD0LJST = 0)
ADC0H:ADC0L
(AD0LJST = 0)
Gain
---------------
VREF
ADC0H:ADC0L
(AD0LJST = 1)
ADC0H:ADC0L
(AD0LJST = 1)
; ‘n’ = 12 for Single-Ended; ‘n’=11 for Differential.
Figure 5.5. ADC0 Data Word Example
Rev. 1.465
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
5.3.ADC0 Programmable Window Detector
The ADC0 Programmable Window Detector continuously compares th e ADC0 output to user-pr ogra mme d
limits, and notifies the system when an out-of-boun d condi tion is detected. This is especially effective in an
interrupt-driven system, saving code space and CPU bandwidth while delivering faster system response
times. The window detector interrupt flag (AD0WINT in ADC0CN) can also be used in polled mode. The
high and low bytes of the reference words are loaded into the ADC0 Greater-Than and ADC0 Less-Than
registers (ADC0GTH, ADC0GTL, ADC0LTH, and ADC0LTL). Reference comparisons are shown starting
on page 68. Notice that the window detector flag can be asserted when th e measur ed data is inside or outside the user-programmed limits, depending on the programming of the ADC0GTx and ADC0LTx registers.
SFR Definition 5.7. ADC0GTH: ADC0 Greater-Than Data High Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: High byte of ADC0 Greater-Than Data Word.
0
0xC5
SFR Definition 5.8. ADC0GTL: ADC0 Greater-Than Data Low Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: Low byte of ADC0 Greater-Tha n Da ta Word.
0
0xC4
11111111
11111111
66Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
SFR Definition 5.9. ADC0LTH: ADC0 Less-Than Data High Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: High byte of ADC0 Less-Than Data Word.
0
0xC7
SFR Definition 5.10. ADC0LTL: ADC0 Less-Than Data Low Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: Low byte of ADC0 Less-Than Data Word.
0
0xC6
00000000
00000000
Rev. 1.467
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AGND)
REF x (4095/4096)
REF x (512/4096)
REF x (256/4096)
0
ADC Data
Word
0x0FFF
0x0201
0x0200
0x01FF
0x0101
0x0100
0x00FF
0x0000
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x00
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0x0200,
ADC0GTH:ADC0GTL = 0x0100.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x0200 and > 0x0100.
Input Voltage
(AD0.0 - AGND)
REF x (4095/4096)
REF x (512/4096)
REF x (256/4096)
0
ADC Data
Word
0x0FFF
0x0201
0x0200
0x01FF
0x0101
0x0100
0x00FF
0x0000
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x00,
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0x0100,
ADC0G TH:ADC0GTL = 0x0200.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
> 0x0200 or < 0x0100.
Figure 5.6. 12-Bit ADC0 Window Interrupt Example: Right Justified Single-Ended
Data
68Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AD0 .1)
REF x (2047/2048)
REF x (256/2048)
REF x (-1/2048)
-REF
ADC Data
Word
0x07FF
0x0101
0x0100
0x00FF
0x0000
0xFFFF
0xFFFE
0xF800
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0x0100,
ADC0GTH:ADC0GTL = 0xFFFF.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x0100 and > 0xFFFF. (In 2s-complement
math, 0xFFFF = -1.)
Input Voltage
(AD0.0 - AD0 .1)
REF x (2047/2048)
REF x (256/2048)
REF x (-1/2048)
-REF
ADC Data
Word
0x07FF
0x0101
0x0100
0x00FF
0x0000
0xFFFF
0xFFFE
0xF800
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0xFFFF,
ADC0G TH:ADC0GTL = 0x0100.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0xFFFF or > 0x0100. (In 2s-complement
math, 0xFFFF = -1.)
Figure 5.7. 12-Bit ADC0 Window Interrupt Example: Right Justified Differential
Data
Rev. 1.469
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AGND)
REF x (4095/4096)
REF x (512/4096)
REF x (256/4096)
0
ADC Data
Word
0xFFF0
0x2010
0x2000
0x1FF0
0x1010
0x1000
0x0FF0
0x0000
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
Input Voltage
(AD0.0 - AGND)
REF x (4095/4096)
0
ADC Data
Word
0xFFF0
0x2010
0x2000
0x1FF0
0x1010
0x1000
0x0FF0
0x0000
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
Figure 5.8. 12-Bit ADC0 Window Interrupt Example: Left Justified Single-Ended
Data
70Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AD0.1)
REF x (2047/2048)
REF x (256/2048)
REF x (-1/2048)
-REF
ADC Data
Word
0x7FF0
0x1010
0x1000
0x0FF0
0x0000
0xFFF0
0xFFE0
0x8000
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘1’,
ADC0LTH:ADC0LTL = 0x1000,
ADC0GTH:ADC0GTL = 0xFFF0.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x1000 and > 0xFFF0. (2s-complement
math.)
Input Voltage
(AD0.0 - AD0.1)
REF x (2047/2048)
REF x (256/2048)
REF x (-1/2048)
-REF
ADC Data
Word
0x7FF0
0x1010
0x1000
0x0FF0
0x0000
0xFFF0
0xFFE0
0x8000
AD0WINT=1
ADC0GTH:ADC0GTL
AD0WINT
not affected
ADC0LTH:ADC0LTL
AD0WINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘1’,
ADC0LTH:ADC0LTL = 0xFFF0,
ADC0G TH:ADC0GTL = 0x1000.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0xFFF0 or > 0x1000. (2s-complement math.)
Figure 5.9. 12-Bit ADC0 Window Interrupt Example: Left Justified Differential Data
= 3.0 V, AV+ = 3.0 V, VREF = 2.40 V (REFBE = 0), PGA Gain = 1, –40 to +85 °C unless otherwise specified.
DD
ParameterConditionsMinTypMaxUnits
DC Accuracy
Resolution12bits
Integral Nonlinearity——±1LSB
Differential NonlinearityGuaranteed Monotonic——±1LSB
Offset Error—–3±1—LSB
Full Scale ErrorDifferential mode—–7±3—LSB
Offset Temperature Coefficient—±0.25—ppm/°C
Dynamic Performance (10 kHz sine-wave input, 0 to 1 dB below Full Scale, 100 ksps
Signal-to-Noise Plus Distortion66——dB
Total Harmonic Distortion
Up to the 5
th
harmonic
—–75—dB
Spurious-Free Dynamic Range—80—dB
Conversion Rate
SAR Clock Frequency——2.5MHz
Conversion Time in SAR Clocks16——clocks
Track/Hold Acquisition Time1.5——µs
Throughput Rate——100ksps
Analog Inputs
Input Voltage RangeSingle-ended operation0—VREFV
*Common-mode Voltage Range Differential operationAGND—AV+V
Input Capacitance—10—pF
Temperature Sensor
Linearity
Offset(Temp = 0 °C)—776—mV
Offset Error
Slope—2.86—mV / °C
Slope Error
Power Supply Current
(AV+ supplied to ADC)
1
1, 2
2
(Temp = 0 °C)—±8.5—mV
Power Specifications
Operating Mode, 100 ksps
—±0.2—°C
—±0.034—mV / °C
—450900µA
Power Supply Rejection—±0.3—mV/V
Notes:
1.
Includes ADC offset, gain, and linearity variations.
2. Represents one standard deviation from the mean.
72Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
6.ADC0 (10-Bit ADC, C8051F122/3/6/7 and C8051F13x Only)
The ADC0 subsystem for the C8051F122/3/6/7 and C8051F13x consists of a 9-channel, configurable analog multiplexer (AMUX0), a programmable gain amplifier (PGA0), and a 100 ksps, 10-bit successiveapproximation-register ADC with integrated track-and-hold and Programmable Window Detector (see
block diagram in Figure 6.1). The AMUX0, PGA0, Data Conv ersion Modes, and Window Detect or are all
configurable under software control via the Special Function Registers shown in Figure 6.1. The voltage
reference used by ADC0 is selected as described in
ADC0 subsystem (ADC0, track-and-hold and PGA0) is enabled only when the AD0EN bit in the ADC0
Control register (ADC0CN) is set to logic 1. The ADC0 subsystem is in low power shutdown when this bit is
logic 0.
Eight of the AMUX channels are available for external measurements while the ninth channel is internally
connected to an on-chip temperature sensor (temperature transfer function is shown in Figure 6.2). AMUX
input pairs can be programmed to operate in either differential or single-ended mode. This allows the user
to select the best measurement technique for each input channel, and even accommodates mode
changes "on-the-fly". The AMUX defaults to all single-ended inputs upon reset. There are two registers
associated with the AMUX: the Channel Selection register AMX0SL (SFR Definition 6.2), and the Configuration register AMX0CF (SFR Definition 6.1). The table in SFR Definition 6.2 shows AMUX functionality by
channel, for each possible configuration. The PGA amplifies the AMUX output signal by an amount determined by the states of the AMP0GN2-0 bits in the ADC0 Configuration register, ADC0CF (SFR Definition
6.3). The PGA can be software-programmed for gains of 0.5, 2, 4, 8 or 16. Gain defaults to unity on reset.
Rev. 1.473
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
The Temperature Sensor transfer function is shown in Figure 6.2. The output voltage (V
input when the Temperature Sensor is selected by bits AMX0AD3-0 in register AMX0SL; this voltage will
be amplified by the PGA according to the user-programm ed PGA settings. Typical values for the Slope and
Offset parameters can be found in Table 6.1.
Slope (V / deg C)
Offset (V at 0 Celsius)
) is the PGA
TEMP
Voltage
V
= (Slope x TempC) + Offset
TEMP
Temp
= (V
C
0-5050100
- Offset) / Slope
TEMP
Temperature (Celsius)
Figure 6.2. Typical Temperature Sensor Transfer Function
74Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
6.2.ADC Modes of Operation
ADC0 has a maximum conversion speed of 100 ksps. The ADC0 conversion clock is derived from the system clock divided by the value held in the ADCSC bits of register ADC0CF.
6.2.1. Starting a Conversion
A conversion can be initiated in one of four ways, depending on the programmed states of the ADC0 Start
of Conversion Mode bits (AD0CM1, AD0CM0) in ADC0CN. Conversions may be initiated by:
1. Writing a ‘1’ to the AD0BUSY bit of ADC0CN;
2. A Timer 3 overflow (i.e. timed continuous conversions);
3. A rising edge detected on the external ADC convert start signal, CNVSTR0;
4. A Timer 2 overflow (i.e. timed continuous conversions).
The AD0BUSY bit is set to logic 1 during conversion and restored to logic 0 when conversion is complete.
The falling edge of AD0BUSY triggers an interrupt (when enabled) and sets the AD0INT interrupt flag
(ADC0CN.5). Converted data is available in the ADC0 data word MSB and LSB registers, ADC0H, ADC0 L.
Converted data can be either left or right justified in the ADC0H:ADC0L register pair (see example in
Figure 6.5) depending on the programmed state of the AD0LJST bit in the ADC0CN register.
When initiating conversions by writ ing a ‘1’ to AD0BUSY, the AD0INT bit should be polled to determine
when a conversion has completed (ADC0 interrupts may also be used). The recommended polling procedure is shown below.
Step 1. Write a ‘0’ to AD0INT;
Step 2. Write a ‘1’ to AD0BUSY;
Step 3. Poll AD0INT for ‘1’;
Step 4. Process ADC0 data.
When CNVSTR0 is used as a conversion start source, it must be enabled in th e crossbar, and the corresponding pin must be set to open-drain, high-impedance mode (see
page 235
for more details on Port I/O configuration).
Section “18. Port Input/Output” on
Rev. 1.475
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
6.2.2. Tracking Modes
The AD0TM bit in register ADC0CN controls the ADC0 track-and-hold mode. In its default state, the ADC0
input is continuously tracked when a conversion is not in progress. When the AD0TM bit is logic 1, ADC0
operates in low-power track-and-hold mode. In this mode, each conversion is preceded by a tracking
period of 3 SAR clocks (after the start-of-conversion signal). When the CNVSTR0 signal is used to initiate
conversions in low-power tracking mode, ADC0 tra cks only when CNVSTR0 is low; conversion begins on
the rising edge of CNVSTR0 (see Figure 6.3). Tracking can also be disabled (shutdown) when the entire
chip is in low power standby or sleep modes. Low-power track-and-hold mode is also useful when AMUX
or PGA settings are frequently changed, to ensure that settling time requirements are met (see
“6.2.3. Settling Time Requirements” on page 77
).
A. ADC Timing for External Trigger Source
CNVSTR0
(AD0CM[1:0]=10)
12345678910111213141516
SAR Clocks
Section
ADC0TM=1
ADC0TM=0
Timer 2, Timer 3 Overflow;
Write '1' to AD0BUSY
(AD0CM[1:0]=00, 01, 11)
SAR Clocks
ADC0TM=1
SAR Clocks
ADC0TM=0
Figure 6.3. ADC0 Track and Conversion Example Timing
Low Power
or Convert
Track Or ConvertConvertTrack
TrackConvertLow Power Mode
B. ADC Timing for Internal Trigger Sources
1234567891011121314151617 18 19
Low Power
or Convert
Track or
Convert
TrackConvertLow Powe r M ode
12345678910111213141516
ConvertTrack
76Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
6.2.3. Settling Time Requirements
A minimum tracking time is required before an accurate conversion can be performed. This tracking time is
determined by the ADC0 MUX resistance, the ADC0 sampling capacitance, any external source re sistance, and the accuracy required for the conversion. Figure 6.4 shows the equivalent ADC0 input circuits
for both Differential and Single-ended modes. Notice that the equivalent time constant for both input circuits is the same. The required settling time for a given settling accuracy (
Equation 6.1. When measuring the Temperature Sensor output,
R
TOTAL
minimum settling time of 1.5 µs is required after any MUX or PGA selection. Note that in low-power tracking mode, three SAR clocks are used for tracking at the start of ever y conversion. For most application s,
these three SAR clocks will meet the tracking requirements.
n
2
⎛⎞
------ -
t
×ln=
⎝⎠
SA
R
TOTALCSAMPLE
Equation 6.1. ADC0 Settling Time Requirements
Where:
SA is the settling accuracy, given as a fraction of an LSB (for example, 0.25 to settle within 1/4 LSB)
t is the required settling time in seconds
R
n is the ADC resolution in bits (10).
is the sum of the ADC0 MUX resistance and any external source resistance.
Bits3–2: AD0CM1–0: ADC0 Start of Conversion Mode Select.
Bit1:AD0WINT: ADC0 Window Compare Interrupt Flag.
Bit0:AD0LJST: ADC0 Left Justify Select.
0
0xE8(bit addressable)
0: ADC0 Disabled. ADC0 is in low-power shutdown.
1: ADC0 Enabled. ADC0 is active and ready for data conversions.
0: When the ADC is enabled, tracking is continuous unless a conversion is in process.
1: Tracking Defined by ADCM1-0 bits.
This flag must be cleared by software.
0: ADC0 has not completed a data conversion since the last time this flag was cleared.
1: ADC0 has completed a data conversion.
Read:
0: ADC0 Conversion is complete or a conversion is not currently in progre ss. AD0INT is set
to logic 1 on the falling edge of AD0BUSY.
1: ADC0 Conversion is in progress.
Write:
0: No Effect.
1: Initiates ADC0 Conversion if AD0CM1-0 = 00b.
If AD0TM = 0:
00: ADC0 conversion initiated on every write of ‘1’ to AD0BUSY.
01: ADC0 conversion initiated on overflow of Timer 3.
10: ADC0 conversion initiated on rising edge of external CNVSTR0.
11: ADC0 conversion initiated on overflow of Timer 2.
If AD0TM = 1:
00: Tracking starts with the write of ‘1’ to AD0BUSY and lasts for 3 SAR clocks, followed by
conversion.
01: Tracking started by the overflow of Timer 3 and lasts for 3 SAR clocks, followed by conversion.
10: ADC0 tracks only when CNVSTR0 input is logic low; conversion starts on rising
CNVSTR0 edge.
11: Tracking started by the overflow of Timer 2 and lasts for 3 SAR clocks, followed by conversion.
This bit must be cleared by software.
0: ADC0 Window Comparison Data match has not occur red sin ce th is flag wa s last clear ed .
1: ADC0 Window Comparison Data match has occurr ed.
0: Data in ADC0H:ADC0L registers are right-justified.
1: Data in ADC0H:ADC0L registers are left-justified.
Rev. 1.481
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
SFR Definition 6.5. ADC0H: ADC0 Data Word MSB
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: ADC0 Data Word High-Order Bits.
0
0xBF
For AD0LJST = 0: Bits 7–4 are the sign extension of Bit3 . Bits 3–0 are the upp er 4 bits of the
10-bit ADC0 Data Word.
For AD0LJST = 1: Bits 7–0 are the most-significant bits of the 10-bit ADC0 Data Word.
SFR Definition 6.6. ADC0L: ADC0 Data Word LSB
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: ADC0 Data Word Low-Order Bits.
0
0xBE
00000000
For AD0LJST = 0: Bits 7–0 are the lower 8 bits of the 10-bit ADC0 Data Word.
For AD0LJST = 1: Bits 7–4 are the lower 4 bits of the 10-bit ADC0 Data Word. Bits 3–0 will
always read ‘0’.
00000000
82Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
10-bit ADC0 Data Word appear s in the ADC0 Data Word Registers as follows:
ADC0H[1:0]:ADC0L[7:0], if AD0LJST = 0
(ADC0H[7:2] will be sign-extension of ADC0H.1 for a differential reading, otherwise
=
000000b).
ADC0H[7:0]:ADC0L[7:6], if AD0LJST = 1
(ADC0L[5:0] = 00b).
Example: ADC0 Data Word Conversion Map , AIN0 .0 Input in Single-Ended Mode
(AMX0CF = 0x00, AMX0SL = 0x00)
AIN0.0–AGND
(Volts)
VREF x (1023/1024)0x03FF0xFFC0
VREF / 20x02000x8000
VREF x (511/1024)0x01FF0x7FC0
00x00000x0000
Example: ADC0 Data Word Conversion Map, AIN0.0 -AIN0.1 Differential Input Pair
(AMX0CF = 0x01, AMX0SL = 0x00)
AIN0.0–AIN0.1
(Volts)
VREF x (511/512)0x01FF0x7FC0
VREF / 20x01000x4000
VREF x (1/512)0x00010x0040
00x00000x0000
–VREF x (1/512)0xFFFF (–1d)0xFFC0
–VREF / 20xFF00 (–256d)0xC000
–VREF0xFE00 (–512d)0x8000
For AD0LJST = 0:
CodeVin
×2n×=
ADC0H:ADC0L
(AD0LJST = 0)
ADC0H:ADC0L
(AD0LJST = 0)
Gain
---------------
VREF
ADC0H:ADC0L
(AD0LJST = 1)
ADC0H:ADC0L
(AD0LJST = 1)
; ‘n’ = 10 for Single-Ended; ‘n’= 9 for Differential.
Figure 6.5. ADC0 Data Word Example
Rev. 1.483
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
6.3.ADC0 Programmable Window Detector
The ADC0 Programmable Window Detector continuously compares th e ADC0 output to user-pr ogra mme d
limits, and notifies the system when an out-of-boun d condi tion is detected. This is especially effective in an
interrupt-driven system, saving code space and CPU bandwidth while delivering faster system response
times. The window detector interrupt flag (AD0WINT in ADC0CN) can also be used in polled mode. The
high and low bytes of the reference words are loaded into the ADC0 Greater-Than and ADC0 Less-Than
registers (ADC0GTH, ADC0GTL, ADC0LTH, and ADC0LTL). Reference comparisons are shown starting
on page 87. Notice that the window detector flag can be asserted when th e measur ed data is inside or outside the user-programmed limits, depending on the programming of the ADC0GTx and ADC0LTx registers.
SFR Definition 6.7. ADC0GTH: ADC0 Greater-Than Data High Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: High byte of ADC0 Greater-Than Data Word.
0
0xC5
SFR Definition 6.8. ADC0GTL: ADC0 Greater-Than Data Low Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: Low byte of ADC0 Greater-Tha n Da ta Word.
0
0xC4
11111111
11111111
84Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
SFR Definition 6.9. ADC0LTH: ADC0 Less-Than Data High Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: High byte of ADC0 Less-Than Data Word.
0
0xC7
00000000
SFR Definition 6.10. ADC0LTL: ADC0 Less-Than Data Low Byte
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: Low byte of ADC0 Less-Than Data Word.
0
0xC6
00000000
Rev. 1.485
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AGND)
REF x (1023/1024)
REF x (512/1024)
REF x (256/1024)
0
ADC Data
Word
0x03FF
0x0201
0x0200
0x01FF
0x0101
0x0100
0x00FF
0x0000
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x00
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0x0200,
ADC0GTH:ADC0GTL = 0x0100.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x0200 and > 0x0100.
Input Voltage
(AD0.0 - AGND)
REF x (1023/1024)
REF x (512/1024)
REF x (256/1024)
0
ADC Data
Word
0x03FF
0x0201
0x0200
0x01FF
0x0101
0x0100
0x00FF
0x0000
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x00,
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0x0100,
ADC0G TH:ADC0GTL = 0x0200.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
> 0x0200 or < 0x0100.
Figure 6.6. 10-Bit ADC0 Window Interrupt Example: Right Justified Single-Ended
Data
86Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AD0.1)
REF x (511/512)
REF x (256/512)
REF x (-1/512)
-REF
ADC Data
Word
0x01FF
0x0101
0x0100
0x00FF
0x0000
0xFFFF
0xFFFE
0xFE00
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0x0100,
ADC0GTH:ADC0GTL = 0xFFFF.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x0100 and > 0xFFFF. (In 2s-complement
math, 0xFFFF = -1.)
Input Voltage
(AD0.0 - AD0.1)
REF x (511/512)
REF x (256/512)
REF x (-1/512)
-REF
ADC Data
Word
0x01FF
0x0101
0x0100
0x00FF
0x0000
0xFFFF
0xFFFE
0xFE00
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘0’,
ADC0LTH:ADC0LTL = 0xFFFF,
ADC0G TH:ADC0GTL = 0x0100.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0xFFFF or > 0x0100. (In 2s-complement
math, 0xFFFF = -1.)
Figure 6.7. 10-Bit ADC0 Window Interrupt Example: Right Justified Differential
Data
Rev. 1.487
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AG ND)
REF x (1023/1024)
REF x (512/1024)
REF x (256/1024)
0
ADC Data
Word
0xFFC0
0x8040
0x8000
0x7FC0
0x4040
0x4000
0x3FC0
0x0000
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x00,
AD0LJST = ‘1’,
ADC0LTH:ADC0LTL = 0x2000,
ADC0GTH:ADC0GTL = 0x1000.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x2000 and > 0x1000.
Input Voltage
(AD0.0 - AGND)
REF x (1023/1024)
REF x (512/1024)
REF x (256/1024)
0
ADC Data
Word
0xFFC0
0x8040
0x8000
0x7FC0
0x4040
0x4000
0x3FC0
0x0000
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x00,
AD0LJST = ‘1’
ADC0LTH:ADC0LTL = 0x1000,
ADC0G TH:ADC0GTL = 0x2000.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x1000 or > 0x2000.
Figure 6.8. 10-Bit ADC0 Window Interrupt Example: Left Justified Single-Ended
Data
88Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Input Voltage
(AD0.0 - AD0.1)
REF x (511/512)
REF x (128/512)
REF x (-1/512)
-REF
ADC Data
Word
0x7FC0
0x2040
0x2000
0x1FC0
0x0000
0xFFC0
0xFF80
0x8000
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘1’,
ADC0LTH:ADC0LTL = 0x2000,
ADC0GTH:ADC0GTL = 0xFFC0.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0x2000 and > 0xFFC0. (2s-complement
math.)
Input Voltage
(AD0.0 - AD0.1)
REF x (511/512)
REF x (128/512)
REF x (-1/512)
-REF
ADC Data
Word
0x7FC0
0x2040
0x2000
0x1FC0
0x0000
0xFFC0
0xFF80
0x8000
ADWINT=1
ADC0GTH:ADC0GTL
ADWINT
not affected
ADC0LTH:ADC0LTL
ADWINT=1
Given:
AMX0SL = 0x00, AMX0CF = 0x01,
AD0LJST = ‘1’,
ADC0LTH:ADC0LTL = 0xFFC0,
ADC0G TH:ADC0GTL = 0x2000.
An ADC0 End of Conversion will cause an
ADC0 Window Compare Interrupt (AD0WINT
= ‘1’) if the resulting ADC0 Data Word is
< 0xFFC0 or > 0x2000. (2s-complement
math.)
Figure 6.9. 10-Bit ADC0 Window Interrupt Example: Left Justified Differential Data
Rev. 1.489
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
Table 6.1. 10-Bit ADC0 Electrical Characteristics (C8051F122/3/6/7 and C8051F13x)
V
= 3.0 V, AV+ = 3.0 V, VREF = 2.40 V (REFBE = 0), PGA Gain = 1, –40 to +85 °C unless otherwise specified.
DD
ParameterConditionsMinTypMaxUnits
DC Accuracy
Resolution10bits
Integral Nonlinearity——±1LSB
Differential NonlinearityGuaranteed Monotonic——±1LSB
Offset Error—±0.5—LSB
Full Scale ErrorDifferential mode—–1.5±0.5—LSB
Offset Temperature Coefficient—±0.25—ppm/°C
Dynamic Performance (10 kHz sine-wave input, 0 to 1 dB below Full Scale, 100 ksps
Signal-to-Noise Plus Distortion59——dB
Total Harmonic Distortion
Spurious-Free Dynamic Range—80—dB
SAR Clock Frequency——2.5MHz
Up to the 5
th
harmonic
Conversion Rate
—–70—dB
Conversion Time in SAR Clocks16——clocks
Track/Hold Acquisition Time1.5——µs
Throughput Rate——100ksps
Analog Inputs
Input Voltage RangeSingle-ended operation0—VREFV
*Common-mode Voltage Range Differential operationAGND—AV+V
Input Capacitance—10—pF
Temperature Sensor
Linearity
Offset(Temp = 0 °C)—776—mV
Offset Error
Slope—2.86—mV/°C
Slope Error
Power Supply Current
(AV+ supplied to ADC)
Power Supply Rejection—±0.3—mV/V
Notes:
1
1,2
2
1.
Includes ADC offset, gain, and linearity variations.
2. Represents one standard deviation from the mean.
(Temp = 0 °C)—±8.5—mV
Power Specifications
Operating Mode, 100 ksps
—±0.2— °C
—±0.034—mV/°C
—450900µA
90Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
7.ADC2 (8-Bit ADC, C8051F12x Only)
The C8051F12x devices include a second ADC peripheral (ADC2), which consists of an 8-chan nel, configurable analog multiplexer , a programmable gain amplifier, and a 500 ksps, 8-bit successive-approximationregister ADC with integrated track-and-hold (see block diagram in Figure 7.1). ADC2 is fully configurable
under software control via the Special Function Registers shown in Figure 7.1. The ADC2 subsystem (8-bit
ADC, track-and-hold and PGA) is enabled only when the AD2EN bit in the ADC2 Control register
(ADC2CN) is set to logic 1. The ADC2 subsystem is in low power shutdown when this bit is logic 0. The
voltage reference used by ADC2 is selected as described in
Write to AD2BUSY
Timer 3 Overflow
CNVSTR2
Timer 2 Overflow
Write to AD0BUSY
(synchronized with
ADC0)
Dig
AD2WINT
Figure 7.1. ADC2 Functional Block Diagram
7.1.Analog Multiplexer and PGA
Eight ADC2 channels are available for measurement, as selected by the AMX2SL register (see SFR Definition 7.2). The PGA amplifies the ADC2 output signal by an amount determined by the states of the
AMP2GN2-0 bits in the ADC2 Configuration r e gist er, ADC2CF (SFR Definition 7. 3) . T h e PG A c an be s oftware-programmed for gains of 0.5, 1, 2, or 4. Gain defaults to 0.5 on reset.
Important Note: AIN2 pins also function a s Port 1 I/O pins, and must be configured as analog input s when
used as ADC2 inputs. To configure an AIN2 pin for analog input, set to ‘0’ the corresponding bit in register
P1MDIN. Port 1 pins selected as analog inputs are skipped by the Digital I/O Crossbar. See
“18.1.5. Configuring Port 1 Pins as Analog Inputs” on page 240
for more information on configuring
the AIN2 pins.
Rev. 1.491
Section
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
7.2.ADC2 Modes of Operation
ADC2 has a maximum conversion speed of 500 ksps. The ADC2 conversion clock (SAR2 clock) is a
divided version of the system clock, determined by the AD2SC bits in the ADC2CF register. The maximum
ADC2 conversion clock is 6 MHz.
7.2.1. Starting a Conversion
A conversion can be initiated in one of five w ays, de pending on the programmed states of the ADC2 Start
of Conversion Mode bits (AD2CM2-0) in ADC2CN. Conversions may be initiated by:
1. Writing a ‘1’ to the AD2BUSY bit of ADC2CN;
2. A Timer 3 overflow (i.e. timed continuous conversions);
3. A rising edge detected on the external ADC convert start signal, CNVSTR2;
4. A Timer 2 overflow (i.e. timed continuous conversions);
5. Writing a ‘1’ to the AD0BUSY of register ADC0CN (initiate conversion of ADC2 and ADC0 with
a single software command).
During conversion, the AD2BUSY bit is set to logic 1 and restored to 0 when conversion is complete. The
falling edge of AD2BUSY triggers an interrupt (when enabled) and sets the interrupt flag in ADC2CN. Converted data is available in the ADC2 data word, ADC2.
When a conversion is initiated by writing a ‘1’ to AD2BUSY , it is recommended to poll AD2INT to determine
when the conversion is complete. The recommended procedure is:
Step 1. Write a ‘0’ to AD2INT;
Step 2. Write a ‘1’ to AD2BUSY;
Step 3. Poll AD2INT for ‘1’;
Step 4. Process ADC2 data.
When CNVSTR2 is used as a conversion start source, it must be enabled in th e crossbar, and the corresponding pin must be set to open-drain, high-impedance mode (see
page 235
for more details on Port I/O configuration).
Section “18. Port Input/Output” on
7.2.2. Tracking Modes
The AD2TM bit in register ADC2CN controls the ADC2 track-and-hold mode. In its default state, the ADC2
input is continuously tracked, except when a conversion is in progress. When the AD2TM bit is logic 1,
ADC2 operates in low-power track-and-hold mode. In this mode, each conversion is preceded by a tracking period of 3 SAR clocks (after the start-of-conversion signal). When the CNV STR2 signal is us ed to initiate conversions in low-power tracking mode, ADC2 tracks only when CNVSTR2 is low; conversion
begins on the rising edge of CNVSTR2 (see Figure 7.2). Tracking can also be disabled (shutdown) when
the entire chip is in low power standby or sleep modes. Low-power Track-and-Hold mode is also useful
when AMUX or PGA settings are frequently changed, due to the settling time requirements described in
Section “7.2.3. Settling Time Requirements” on page 94.
92Rev. 1.4
CNVSTR2
(AD2CM[2:0]=010)
SAR Clocks
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
A. ADC Timing for External Trigger Source
123456789
AD2TM=1
Write '1' to AD2BUSY,
Timer 3 Overflow,
Timer 2 Overflow,
Write '1' to AD0BUSY
(AD2CM[2:0]=000, 001, 011, 1xx)
SAR Clocks
AD2TM=1
SAR Clocks
AD2TM=0
Figure 7.2. ADC2 Track and Conversion Example Timing
Bits3–1: AD2CM2–0: ADC2 Start of Conversion Mode Select.
Bit0:AD2WINT: ADC2 Window Compare Interrupt Fla g.
2
0xE8(bit addressable)
0: ADC2 Disabled. ADC2 is in low-power shutdown.
1: ADC2 Enabled. ADC2 is active and ready for data conversions.
0: Normal Track Mode: When ADC2 is enabled, tracking is continuous unless a conversion
is in process.
1: Low-power Track Mode: Tracking Defined by AD2CM2-0 bits (see below).
This flag must be cleared by software.
0: ADC2 has not completed a data conversion since the last time this flag was cleared .
1: ADC2 has completed a data conversion.
Read:
0: ADC2 Conversion is complete or a conversion is not currently in progress. AD2INT is set
to logic 1 on the falling edge of AD2BUSY.
1: ADC2 Conversion is in progress.
Write:
0: No Effect.
1: Initiates ADC2 Conversion if AD2CM2-0 = 000b
AD2TM = 0:
000: ADC2 conversion initiated on every write of ‘1’ to AD2BUSY.
001: ADC2 conversion initiated on overflow of Timer 3.
010: ADC2 conversion initiated on rising edge of external CNVSTR2.
01 1: ADC2 conversion initiated on overflow of Timer 2.
1xx: ADC2 conversion initiated on write of ‘1’ to AD0BUSY (synchronized with ADC0 software-commanded conversions).
AD2TM = 1:
000: Tracking initiated on write of ‘1’ to AD2BUSY for 3 SAR2 clocks, followed by conversion.
001: Tracking initiated on overflow of Timer 3 for 3 SAR2 clocks, followed by conversion.
010: ADC2 tracks only when CNVSTR2 input is logic low; conversion starts on rising
CNVSTR2 edge.
011: Tracking initiated on overflow of Timer 2 for 3 SAR2 clocks, followed by conversion.
1xx: Tracking initiated on write of ‘1’ to AD0BUSY an d lasts 3 SAR2 clocks, followed by conversion.
This bit must be cleared by software.
0: ADC2 Window Comparison Data match has not occurred since this flag was last cleared.
1: ADC2 Window Comparison Data match has occurred.
98Rev. 1.4
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
SFR Definition 7.5. ADC2: ADC2 Data Word
SFR Page:
SFR Address:
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bits7–0: ADC2 Data Word.
2
0xBE
Single-Ended Example:
8-bit ADC Data Word appears in the ADC2 Data Word Register as follows:
Example: ADC2 Data Word Conversion Map, Single-Ended AIN2.0 Inpu t
(AMX2CF = 0x00; AMX2SL = 0x00)
AIN2.0–AGND
(Volts)
VREF * (255/256)0xFF
VREF * (128/256)0x80
VREF * (64/256)0x40
00x00
ADC2
00000000
Gain
CodeVin
Differential Example:
8-bit ADC Data Word appears in the ADC2 Data Word Register as follows:
Example: ADC2 Data Word Conversion Map, Differential AIN2.0-AIN2.1 Input
(AMX2CF = 0x01; AMX2SL = 0x00)
AIN2.0–AIN2.1
(Volts)
VREF * (127/128)0x7F
VREF * (64/128)0x40
00x00
–VREF * (64/128)0xC0 (-64d)
–VREF * (128/128)0x80 (-128d)
CodeVin
---------------
×256×=
VREF
Gain
------------------------ -
×256×=
2V×REF
ADC2
Figure 7.4. ADC2 Data Word Example
Rev. 1.499
C8051F120/1/2/3/4/5/6/7
C8051F130/1/2/3
7.3.ADC2 Programmable Window Detector
The ADC2 Programmable Window Detector continuously compares th e ADC2 output to user-pr ogra mme d
limits, and notifies the system when a desired condition is detected. This is especially effective in an interrupt-driven system, saving code space and CPU bandwidth while delivering faster system response times.
The window detector interrupt flag (AD2WINT in register ADC2CN) can also be used in polled mode. The
ADC2 Greater-Than (ADC2GT) and Less-Than (ADC2LT) registers hold the comparison values. Example
comparisons for Differential and Single-ended modes are shown in Figure 7.6 and Figure 7.5, respectively.
Notice that the window detector flag can be programmed to indicate when measured data is inside or outside of the user-programmed limits, depending on the contents of the ADC2LT and ADC2GT registers.
7.3.1. Window Detector In Single-Ended Mode
Figure 7.5 shows two example window comparisons for Single-ended mode, with ADC2LT = 0x20 and
ADC2GT = 0x10. Notice that in Single-ended mode, the codes vary from 0 to VREF*(255/256) and are
represented as 8-bit unsigned integers. In the left example, an AD2WINT interrupt will be generated if the
ADC2 conversion word (ADC2) is within the range defined by ADC2GT and ADC2LT
(if 0x10
of the range defined by ADC2GT and ADC2LT (if ADC2
< ADC2 < 0x20). In the right example, and AD2WINT interrupt will be generated if ADC2 is outside