One Step Up The 151x Ladder
The PIC16F1513 doubles the PIC16F1512: 4,096 words of flash (0x0000-0x0FFF), 256 bytes of SRAM, the same 28-pin package, twenty-five I/O lines, and the same wide seventeen-channel ten-bit converter. The CWG, two CCP modules, EUSART and MSSP carry over unchanged, and as on the whole family there is no EEPROM – the top 128 words of the array (0x0F80-0x0FFF) are the High-Endurance Flash window.
Lock Model
CONFIG1 at 0x8007 with the single CP bit; ID at 0x8006. A locked array reads 0x000; erased cells 0xFFFF; unmapped space above 0x0FFF also 0x000. The boundary check against the 2K sibling is the usual diagnostic step – mis-set readers invent phantom protected regions above 0x07FF, a mistake that has cost in-house teams days before the ID word was checked.
What The Image Contains
With 4K words and 256 bytes of SRAM the 1513 supports real scan-and-report applications:
– A seventeen-channel scan table with per-channel averaging in SRAM. – CWG-driven power-stage outputs with dead-band control. – An EUSART framed uplink, often with a small command interpreter. – Comparator-based fault paths that interrupt without polling.
The HEF window typically holds channel calibration written at final test plus thresholds adjusted in the field. On this family those 128 words are proportionally the most valuable region of the image – the code is usually reproducible from behavior, the calibration is not.
The Session
Identify via the ID word, read both configuration words, sweep 0x0000-0x0FFF including the HEF tail over two-wire ICSP, verify that every word decodes legally. Nothing is erased; the part remains programmable and returns to the board. As on every 151x member, the lock state found is documented before anything else happens, because CP and the HEF window share one configuration word and the found policy is what a faithful clone must reproduce.
Deliverables
HEX file at word addresses, annotated disassembly with the scan, CWG, serial and HEF regions labeled, configuration report, checksum tied to the die. Family cross-references: PIC16F1512 for the 2K member, PIC16F1516 and PIC16F1517 for the 8K parts.
Four Thousand Words In A 28-Pin Body
The PIC16F1513 offers 4,096 words of flash, 256 bytes of SRAM, 25 I/O pins, 17 ADC channels, two ECCP and two CCP, two EUSART and two MSSP. It is the middle of the 151x line and the part most often found in equipment that needs a display, a keypad and one serial link – dosing pumps, timers, small panel meters.
Interface Plus Measurement
Images on this part split into a measurement path and a display path, and the two meet in a shared variable block near the top of SRAM. Because SRAM is only 256 bytes, the compiler keeps almost everything in registers and the disassembly shows heavy bank switching; that pattern is a reliable marker for where the compiler placed the interface code versus the measurement loop.
– Flash: 0x0000-0x0FFF (4K words), 0x3FFF erased, 0x0000 protected. – Configuration: 0x8007-0x8008, device ID 0x8006.
The Configuration Word As A Record
Two words at 0x8007 and 0x8008 carry the protect bit, the watchdog, the brown-out threshold and the oscillator choice. The brown-out setting in particular tells a client what supply the design expected, and it is often the only surviving evidence of a power supply that has since been replaced. Both words are reported verbatim rather than summarised.
Output
HEX at word addresses, annotated disassembly with the measurement loop and display path separated, configuration report, checksum tied to the die.
Delivery
Configuration words, protect state and a per-block checksum table accompany the HEX. On a 4K-word part the block table fits on one line, which makes verification trivial for whoever flashes the replacement.
To schedule a 1513 extraction, write to the services desk or the contact form.