Datasheet
PIC16F62X
DS40300C-page 54 Preliminary 2003 Microchip Technology Inc.
9.1 Comparator Configuration
There are eight modes of operation for the
comparators. The CMCON register is used to select
the mode. Figure 9-1 shows the eight possible modes.
The TRISA register controls the data direction of the
comparator pins for each mode. If the Comparator
mode is changed, the comparator output level may not
be valid for the specified mode change delay shown
in Table 17-1.
FIGURE 9-1: COMPARATOR I/O OPERATING MODES
Note: Comparator interrupts should be disabled
during a Comparator mode change other-
wise a false interrupt may occur.
C1
RA0/AN0
VIN-
V
IN+
RA3/AN3/CMP1
Comparators Reset (POR Default Value)
A
A
CM2:CM0 = 000
C2
RA1/AN1
V
IN-
V
IN+
RA2/AN2
A
A
C1
RA0/AN0
V
IN-
V
IN+
RA3/AN3/CMP1
Two Independent Comparators
A
A
CM2:CM0 = 100
C2
RA1/AN1
VIN-
V
IN+
RA2/AN2
A
A
C1
RA0/AN0
V
IN-
V
IN+
RA3/AN3/CMP1
Two Common Reference Comparators
A
D
CM2:CM0 = 011
C2
RA1/AN1
V
IN-
V
IN+
RA2/AN2
A
A
C1
RA0/AN0
VIN-
V
IN+
RA3/AN3/CMP1
Off (Read as '0')
One Independent Comparator
D
D
CM2:CM0 = 101
C2
RA1/AN1
V
IN-
V
IN+
RA2/AN2
A
A
C1
VIN-
V
IN+
Off (Read as '0')
Comparators Off
D
D
CM2:CM0 = 111
C2
VIN-
V
IN+
Off (Read as '0')
D
D
C1
RA0/AN0
V
IN-
V
IN+
RA3/AN3/CMP1
Four Inputs Multiplexed to Two Comparators
A
A
CM2:CM0 = 010
C2
RA1/AN1
VIN-
V
IN+
RA2/AN2
A
A
From VREF
CIS = 0
CIS = 1
CIS = 0
CIS = 1
C1
RA0/AN0
VIN-
V
IN+
RA3/AN3/CMP1
Two Common Reference Comparators with Outputs
A
D
CM2:CM0 = 110
C2
RA1/AN1
V
IN-
V
IN+
RA2/AN2/CMP2
A
A
Open Drain
D = Digital Input.
CIS (CMCON<3>) is the Comparator Input Switch.
RA4/T0CKI/C20
C1
RA0/AN0
V
IN-
V
IN+
RA3/AN3/CMP1
Three Inputs Multiplexed to Two Comparators
A
A
CM2:CM0 = 001
C2
RA1/AN1
V
IN-
V
IN+
RA2/AN2
A
A
CIS = 0
CIS = 1
V
SS
VSS
RA0/AN0
RA3/AN3/CMP1
RA1/AN1
RA2/AN2
Module
C1V
OUT
C2VOUT
C1VOUT
C2VOUT
Off (Read as '0')
Off (Read as '0')
C2V
OUT
C1VOUT
C2VOUT
C1VOUT
C2VOUT
C1VOUT
C2VOUT
This mode is disfunctional and has been corrected in the ‘A’
Revision Devices.
A = Analog Input, port reads zeros always.
+
+