English
Language : 

PIC17C7XX_13 Datasheet, PDF (287/306 Pages) Microchip Technology – High-Performance 8-bit CMOS EPROM Microcontrollers with 10-bit A/D
APPENDIX A: MODIFICATIONS
The following is the list of modifications over the
PIC16CXX microcontroller family:
1. Instruction word length is increased to 16-bit.
This allows larger page sizes, both in program
memory (8 Kwords verses 2 Kwords) and regis-
ter file (256 bytes versus 128 bytes).
2. Four modes of operation: Microcontroller,
Protected Microcontroller, Extended Micro-
controller, and Microprocessor.
3. 22 new instructions.
The MOVF, TRIS and OPTION instructions are
no longer supported.
4. Four new instructions (TLRD, TLWT, TABLRD,
TABLWT) for transferring data between data
memory and program memory. They can be used
to “self program” the EPROM program memory.
5. Single cycle data memory to data memory trans-
fers possible (MOVPF and MOVFP instructions).
These instructions do not affect the Working
register (WREG).
6. W register (WREG) is now directly addressable.
7. A PC high latch register (PCLATH) is extended
to 8-bits. The PCLATCH register is now both
readable and writable.
8. Data memory paging is redefined slightly.
9. DDR registers replace function of TRIS regis-
ters.
10. Multiple Interrupt vectors added. This can
decrease the latency for servicing interrupts.
11. Stack size is increased to 16 deep.
12. BSR register for data memory paging.
13. Wake-up from SLEEP operates slightly differently.
14. The Oscillator Start-Up Timer (OST) and Power-
Up Timer (PWRT) operate in parallel and not in
series.
15. PORTB interrupt-on-change feature works on
all eight port pins.
16. TMR0 is 16-bit, plus 8-bit prescaler.
17. Second indirect addressing register added
(FSR1 and FSR2). Control bits can select the
FSR registers to auto-increment, auto-decre-
ment, remain unchanged after an indirect
address.
18. Hardware multiplier added (8 x 8  16-bit).
19. Peripheral modules operate slightly differently.
20. A/D has both VREF+ and VREF- inputs.
21. USARTs do not implement BRGH feature.
22. Oscillator modes slightly redefined.
23. Control/Status bits and registers have been
placed in different registers and the control bit
for globally enabling interrupts has inverse
polarity.
24. In-circuit serial programming is implemented
differently.
 1998-2013 Microchip Technology Inc.
PIC17C7XX
APPENDIX B: COMPATIBILITY
To convert code written for PIC16CXXX to
PIC17CXXX, the user should take the following steps:
1. Remove any TRIS and OPTION instructions,
and implement the equivalent code.
2. Separate the Interrupt Service Routine into its
four vectors.
3. Replace:
MOVF
with:
REG1, W
MOVFP REG1, WREG
4. Replace:
MOVF REG1, W
MOVWF REG2
with:
MOVPF REG1, REG2 ; Addr(REG1)<20h
or
MOVFP REG1, REG2 ; Addr(REG2)<20h
Note:
If REG1 and REG2 are both at addresses
greater then 20h, two instructions are
required.
MOVFP REG1, WREG ;
MOVPF WREG, REG2 ;
5. Ensure that all bit names and register names are
updated to new data memory map locations.
6. Verify data memory banking.
7. Verify mode of operation for indirect addressing.
8. Verify peripheral routines for compatibility.
9. Weak pull-ups are enabled on RESET.
10. WDT time-outs always reset the device (in run
or SLEEP mode).
B.1 Upgrading from PIC17C42 Devices
To convert code from the PIC17C42 to all the other
PIC17CXXX devices, the user should take the follow-
ing steps.
1. If the hardware multiply is to be used, ensure
that any variables at address 18h and 19h are
moved to another address.
2. Ensure that the upper nibble of the BSR was not
written with a non-zero value. This may cause
unexpected operation since the RAM bank is no
longer 0.
3. The disabling of global interrupts has been
enhanced, so there is no additional testing of the
GLINTD bit after a BSF CPUSTA, GLINTD
instruction.
DS30289C-page 287