English
Language : 

PIC16F87_05 Datasheet, PDF (60/228 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(7)
RB1/SDI/SDA
RB2/SDO/RX/DT
RB3/PGM/CCP1(3,7)
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.
AUSART 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
RB6/AN5(6)/PGC/
T1OSO/T1CKI
RB7/AN6(6)/PGD/
T1OSI
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.
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.
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 I2C mode.
6: PIC16F88 only.
7: The CCP1 pin is determined by the CCPMX bit in Configuration Word 1 register.
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
Value on
all other
Resets
06h, 106h PORTB
RB7
RB6
RB5
RB4
RB3
RB2 RB1
RB0 xxxx xxxx(1) uuuu uuuu(1)
00xx xxxx(2) 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
9Bh
ANSEL(2)
—
ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 -111 1111
1111 1111
-111 1111
Legend:
Note 1:
2:
x = unknown, u = unchanged, - = unimplemented, read as ‘0’. Shaded cells are not used by PORTB.
This value applies only to the PIC16F87.
This value applies only to the PIC16F88.
DS30487C-page 58
 2005 Microchip Technology Inc.