English
Language : 

PIC17C7XX Datasheet, PDF (283/328 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, pro-
tected microcontroller, extended microcontroller,
and microprocessor.
3. 22 new instructions.
The MOVF, TRIS and OPTION instructions have
been removed.
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
transfers possible (MOVPF and MOVFP instruc-
tions). These instructions do not affect the Work-
ing 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 replaces 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 differ-
ently.
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). Configuration bits can select
the FSR registers to auto-increment, auto-dec-
rement, 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 a VREF+ and VREF-.
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 dif-
ferently.
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 REG1, W
with:
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.
Upgrading from PIC17C42 Devices
To convert code from the PIC17C42 to all the other
PIC17CXXX devices, the user should take the following
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.
© 1998 Microchip Technology Inc.
DS30289A-page 283