Datasheet

PIC16F87/88
DS30487D-page 58 2002-2013 Microchip Technology Inc.
TABLE 5-3: PORTB FUNCTIONS
TABLE 5-4: SUMMARY OF REGISTERS ASSOCIATED WITH PORTB
Name Bit# Buffer Function
RB0/INT/CCP1
(7)
bit 0 TTL/ST
(1)
Input/output pin or external interrupt input.
Capture input/Compare output/PWM output pin.
Internal software programmable weak pull-up.
RB1/SDI/SDA bit 1 TTL/ST
(5)
Input/output pin, SPI data input pin or I
2
C™ data I/O pin.
Internal software programmable weak pull-up.
RB2/SDO/RX/DT bit 2 TTL/ST
(4)
Input/output pin, SPI data output pin.
AUSART asynchronous receive or synchronous data.
Internal software programmable weak pull-up.
RB3/PGM/CCP1
(3,7)
bit 3 TTL/ST
(2)
Input/output pin, programming in LVP mode or Capture input/Compare
output/PWM output pin. Internal software programmable weak pull-up.
RB4/SCK/SCL bit 4 TTL/ST
(5)
Input/output pin or SPI and I
2
C clock pin (with interrupt-on-change).
Internal software programmable weak pull-up.
RB5/SS
/TX/CK bit 5 TTL Input/output pin or SPI slave select pin (with interrupt-on-change).
AUSART asynchronous transmit or synchronous clock.
Internal software programmable weak pull-up.
RB6/AN5
(6)
/PGC/
T1OSO/T1CKI
bit 6 TTL/ST
(2)
Input/output pin, analog input
(6)
, serial programming clock
(with interrupt-on-change), Timer1 oscillator output pin or Timer1 clock
input pin. Internal software programmable weak pull-up.
RB7/AN6
(6)
/PGD/
T1OSI
bit 7 TTL/ST
(2)
Input/output pin, analog input
(6)
, serial programming data (with
interrupt-on-change) or Timer1 oscillator input pin.
Internal software programmable weak pull-up.
Legend: 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: Low-Voltage ICSP™ Programming (LVP) is enabled by default, which disables the RB3 I/O function. LVP
must be disabled to enable RB3 as an I/O pin and allow maximum compatibility to the other 18-pin
mid-range devices.
4: This buffer is a Schmitt Trigger input when configured for CCP or SSP mode.
5: This buffer is a Schmitt Trigger input when configured for SPI or I
2
C mode.
6: PIC16F88 only.
7: The CCP1 pin is determined by the CCPMX bit in Configuration Word 1 register.
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Value on
POR, BOR
Value on
all other
Resets
06h, 106h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xxxx
(1)
00xx xxxx
(2)
uuuu uuuu
(1)
00uu uuuu
(2)
86h, 186h TRISB PORTB Data Direction Register 1111 1111 1111 1111
81h, 181h OPTION_REG RBPU
INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
9Bh ANSEL
(2)
ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 -111 1111 -111 1111
Legend: x = unknown, u = unchanged, - = unimplemented, read as ‘0’. Shaded cells are not used by PORTB.
Note 1: This value applies only to the PIC16F87.
2: This value applies only to the PIC16F88.