Datasheet
2002-2013 Microchip Technology Inc. DS30487D-page 9
PIC16F87/88
PORTB is a bidirectional I/O port. PORTB can be
software programmed for internal weak pull-up on all
inputs.
RB0/INT/CCP1
(5)
RB0
INT
CCP1
677
I/O
I
I/O
TTL
ST
(1)
ST
Bidirectional I/O pin.
External interrupt pin.
Capture input, Compare output, PWM output.
RB1/SDI/SDA
RB1
SDI
SDA
788
I/O
I
I/O
TTL
ST
ST
Bidirectional I/O pin.
SPI data in.
I
2
C™ data.
RB2/SDO/RX/DT
RB2
SDO
RX
DT
899
I/O
O
I
I/O
TTL
ST
Bidirectional I/O pin.
SPI data out.
AUSART asynchronous receive.
AUSART synchronous detect.
RB3/PGM/CCP1
(5)
RB3
PGM
CCP1
91010
I/O
I/O
I
TTL
ST
ST
Bidirectional I/O pin.
Low-Voltage ICSP™ Programming enable pin.
Capture input, Compare output, PWM output.
RB4/SCK/SCL
RB4
SCK
SCL
10 11 12
I/O
I/O
I
TTL
ST
ST
Bidirectional I/O pin. Interrupt-on-change pin.
Synchronous serial clock input/output for SPI.
Synchronous serial clock Input for I
2
C.
RB5/SS
/TX/CK
RB5
SS
TX
CK
11 12 13
I/O
I
O
I/O
TTL
TTL
Bidirectional I/O pin. Interrupt-on-change pin.
Slave select for SPI in Slave mode.
AUSART asynchronous transmit.
AUSART synchronous clock.
RB6/AN5/PGC/T1OSO/
T1CKI
RB6
AN5
(4)
PGC
T1OSO
T1CKI
12 13 15
I/O
I
I/O
O
I
TTL
ST
(2)
ST
ST
Bidirectional I/O pin. Interrupt-on-change pin.
Analog input channel 5.
In-Circuit Debugger and programming clock pin.
Timer1 oscillator output.
Timer1 external clock input.
RB7/AN6/PGD/T1OSI
RB7
AN6
(4)
PGD
T1OSI
13 14 16
I/O
I
I
I
TTL
ST
(2)
ST
Bidirectional I/O pin. Interrupt-on-change pin.
Analog input channel 6.
In-Circuit Debugger and ICSP programming data pin.
Timer1 oscillator input.
V
SS 5 5, 6 3, 5 P – Ground reference for logic and I/O pins.
V
DD 14 15, 16 17, 19 P – Positive supply for logic and I/O pins.
TABLE 1-2: PIC16F87/88 PINOUT DESCRIPTION (CONTINUED)
Pin Name
PDIP/
SOIC
Pin#
SSOP
Pin#
QFN
Pin#
I/O/P
Type
Buffer
Type
Description
Legend: I = Input O = Output I/O = Input/Output P = Power
– = Not used TTL = TTL Input ST = Schmitt Trigger Input
Note 1: This buffer is a Schmitt Trigger input when configured as the external interrupt.
2: This buffer is a Schmitt Trigger input when used in Serial Programming mode.
3: This buffer is a Schmitt Trigger input when configured in RC Oscillator mode and a CMOS input otherwise.
4: PIC16F88 devices only.
5: The CCP1 pin is determined by the CCPMX bit in Configuration Word 1 register.