English
Language : 

PIC16F87 Datasheet, PDF (60/214 Pages) Microchip Technology – 18/20/28-Pin Enhanced FLASH Microcontrollers with nanoWatt Technology
PIC16F87/88
TABLE 5-3: PORTB FUNCTIONS
Name
Bit# Buffer
Function
RB0/INT/CCP1
RB1/SDI/SDA
RB2/SDO/RX/DT
RB3/PGM/CCP1(3)
RB4/SCK/SCL
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.
bit 1 TTL/ST(5) Input/output pin, SPI data input pin or I2C data I/O pin.
Internal software programmable weak pull-up.
bit 2 TTL/ST(4) Input/output pin, SPI data output pin.
USART asynchronous receive or synchronous data.
Internal software programmable weak pull-up.
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.
bit 4 TTL/ST(5) Input/output pin or SPI and I2C clock pin (with interrupt-on-change).
Internal software programmable weak pull-up.
RB5/SS/TX/CK
bit 5
RB6/AN5/PGC/T1OSO/ bit 6
T1CKI
RB7/AN6/PGD/T1OSI bit 7
TTL
TTL/ST(2)
TTL/ST(2)
Input/output pin or SPI slave select pin (with interrupt-on-change).
USART asynchronous transmit or synchronous clock.
Internal software programmable weak pull-up.
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.
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 I2C mode.
6: PIC16F88 only.
TABLE 5-4: SUMMARY OF REGISTERS ASSOCIATED WITH PORTB
Address Name Bit 7
Bit 6
Bit 5
Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Value on
POR, BOR
06h, 106h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
86h, 186h TRISB PORTB Data Direction Register
81h, 181h OPTION RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
9Bh
ANSEL(1)
—
ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0
Legend: x = unknown, u = unchanged. Shaded cells are not used by PORTB.
Note 1: PIC16F88 device only.
xxxx xxxx
1111 1111
1111 1111
-111 1111
Value on
all other
RESETS
uuuu uuuu
1111 1111
1111 1111
-111 1111
DS30487B-page 58
Preliminary
 2003 Microchip Technology Inc.