PIC16F87-I/P Microchip Technology, PIC16F87-I/P Datasheet
![IC MCU FLASH 4KX14 EEPROM 18DIP](/photos/6/76/67657/18-dip_300mil__sml.jpg)
PIC16F87-I/P
Specifications of PIC16F87-I/P
Available stocks
Related parts for PIC16F87-I/P
PIC16F87-I/P Summary of contents
Page 1
... PIC16F87 • PIC16F88 2.0 PROGRAMMING THE PIC16F87/88 The PIC16F87/88 is programmed using a serial method. The Serial mode will allow the PIC16F87/ programmed while in the user’s system, which allows for increased design programming specification applies to PIC16F87/88 devices in all packages. ...
Page 2
... PIC16F87/88 FIGURE 2-2: PIC16F87 20-PIN SSOP RA2/AN2/CV REF RA3/AN3/C1OUT RA4/T0CKI/C2OUT RA5/MCLR (1) RB0/INT/CCP1 RB1/SDI/SDA RB2/SDO/RX/DT (1) RB3/PGM/CCP1 Note 1: Location of CCP1 function is determined by CCPMX. FIGURE 2-3: PIC16F87 28-PIN QFN RA5/MCLR (1) RB0/INT/CCP1 Note 1: Location of CCP1 function is determined by CCPMX. DS39607C-page RA7/OSC1/CLKI 20 2 RA6/OSC2/CLKO PIC16F87 RB7/PGD/T1OSI 7 15 ...
Page 3
... REF REF RA3/AN3/V +/C1OUT REF RA4/AN4/T0CKI/C2OUT RA5/MCLR (1) RB0/INT/CCP1 RB1/SDI/SDA RB2/SDO/RX/DT (1) RB3/PGM/CCP1 Note 1: Location of CCP1 function is determined by CCPMX. 2010 Microchip Technology Inc PIC16F87/88 RA1/AN1 RA0/AN0 RA7/OSC1/CLKI RA6/OSC2/CLKO V DD RB7/AN6/PGD/T1OSI RB6/AN5/PGC/T1OSO/T1CKI RB5/SS/TX/CK RB4/SCK/SCL RA1/AN1 RA0/AN0 RA7/OSC1/CLKI RA6/OSC2/CLKO RB7/AN6/PGD/T1OSI RB6/AN5/PGC/T1OSO/T1CKI RB5/SS/TX/CK RB4/SCK/SCL DS39607C-page 3 ...
Page 4
... PIC16F87/88 FIGURE 2-6: PIC16F88 28-PIN QFN RA5/MCLR (1) RB0/INT/CCP1 Note 1: Location of CCP1 function is determined by CCPMX. TABLE 2-1: PIN DESCRIPTIONS (DURING PROGRAMMING): PIC16F87/88 Pin Name Function RB3 PGM RB6 CLOCK RB7 DATA MCLR Legend Input Output Power * To activate the Programming mode, high voltage needs to be applied to the MCLR input. Since MCLR is used for a level source, this means that MCLR does not draw any significant current ...
Page 5
... EEPROM contents to a HEX file, along with Configuration bit information. The 256 data memory locations are logically mapped and use PC<7:0>. The format for data memory storage is one data byte per address location, LSb aligned PIC16F87/ Bytes 256 256 program memory information and DS39607C-page 5 ...
Page 6
... PIC16F87/88 3.3 ID Locations A user may store identification information (ID) in four ID locations. The ID locations are mapped in [0x2000:0x2003 recommended that the user use only the four Least Significant bits of each ID location. In some devices, the ID locations read out in an unscrambled fashion once code-protection is enabled. ...
Page 7
... IL DD commands. 3.4.1 LOW-VOLTAGE ICSP PROGRAMMING MODE Low-voltage ICSP Programming mode allows a PIC16F87/88 device to be programmed using V only. However, when this mode is enabled by a Configuration bit (LVP), the PIC16F87/88 device and IL dedicates RB3 to control entry/exit into Programming mode. When the LVP bit is set to ‘1’, the Low-voltage ICSP Programming entry is enabled ...
Page 8
... PIC16F87/88 3.4.2 SERIAL PROGRAM OPERATION The RB6 pin is used as a clock input pin, while the RB7 pin is used to enter command bits, and input or output data during serial operation. To input a command, the clock pin (RB6) is cycled six times. Each command bit is latched on the falling edge of the clock, with the Least Significant bit (LSb) of the command being input first ...
Page 9
... The user must allow the time for programming, as specified in the electrical specifications, for programming to complete. An ‘End Programming’ command is required. TABLE 3-1: COMMAND MAPPING FOR PIC16F87/88 Command Load Configuration Load Data for Program Memory Read Data from Program Memory Increment Address ...
Page 10
... The ID locations and Configuration Words read out unscrambled and can be reprogrammed normally. The only command to erase a code-protected PIC16F87/88 device is the ‘Chip Erase’. This erases program memory, data memory, Configuration bits and ID locations, as described in Section 3.5.1.3 “Chip Erase”. Since all data within the program and data ...
Page 11
... End Programming Command Load Data Command No Four Loads Done? Yes Begin Programming Only Command Wait tprog1 End Programming Command All No Row Locations Done? Yes Report Verify Error No All Locations Done? Yes PIC16F87/88 < 5.5V) DD Verify all Locations No Data Correct? Yes End DS39607C-page 11 ...
Page 12
... PIC16F87/88 ALGORITHM 2 FLOWCHART – PROGRAM MEMORY (4.5V V FIGURE 3-3: Increment Address Command Increment Address Command DS39607C-page 12 Start Chip Erase Sequence Set DDP Load Data Command No Four Loads Done? Yes Begin Programming Only Command Wait tprog1 End Programming Command Yes No All Locations ...
Page 13
... FIGURE 3-4: FLOWCHART – PIC16F87/88 CONFIGURATION MEMORY (2.0V V < 5.5V) AND (4.5V Start Load Configuration Data (Set PC = 2000h) Yes Program ID Program Four Location? Locations No Report Programming Failure Increment Address Command Address = 0x2004? No Yes Increment Address Command Increment Address Command ...
Page 14
... These bits can be written to ‘0’ or ‘1’ with the ‘Begin Program Only’ command. A ‘Begin Erase’ command is not required when programming configuration memory. 4.1 Device ID Word The device ID word for the PIC16F87/88 is located at 2006h. TABLE 4-1: DEVICE ID VALUE Device ID Value ...
Page 15
... HS oscillator 001 = XT oscillator = LP oscillator 000 Legend Readable bit W = Writable bit -n = Value at POR 1 = bit is set 2010 Microchip Technology Inc. CPD LVP BOREN MCLRE FOSC2 PWRTEN WDTEN FOSC1 FOSC0 Unimplemented bit, read as ‘0’ bit is cleared PIC16F87/88 bit bit is unknown DS39607C-page 15 ...
Page 16
... PIC16F87/88 REGISTER 4-2: CONFIGURATION WORD 2 (2008h) REGISTER U-1 U-1 U-1 U-1 U-1 — — — — — bit 13 bit 13-2 Unimplemented: Read as ‘ 1 ’ bit 1 IESO: Internal External Switch Over bit 1 = Internal External Switch Over mode enabled 0 = Internal External Switch Over mode disabled ...
Page 17
... Similarly, while saving a HEX file, Configuration Word and ID information must be included. An option to not include this information may be provided. Specifically for the PIC16F87/88, the EEPROM data memory should also be embedded in the HEX file (see Section 3.2 “Data EEPROM Memory”). ...
Page 18
... PIC16F87/88 7.0 PROGRAM MODE ELECTRICAL CHARACTERISTICS TABLE 7-1: TIMING REQUIREMENTS FOR PROGRAM MODE AC/DC CHARACTERISTICS POWER SUPPLY PINS Characteristics General V level for Begin Erase, Begin DD Program operations and EECON1 writes of program memory V level for Begin Erase, Begin DD Program operations and EECON1 ...
Page 19
... Program Mode 1 s min tdly2 0 0 strt_bit X tdly1 1 s min 100 ns min Program Mode tdly2 1 s min bit 0 X tdly1 1 s min RB7 = Input Program Mode PIC16F87/ stp_bit tset1 thld1 stp_bit tset1 thld1 tdly3 bit 13 RB7 Input RB7 = Output DS39607C-page 19 ...
Page 20
... PIC16F87/88 FIGURE 7-4: READ DATA FROM DATA MEMORY COMMAND (PROGRAM) V IHH MCLR tset0 thld0 RB6 (Clock) RB7 (Data) tset1 thld1 100 ns min Reset FIGURE 7-5: INCREMENT ADDRESS COMMAND (SERIAL PROGRAM) V IHH MCLR 1 RB6 (Clock) RB7 0 (Data) Reset FIGURE 7-6: BEGIN ERASE (SERIAL PROGRAM) ...
Page 21
... Program/Verify Test Mode Reset 2010 Microchip Technology Inc tset1 thld1 100 ns min. Program Mode Begin Erase tset1 thld1 100 ns min. Begin Erase tset1 thld1 100 ns min. PIC16F87/88 tprog1 End Programming Command End tprog3 Programming tprog3 End Programming DS39607C-page 21 ...
Page 22
... PIC16F87/88 FIGURE 7-10: CHIP ERASE COMMAND (SERIAL PROGRAM) V IHH MCLR 1 RB6 (Clock) RB7 1 (Data) Reset FIGURE 7-11: PROGRAM MODE ENTRY V IHH MCLR V DD tpu RB6 (CLOCK) RB7 (DATA) Reset DS39607C-page tset1 thld1 100 ns min. Program Mode Program Mode tprog4 Next Command ...
Page 23
... REAL ICE, rfLAB, Select Mode, Total Endurance, TSHARC, UniWinDriver, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. ...
Page 24
... Fax: 886-3-6578-370 Taiwan - Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803 Taiwan - Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 2010 Microchip Technology Inc. EUROPE Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 France - Paris Tel: 33-1-69-53-63-20 ...