Information

1999 Microchip Technology Inc. DS80053B-page 1
PIC16F87X
The PIC16F87X (Rev. B) parts you have received con-
form functionally to the Device Data Sheet
(DS30292A), except for the anomalies described
below.
All the problems listed here will be addressed in future
revisions of the PIC16F87X silicon.
All devices have been marked revision “B” and “engi-
neering sample” or “ES”.
1. Module: Program Memory
When instruction execution resumes after an inter-
nal program cycle terminates, the following 16
memory locations must be blank (all 1’s). Other-
wise this may cause unexpected device operation.
Work Around
To address this issue, use the following software
sequence. Fixed in silicon revision B3.
EXAMPLE 1: CODE WORK AROUND
bsf STATUS, RP1
bcf STATUS, RP0
.
.
.
bcf INTCON, GIE ; If interrupts enabled
movlw 0x55
movwf EECON2
movlw 0xAA
movwf EECON2
bsf EECON1, WR
nop
;
; When used with MPASM, the data 0x3fff places all ’1’s at that point in the program.
; This executes as an addlw 0xff instruction which is completely benign at this point
; in the program.
;
data 0x3fff ; Instruction with all ones
data 0x3fff ; needed to clear high voltage
data 0x3fff ; out of the program memory
data 0x3fff ; arrays
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
data 0x3fff
bsf INTCON, GIE ; If interrupts enabled
bcf EECON1, WREN
PIC16F87X Rev. B Silicon Errata Sheet