PIC18F23K20/24K20/25K20/26K20/ 43K20/44K20/45K20/46K20 Data Sheet



Similar documents
PIC18F2423/2523/4423/4523 Data Sheet

PIC18F2480/2580/4480/4580 Data Sheet

PIC18F8722 Family Data Sheet

PIC18F2455/2550/4455/4550 Data Sheet

PIC18F1220/1320 Data Sheet

PIC18F87J10 Family Data Sheet

PIC18F1230/1330 Data Sheet

PIC18F2450/4450 Data Sheet

PIC-MAXI-WEB development board Users Manual

PIC18F26K20/46K20 Rev. B2/B3/B5/B6 Silicon Errata and Data Sheet Clarification

AN1303. Software Real-Time Clock and Calendar Using PIC16F1827 DATA INTERFACE INTRODUCTION IMPLEMENTATION INTERNAL REGISTER MAP

PIC18F2455/2550/4455/4550 Data Sheet

Fondamenti su strumenti di sviluppo per microcontrollori PIC

MX PIC24F Educational Module User Manual

Section 7. Oscillator

AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor.

Recommended Usage of Microchip 23X256/23X640 SPI Serial SRAM Devices RECOMMENDED CONNECTIONS FOR 23X256,23X640 SERIES DEVICES VCC 23X256/ HOLD.

Hello, and welcome to this presentation of the STM32L4 reset and clock controller.

Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ

Touch Through Metal. mtouch Metal Over Capacitive Technology Part 1

AN1470. Manchester Decoder Using the CLC and NCO ABSTRACT INTRODUCTION MANCHESTER ENCODED DATA (AS PER G.E. THOMAS)

MPLAB ICD 3 In-Circuit Debugger User s Guide For MPLAB X IDE

Tutorial for MPLAB Starter Kit for PIC18F

Analog-to-Digital Converters

PIC18F97J60 Family Data Sheet

PICkit 3 Programmer/Debugger User s Guide

Chapter 13. PIC Family Microcontroller

TB3016. Using the PIC MCU CTMU for Temperature Measurement IMPLEMENTATION BASIC PRINCIPLE MEASUREMENT CIRCUIT

Focus Product Selector Guide

PIC16F5X Data Sheet. Flash-Based, 8-Bit CMOS Microcontroller Series Microchip Technology Inc. DS41213D

PIC12F508/509/16F505 Data Sheet

SPI. Overview and Use of the PICmicro Serial Peripheral Interface. Getting Started: SPI

AN1286. Water-Resistant Capacitive Sensing INTRODUCTION THEORY OF OPERATION. Sensing Steps. Sensing Steps Description DESIGN

Atmel Norway XMEGA Introduction

Universal Programming Module 2

AN1275. KEELOQ with Advanced Encryption Standard (AES) Receiver/Decoder KEY FEATURES OVERVIEW. Microchip Technology Inc.

AN1416. Low-Power Design Guide INTRODUCTION LOW-POWER BASICS. Main Sources of Power Consumption DYNAMIC POWER

PIC10F200/202/204/206 Data Sheet

Section 15. Input Capture

8-Bit CMOS Microcontrollers with A/D Converter

PIC-MAXI-WEB development board Users Manual. Rev.B, April 2009 Copyright(c) 2009, OLIMEX Ltd, All rights reserved. Page 1

32-bit Microcontrollers (up to 512 KB Flash and 128 KB SRAM) with Graphics Interface, USB, CAN, and Ethernet

ET-BASE AVR ATmega64/128

PAC52XX Clock Control Firmware Design

How To Use Microchip.Com

AN1142. USB Mass Storage Class on an Embedded Host INTRODUCTION. USB Mass Storage Class. Overview

PIC16F84A Data Sheet. 18-pin Enhanced FLASH/EEPROM 8-bit Microcontroller Microchip Technology Inc. DS35007B

Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A

How To Program A Microcontroller Board (Eb064) With A Psp Microcontroller (B064-74) With An Ios 2.5V (Power) And A Ppt (Power Control) (Power Supply) (

PIC16F87X Data Sheet. 28/40-Pin 8-Bit CMOS FLASH Microcontrollers Microchip Technology Inc. DS30292C

An Introduction to MPLAB Integrated Development Environment

dspic30f3012/3013 dspic30f3012/3013 Rev. B0 Silicon Errata dspic30f3012/3013 (Rev. B0) Silicon Errata Silicon Errata Summary

WORKSHOP-IN-A-BOX 2: LOW POWER SOLUTIONS DEMONSTRATION BOARD

Getting Started with PIC24F/PIC24H Programming and Interfacing in C

USER GUIDE EDBG. Description

TCP/IP Networking: Web-Based Status Monitoring

PIC16CR7X Data Sheet. 28/40-Pin, 8-Bit CMOS ROM Microcontrollers Microchip Technology Inc. DS21993A

Introduction to the dspic DSC SMPS (Part 1)

PIC16F87XA Data Sheet

EasyPIC4 User s Manual

PIC24HJ32GP302/304, PIC24HJ64GPX02/X04 and PIC24HJ128GPX02/X04 Data Sheet

PIC16F84A. 18-pin Enhanced Flash/EEPROM 8-Bit Microcontroller. Devices Included in this Data Sheet: Pin Diagrams. High Performance RISC CPU Features:

Allows the user to protect against inadvertent write operations. Device select and address bytes are Acknowledged Data Bytes are not Acknowledged

AN Wire Communication with PIC Microcontroller INTRODUCTION. OVERVIEW OF THE 1-Wire BUS. 1-Wire Protocol. Prerequisites

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

PACKAGE OUTLINE DALLAS DS2434 DS2434 GND. PR 35 PACKAGE See Mech. Drawings Section

MPLAB XC8 GETTING STARTED GUIDE. MPLAB XC8 Getting Started Guide

Processor Extension Pak (PEP) and Debug Header Specification

AN1229. Class B Safety Software Library for PIC MCUs and dspic DSCs OVERVIEW OF THE IEC STANDARD INTRODUCTION

Uninstalling Incorrect USB Device Drivers

Focus Product Selector Guide

PIC16F631/677/685/687/689/690 Data Sheet

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

DS1307ZN. 64 x 8 Serial Real-Time Clock

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

Focus Product Selector Guide

SC14404 Complete Baseband Processor for DECT Handsets

PICNet 1. PICNet 1 PIC18 Network & SD/MMC Development Board. Features. Applications. Description

Section 27. Device Configuration Bits

Focus Product Selector Guide

AN1265. KEELOQ with AES Microcontroller-Based Code Hopping Encoder INTRODUCTION DUAL ENCODER OPERATION BACKGROUND FUNCTIONAL INPUTS AND

DS1621 Digital Thermometer and Thermostat

PIC12F629/675 Data Sheet

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

MPLAB IDE USER S GUIDE

LC898300XA. Functions Automatic adjustment to the individual resonance frequency Automatic brake function Initial drive frequency adjustment function

PIC16F87X. 28/40-pin 8-Bit CMOS FLASH Microcontrollers. Devices Included in this Data Sheet: Pin Diagram PDIP. Microcontroller Core Features:

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

Guangzhou HC Information Technology Co., Ltd. Product Data Sheet

Timers: Timer0 Tutorial (Part 1)

PIC16F526 Data Sheet. 14-Pin, 8-Bit Flash Microcontroller Microchip Technology Inc. Preliminary DS41326A

Real-Time Clock. * Real-Time Computing, edited by Duncan A. Mellichamp, Van Nostrand Reinhold

Thermostat Application Module Kit

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

Software Real Time Clock Implementation on MC9S08LG32

PICkit 2 Microcontroller Programmer USER S GUIDE

Section 5. Flash Programming

AN1325. mtouch Metal Over Cap Technology THEORY OF OPERATION INTRODUCTION CROSS SECTION OF METAL OVER CAPACITIVE (UNPRESSED)

BE635 User Manual. Rev. V Bolymin, Inc. All Rights Reserved.

Transcription:

PIC18F23K20/24K20/25K20/26K20/ 43K20/44K20/45K20/46K20 Data Sheet 28/40/44-Pin Flash Microcontrollers with nanowatt XLP Technology DS41303G

Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular Microchip Data Sheet. Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as unbreakable. Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, dspic, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, rfpic and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MXDEV, MXLAB, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, CodeGuard, dspicdem, dspicdem.net, dspicworks, dsspeak, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mtouch, Octopus, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, PIC 32 logo, 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. 2010, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. Microchip received ISO/TS-16949:2002 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company s quality system processes and procedures are for its PIC MCUs and dspic DSCs, KEELOQ code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. DS41303G-page 2

28/40/44-Pin Flash Microcontrollers with nanowatt XLP Technology High-Performance RISC CPU: C Compiler Optimized Architecture: - Optional extended instruction set designed to optimize re-entrant code Up to 1024 bytes Data EEPROM Up to 64 Kbytes Linear Program Memory Addressing Up to 3936 bytes Linear Data Memory Addressing Up to 16 MIPS Operation 16-bit Wide Instructions, 8-bit Wide Data Path Priority Levels for Interrupts 31-Level, Software Accessible Hardware Stack 8 x 8 Single-Cycle Hardware Multiplier Flexible Oscillator Structure: Precision 16 MHz Internal Oscillator Block: - Factory calibrated to ± 1% - Software selectable frequencies range of 31 khz to 16 MHz - 64 MHz performance available using PLL no external components required Four Crystal modes up to 64 MHz Two External Clock modes up to 64 MHz 4X Phase Lock Loop (PLL) Secondary Oscillator using Timer1 @ 32 khz Fail-Safe Clock Monitor: - Allows for safe shutdown if peripheral clock stops - Two-Speed Oscillator Start-up Special Microcontroller Features: Operating Voltage Range: 1.8V to 3.6V Self-Programmable under Software Control Programmable 16-Level High/Low-Voltage Detection (HLVD) module: - Interrupt on High/Low-Voltage Detection Programmable Brown-out Reset (BOR): - With software enable option Extended Watchdog Timer (WDT): - Programmable period from 4 ms to 131s Single-Supply 3V In-Circuit Serial Programming (ICSP ) via Two Pins In-Circuit Debug (ICD) via Two Pins Extreme Low-Power Management with nanowatt XLP: Sleep mode: < 100 na @ 1.8V Watchdog Timer: < 800 na @ 1.8V Timer1 Oscillator: < 800 na @ 32 khz and 1.8V Analog Features: Analog-to-Digital Converter (ADC) module: - 10-bit resolution, 13 External Channels - Auto-acquisition capability - Conversion available during Sleep - 1.2V Fixed Voltage Reference (FVR) channel - Independent input multiplexing Analog Comparator module: - Two rail-to-rail analog comparators - Independent input multiplexing Voltage Reference (CVREF) module - Programmable (% VDD), 16 steps - Two 16-level voltage ranges using VREF pins Peripheral Highlights: Up to 35 I/O Pins plus 1 Input-only Pin: - High-Current Sink/Source 25 ma/25 ma - Three programmable external interrupts - Four programmable interrupt-on-change - Eight programmable weak pull-ups - Programmable slew rate Capture/Compare/PWM (CCP) module Enhanced CCP (ECCP) module: - One, two or four PWM outputs - Selectable polarity - Programmable dead time - Auto-Shutdown and Auto-Restart Master Synchronous Serial Port (MSSP) module - 3-wire SPI (supports all 4 modes) - I 2 C Master and Slave modes with address mask Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART) module: - Supports RS-485, RS-232 and LIN - RS-232 operation using internal oscillator - Auto-Wake-up on Break - Auto-Baud Detect DS41303G-page 3

- Device Program Memory Flash (bytes) # Single-Word Instructions Data Memory SRAM (bytes) EEPROM (bytes) I/O (1) 10-bit A/D (ch) (2) CCP/ ECCP (PWM) PIC18F46K20 64k 32768 3936 1024 36 14 1/1 Y Y 1 2 1/3 Note 1: One pin is input only. 2: Channel count includes internal fixed voltage reference channel. SPI MSSP Master I 2 C EUSART Comp. Timers 8/16-bit PIC18F23K20 8K 4096 512 256 25 11 1/1 Y Y 1 2 1/3 PIC18F24K20 16K 8192 768 256 25 11 1/1 Y Y 1 2 1/3 PIC18F25K20 32K 16384 1536 256 25 11 1/1 Y Y 1 2 1/3 PIC18F26K20 64k 32768 3936 1024 25 11 1/1 Y Y 1 2 1/3 PIC18F43K20 8K 4096 512 256 36 14 1/1 Y Y 1 2 1/3 PIC18F44K20 16K 8192 768 256 36 14 1/1 Y Y 1 2 1/3 PIC18F45K20 32K 16384 1536 256 36 14 1/1 Y Y 1 2 1/3 DS41303G-page 4

Pin Diagrams 28-pin PDIP, SOIC, SSOP MCLR/VPP/RE3 RA0/AN0/C12IN0- RA1/AN1/C12IN1- RA2/AN2/VREF-/CVREF/C2IN+ RA3/AN3/VREF+/C1IN+ RA4/T0CKI/C1OUT RA5/AN4/SS/HLVDIN/C2OUT VSS OSC1/CLKIN/RA7 OSC2/CLKOUT/RA6 RC0/T1OSO/T13CKI RC1/T1OSI/CCP2 (1) RC2/CCP1/P1A RC3/SCK/SCL 1 2 3 4 5 6 7 8 9 10 11 PIC18F23K20 PIC18F24K20 PIC18F25K20 PIC18F26K20 28 27 26 25 24 23 22 21 20 19 18 17 12 13 16 14 15 RB7/KBI3/PGD RB6//KBI2/PGC RB5/KBI1/PGM RB4/KBI0/AN11/P1D RB3/AN9/C12IN2-/CCP2 (1) RB2/INT2/AN8/P1B RB1/INT1/AN10/C12IN3-/P1C RB0/INT0/FLT0/AN12 VDD VSS RC7/RX/DT RC6/TX/CK RC5/SDO RC4/SDI/SDA 40-pin PDIP MCLR/VPP/RE3 RA0/AN0/C12IN0- RA1/AN1/C12IN1- RA2/AN2/VREF-/CVREF/C2IN+ RA3/AN3/VREF+/C1IN+ RA4/T0CKI/C1OUT RA5/AN4/SS/HLVDIN/C2OUT RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 VDD VSS OSC1/CLKIN/RA7 OSC2/CLKOUT/RA6 RC0/T1OSO/T13CKI RC1/T1OSI/CCP2 (1) RC2/CCP1/P1A RC3/SCK/SCL RD0/PSP0 RD1/PSP1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PIC18F43K20 PIC18F44K20 PIC18F45K20 PIC18F46K20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 RB7/KBI3/PGD RB6/KBI2/PGC RB5/KBI1/PGM RB4/KBI0/AN11 RB3/AN9/C12IN2-/CCP2 (1) RB2/INT2/AN8 RB1/INT1/AN10/C12IN3- RB0/INT0/FLT0/AN12 VDD VSS RD7/PSP7/P1D RD6/PSP6/P1C RD5/PSP5/P1B RD4/PSP4 RC7/RX/DT RC6/TX/CK RC5/SDO RC4/SDI/SDA RD3/PSP3 RD2/PSP2 28-pin QFN/UQFN (2) RA1/AN1/C12IN1- RA0/AN0/C12IN0- MCLR/VPP/RE3 RB7/KBI3/PGD RB6/KBI2/PGC RB5/KBI1/PGM RB4/KBI0/AN11/P1D RA2/AN2/VREF-/CVREF/C2IN+ RA3/AN3/VREF+/C1IN+ RA4/T0CKI/C1OUT RA5/AN4/SS/HLVDIN/C2OUT VSS OSC1/CLKIN/RA7 OSC2/CLKOUT/RA6 1 2 3 4 5 6 7 2827 2625 24 2322 8 21 20 19 18 17 16 9 1011 12 13 14 15 PIC18F23K20 PIC18F24K20 PIC18F25K20 PIC18F26K20 RB3/AN9/C12IN2-/CCP2 (1) RB2/INT2/AN8/P1B RB1/INT1/AN10/C12IN3-/P1C RB0/INT0/FLT0/AN12 VDD VSS RC7/RX/DT Note 1: RB3 is the alternate pin for CCP2 multiplexing. 2: UQFN package availability applies only to PIC18F23K20. RC0/T1OSO/T13CKI RC1/T1OSI/CCP2 (1) RC2/CCP1/P1A RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK DS41303G-page 5

Pin Diagrams (Cont. d) 44-pin TQFP RC6/TX/CK RC5/SDO RC4/SDI/SDA RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0 RC3/SCK/SCL RC2/CCP1/P1A RC1/T1OSI/CCP2 (1) NC RC7/RX/DT RD4/PSP4 RD5/PSP5/P1B RD6/PSP6/P1C RD7/PSP7/P1D VSS VDD RB0/INT0/FLT0/AN12 RB1/INT1/AN10/C12IN3- RB2/INT2/AN8 RB3/AN9/C12IN2-/CCP2 (1) 1 2 3 4 5 6 7 8 9 10 11 44 43 42 41 40 39 12 13 14 15 38 37 36 35 34 PIC18F43K20 PIC18F44K20 PIC18F45K20 PIC18F46K20 16 17 18 19 20 21 22 33 32 31 30 29 28 27 26 25 24 23 NC RC0/T1OSO/T13CKI OSC2/CLKOUT/RA6 OSC1/CLKIN/RA7 VSS VDD RE2/CS/AN7 RE1/WR/AN6 RE0/RD/AN5 RA5/AN4/SS/HLVDIN/C2OUT RA4/T0CKI/C1OUT 44-pin QFN NC NC RB4/KBI0/AN11 RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD MCLR/VPP/RE3 RA0/AN0/C12IN0- RA1/AN1/C12IN1- RA2/AN2/VREF-/CVREF/C2IN+ RA3/AN3/VREF+/C1IN+ RC6/TX/CK RC5/SDO RC4/SDI/SDA RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0 RC3/SCK/SCL RC2/CCP1/P1A RC1/T1OSI/CCP2 (1) RC0/T1OSO/T13CKI RC7/RX/DT RD4/PSP4 RD5/PSP5/P1B RD6/PSP6/P1C RD7/PSP7/P1D VSS VDD VDD RB0/INT0/FLT0/AN12 RB1/INT1/AN10/C12IN3- RB2/INT2/AN8 1 2 3 4 5 6 7 8 9 10 11 44 43 42 41 40 39 12 13 14 15 16 17 38 37 36 35 34 PIC18F43K20 PIC18F44K20 PIC18F45K20 PIC18F46K20 18 19 20 21 22 33 32 31 30 29 28 27 26 25 24 23 OSC2/CLKOUT/RA6 OSC1/CLKIN/RA7 VSS VSS VDD VDD RE2/CS/AN7 RE1/WR/AN6 RE0/RD/AN5 RA5/AN4/SS/HLVDIN/C2OUT RA4/T0CKI/C1OUT Note 1: RB3 is the alternate pin for CCP2 multiplexing. RB3/AN9/C12IN2-/CCP2 (1) NC RB4/KBI0/AN11 RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD MCLR/VPP/RE3 RA0/AN0/C12IN0- RA1/AN1/C12IN1- RA2/AN2/VREF-/CVREF/C2IN+ RA3/AN3/VREF+/C1IN+ DS41303G-page 6

TABLE 1: PIC18F4XK20 PIN SUMMARY DIL Pin TQFP Pin QFN Pin I/O Analog Comparator Reference ECCP 2 19 19 RA0 AN0 C12IN0-3 20 20 RA1 AN1 C12IN1-4 21 21 RA2 AN2 C2IN+ VREF-/ CVREF 5 22 22 RA3 AN3 C1IN+ VREF+ 6 23 23 RA4 C1OUT T0CKI 7 24 24 RA5 AN4 C2OUT HLVDIN SS 14 31 33 RA6 OSC2/ CLKOUT 13 30 32 RA7 OSC1/CLKIN 33 8 9 RB0 AN12 FLT0 INT0 Yes 34 9 10 RB1 AN10 C12IN3- INT1 Yes 35 10 11 RB2 AN8 INT2 Yes 36 11 12 RB3 AN9 C12IN2- CCP2 (1) Yes 37 14 14 RB4 AN11 KBI0 Yes 38 15 15 RB5 KBI1 Yes PGM 39 16 16 RB6 KBI2 Yes PGC 40 17 17 RB7 KBI3 Yes PGD 15 32 34 RC0 T1OSO/ T13CKI 16 35 35 RC1 CCP2 (2) T1OSI 17 36 36 RC2 CCP1/ P1A 18 37 37 RC3 SCK/ SCL 23 42 42 RC4 SDI/ SDA 24 43 43 RC5 SDO 25 44 44 RC6 TX/CK 26 1 1 RC7 RX/DT 19 38 38 RD0 PSP0 20 39 39 RD1 PSP1 21 40 40 RD2 PSP2 22 41 41 RD3 PSP3 27 2 2 RD4 PSP4 28 3 3 RD5 P1B PSP5 29 4 4 RD6 P1C PSP6 30 5 5 RD7 P1D PSP7 8 25 25 RE0 AN5 RD 9 26 26 RE1 AN6 WR 10 27 27 RE2 AN7 CS EUSART MSSP Timers Slave Interrupts Pull-up Basic 1 18 18 RE3 (3) MCLR/VPP 11 7 7 VDD 32 28 28 VDD 12 6 6 VSS 31 29 30 VSS NC 8 VDD NC 29 VDD - NC 31 VSS Note 1: CCP2 multiplexed with RB3 when CONFIG3H<0> = 0 2: CCP2 multiplexed with RC1 when CONFIG3H<0> = 1 3: Input-only. DS41303G-page 7

TABLE 2: PIC18F2XK20 PIN SUMMARY Pin DIL Pin QUAD I/O Analog Comparator Reference ECCP EUSART MSSP Timers Slave Interrupts Pull-up Basic 2 27 RA0 AN0 C12IN0-3 28 RA1 AN1 C12IN1-4 1 RA2 AN2 C2IN+ VREF-/ CVREF 5 2 RA3 AN3 C1IN+ VREF+ 6 3 RA4 C1OUT T0CKI 7 4 RA5 AN4 C2OUT HLVDIN SS 10 7 RA6 OSC2/ CLKOUT 9 6 RA7 OSC1/ CLKIN 21 18 RB0 AN12 FLT0 INT0 Yes 22 19 RB1 AN10 C12IN3- P1C INT1 Yes 23 20 RB2 AN8 P1B INT2 Yes 24 21 RB3 AN9 C12IN2- CCP2 (1) Yes 25 22 RB4 AN11 P1D KBI0 Yes 26 23 RB5 KBI1 Yes PGM 27 24 RB6 KBI2 Yes PGC 28 25 RB7 KBI3 Yes PGD 11 8 RC0 T1OSO/ T13CKI 12 9 RC1 CCP2 (2) T1OSI 13 10 RC2 CCP1/ P1A 14 11 RC3 SCK/ SCL 15 12 RC4 SDI/ SDA 16 13 RC5 SDO 17 14 RC6 TX/CK 18 15 RC7 RX/DT 1 26 RE3 (3) MCLR/ VPP 8 5 VSS 19 16 VSS 20 17 VDD Note 1: CCP2 multiplexed with RB3 when CONFIG3H<0> = 0 2: CCP2 multiplexed with RC1 when CONFIG3H<0> = 1 3: Input-only DS41303G-page 8

Table of Contents 1.0 Device Overview... 11 2.0 Oscillator Module (With Fail-Safe Clock Monitor)... 27 3.0 Power-Managed Modes... 43 4.0 Reset... 51 5.0 Memory Organization... 65 6.0 Flash Program Memory... 89 7.0 Data EEPROM Memory... 99 8.0 8 x 8 Hardware Multiplier... 105 9.0 Interrupts... 107 10.0 I/O Ports... 121 11.0 Capture/Compare/PWM (CCP) Modules... 143 12.0 Timer0 Module... 155 13.0 Timer1 Module... 159 14.0 Timer2 Module... 167 15.0 Timer3 Module... 169 16.0 Enhanced Capture/Compare/PWM (ECCP) Module... 173 17.0 Master Synchronous Serial Port (MSSP) Module... 193 18.0 Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART)... 237 19.0 Analog-to-Digital Converter (ADC) Module... 265 20.0 Comparator Module... 279 21.0 Voltage References... 289 22.0 High/Low-Voltage Detect (HLVD)... 293 23.0 Special Features of the CPU... 299 24.0 Instruction Set Summary... 315 25.0 Development Support... 365 26.0 Electrical Characteristics... 369 27.0 DC and AC Characteristics Graphs and Tables... 403 28.0 Packaging Information... 427 Appendix A: Revision History... 441 Appendix B: Device Differences... 442 Index... 443 The Microchip Web Site... 453 Customer Change Notification Service... 453 Customer Support... 453 Reader Response... 454 Product Identification System... 455 DS41303G-page 9

TO OUR VALUED CUSTOMERS It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and enhanced as new volumes and updates are introduced. If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via E-mail at docerrors@mail.microchip.com or fax the Reader Response Form in the back of this data sheet to (480) 792-4150. We welcome your feedback. Most Current Data Sheet To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at: http://www.microchip.com You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page. The last character of the literature number is the version number, (e.g., DS30000A is version A of document DS30000). Errata An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision of silicon and revision of document to which it applies. To determine if an errata sheet exists for a particular device, please check with one of the following: Microchip s Worldwide Web site; http://www.microchip.com Your local Microchip sales office (see last page) The Microchip Corporate Literature Center; U.S. FAX: (480) 792-7277 When contacting a sales office or the literature center, please specify which device, revision of silicon and data sheet (include literature number) you are using. Customer Notification System Register on our web site at www.microchip.com/cn to receive the most current information on all of our products. DS41303G-page 10

1.0 DEVICE OVERVIEW This document contains device specific information for the following devices: PIC18F23K20 PIC18F24K20 PIC18F25K20 PIC18F26K20 This family offers the advantages of all PIC18 microcontrollers namely, high computational performance at an economical price with the addition of high-endurance, Flash program memory. On top of these features, the PIC18F2XK20/4XK20 family introduces design enhancements that make these microcontrollers a logical choice for many highperformance, power sensitive applications. 1.1 New Core Features PIC18F43K20 PIC18F44K20 PIC18F45K20 PIC18F46K20 1.1.1 nanowatt TECHNOLOGY All of the devices in the PIC18F2XK20/4XK20 family incorporate a range of features that can significantly reduce power consumption during operation. Key items include: Alternate Run Modes: By clocking the controller from the Timer1 source or the internal oscillator block, power consumption during code execution can be reduced by as much as 90%. Multiple Idle Modes: The controller can also run with its CPU core disabled but the peripherals still active. In these states, power consumption can be reduced even further, to as little as 4% of normal operation requirements. On-the-fly Mode Switching: The powermanaged modes are invoked by user code during operation, allowing the user to incorporate powersaving ideas into their application s software design. Low Consumption in Key Modules: The power requirements for both Timer1 and the Watchdog Timer are minimized. See Section 26.0 Electrical Characteristics for values. 1.1.2 MULTIPLE OSCILLATOR OPTIONS AND FEATURES All of the devices in the PIC18F2XK20/4XK20 family offer ten different oscillator options, allowing users a wide range of choices in developing application hardware. These include: Four Crystal modes, using crystals or ceramic resonators Two External Clock modes, offering the option of using two pins (oscillator input and a divide-by-4 clock output) or one pin (oscillator input, with the second pin reassigned as general I/O) Two External RC Oscillator modes with the same pin options as the External Clock modes An internal oscillator block which contains a 16 MHz HFINTOSC oscillator and a 31 khz LFINTOSC oscillator which together provide 8 user selectable clock frequencies, from 31 khz to 16 MHz. This option frees the two oscillator pins for use as additional general purpose I/O. A Phase Lock Loop (PLL) frequency multiplier, available to both the high-speed crystal and internal oscillator modes, which allows clock speeds of up to 64 MHz. Used with the internal oscillator, the PLL gives users a complete selection of clock speeds, from 31 khz to 64 MHz all without using an external crystal or clock circuit. Besides its availability as a clock source, the internal oscillator block provides a stable reference source that gives the family additional features for robust operation: Fail-Safe Clock Monitor: This option constantly monitors the main clock source against a reference signal provided by the LFINTOSC. If a clock failure occurs, the controller is switched to the internal oscillator block, allowing for continued operation or a safe application shutdown. Two-Speed Start-up: This option allows the internal oscillator to serve as the clock source from Power-on Reset, or wake-up from Sleep mode, until the primary clock source is available. DS41303G-page 11

1.2 Other Special Features Memory Endurance: The Flash cells for both program memory and data EEPROM are rated to last for many thousands of erase/write cycles up to 10K for program memory and 100K for EEPROM. Data retention without refresh is conservatively estimated to be greater than 40 years. Self-programmability: These devices can write to their own program memory spaces under internal software control. By using a bootloader routine located in the protected Boot Block at the top of program memory, it becomes possible to create an application that can update itself in the field. Extended Instruction Set: The PIC18F2XK20/ 4XK20 family introduces an optional extension to the PIC18 instruction set, which adds 8 new instructions and an Indexed Addressing mode. This extension, enabled as a device configuration option, has been specifically designed to optimize re-entrant application code originally developed in high-level languages, such as C. Enhanced CCP module: In PWM mode, this module provides 1, 2 or 4 modulated outputs for controlling half-bridge and full-bridge drivers. Other features include: - Auto-Shutdown, for disabling PWM outputs on interrupt or other select conditions - Auto-Restart, to reactivate outputs once the condition has cleared - Output steering to selectively enable one or more of 4 outputs to provide the PWM signal. Enhanced Addressable USART: This serial communication module is capable of standard RS-232 operation and provides support for the LIN bus protocol. Other enhancements include automatic baud rate detection and a 16-bit Baud Rate Generator for improved resolution. When the microcontroller is using the internal oscillator block, the USART provides stable operation for applications that talk to the outside world without using an external crystal (or its accompanying power requirement). 10-bit A/D Converter: This module incorporates programmable acquisition time, allowing for a channel to be selected and a conversion to be initiated without waiting for a sampling period and thus, reduce code overhead. Extended Watchdog Timer (WDT): This enhanced version incorporates a 16-bit postscaler, allowing an extended time-out range that is stable across operating voltage and temperature. See Section 26.0 Electrical Characteristics for time-out periods. 1.3 Details on Individual Family Members Devices in the PIC18F2XK20/4XK20 family are available in 28-pin and 40/44-pin packages. Block diagrams for the two groups are shown in Figure 1-1 and Figure 1-2. The devices are differentiated from each other in five ways: 1. Flash program memory (8 Kbytes for PIC18F23K20/43K20 devices, 16 Kbytes for PIC18F24K20/44K20 devices, 32 Kbytes for PIC18F25K20/45K20 AND 64 Kbytes for PIC18F26K20/46K20). 2. A/D channels (11 for 28-pin devices, 14 for 40/44-pin devices). 3. I/O ports (3 bidirectional ports on 28-pin devices, 5 bidirectional ports on 40/44-pin devices). 4. Parallel Slave Port (present only on 40/44-pin devices). All other features for devices in this family are identical. These are summarized in Table 1-1. The pinouts for all devices are listed in the pin summary tables: Table 1 and Table 2, and I/O description tables: Table 1-2 and Table 1-3. DS41303G-page 12

DS41303G-page 13 TABLE 1-1: DEVICE FEATURES Features PIC18F23K20 PIC18F24K20 PIC18F25K20 PIC18F26K20 PIC18F43K20 PIC18F44K20 PIC18F45K20 PIC18F46K20 Operating Frequency (2) DC 64 MHz DC 64 MHz DC 64 MHz DC 64 MHz DC 64 MHz DC 64 MHz DC 64 MHz DC 64 MHz Program Memory (Bytes) 8192 16384 32768 65536 8192 16384 32768 65536 Program Memory 4096 8192 16384 32768 4096 8192 16384 32768 (Instructions) Data Memory (Bytes) 512 768 1536 3936 512 768 1536 3936 Data EEPROM Memory 256 256 256 1024 256 256 256 1024 (Bytes) Interrupt Sources 19 19 19 19 20 20 20 20 I/O Ports A, B, C, (E) (1) A, B, C, (E) (1) A, B, C, (E) (1) A, B, C, (E) (1) A, B, C, D, E A, B, C, D, E A, B, C, D, E A, B, C, D, E Timers 4 4 44 44 44 Capture/Compare/PWM 1 1 1 1 1 1 1 1 Modules Enhanced Capture/ 1 1 11 11 11 Compare/PWM Modules Serial Communications MSSP, Enhanced USART MSSP, Enhanced USART MSSP, Enhanced USART MSSP, Enhanced USART MSSP, Enhanced USART MSSP, Enhanced USART MSSP, Enhanced USART MSSP, Enhanced USART Parallel Communications (PSP) No No No No Yes Yes Yes Yes 10-bit Analog-to-Digital Module Resets (and Delays) 1 internal plus 10 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT Programmable High/ Low-Voltage Detect Programmable Brownout Reset Instruction Set 75 Instructions; 83 with Extended Instruction Set enabled Packages 28-pin PDIP 28-pin SOIC 28-pin QFN 28-pin SSOP 28-pin UQFN 1 internal plus 10 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT 1 internal plus 10 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT 1 internal plus 10 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT 1 internal plus 13 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT 1 internal plus 13 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT 1 internal plus 13 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT 1 internal plus 13 Input Channels POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 75 Instructions; 83 with Extended Instruction Set enabled 28-pin PDIP 28-pin SOIC 28-pin QFN 28-pin SSOP 75 Instructions; 83 with Extended Instruction Set enabled 28-pin PDIP 28-pin SOIC 28-pin QFN 28-pin SSOP 75 Instructions; 83 with Extended Instruction Set enabled 28-pin PDIP 28-pin SOIC 28-pin QFN 28-pin SSOP 75 Instructions; 83 with Extended Instruction Set enabled 40-pin PDIP 44-pin QFN 44-pin TQFP Note 1: PORTE contains the single RE3 read-only bit. The LATE and TRISE registers are not implemented. 2: Frequency range shown applies to industrial range devices only. Maximum frequency for extended range devices is 48 MHz. 75 Instructions; 83 with Extended Instruction Set enabled 40-pin PDIP 44-pin QFN 44-pin TQFP 75 Instructions; 83 with Extended Instruction Set enabled 40-pin PDIP 44-pin QFN 44-pin TQFP 75 Instructions; 83 with Extended Instruction Set enabled 40-pin PDIP 44-pin QFN 44-pin TQFP PIC18F2XK20/4XK20

FIGURE 1-1: Table Pointer<21> PIC18F2XK20 (28-PIN) BLOCK DIAGRAM Data Bus<8> inc/dec logic 21 20 8 8 PCLATU PCLATH PCU PCH PCL Program Counter Data Latch Data Memory Address Latch 12 Data Address<12> PORTA RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/HLVDIN/C2OUT OSC2/CLKOUT (3) /RA6 OSC1/CLKIN (3) /RA7 Address Latch Program Memory (8/16/32/64 Kbytes) Data Latch 8 Instruction Bus <16> 31-Level Stack STKPTR Table Latch ROM Latch IR 4 12 4 BSR FSR0 Access Bank FSR1 FSR2 12 inc/dec logic Address Decode PORTB RB0/INT0/FLT0/AN12 RB1/INT1/AN10/C12IN3- RB2/INT2/AN8 RB3/AN9/CCP2 (1) /C12IN2- RB4/KBI0/AN11 RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD OSC1 (3) OSC2 (3) T1OSI T1OSO MCLR (2) VDD, VSS Internal Oscillator Block Instruction Decode and Control LFINTOSC Oscillator 16 MHz Oscillator Single-Supply Programming In-Circuit Debugger State machine control signals Power-up Timer Oscillator Start-up Timer Power-on Reset Watchdog Timer Brown-out Reset Fail-Safe Clock Monitor 8 PRODH PRODL 8 x 8 Multiply 3 8 BITOP W 8 8 8 8 8 ALU<8> 8 Precision FVR Band Gap Reference PORTC PORTE RC0/T1OSO/T13CKI RC1/T1OSI/CCP2 (1) RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT MCLR/VPP/RE3 (2) BOR HLVD Data EEPROM Timer0 Timer1 Timer2 Timer3 FVR CVREF Comparator ECCP1 CCP2 MSSP EUSART ADC 10-bit FVR Note 1: CCP2 is multiplexed with RC1 when Configuration bit CCP2MX is set, or RB3 when CCP2MX is not set. 2: RE3 is only available when MCLR functionality is disabled. 3: OSC1/CLKIN and OSC2/CLKOUT are only available in select oscillator modes and when these pins are not being used as digital I/O. Refer to Section 2.0 Oscillator Module (With Fail-Safe Clock Monitor) for additional information. DS41303G-page 14

FIGURE 1-2: PIC18F4XK20 (40/44-PIN) BLOCK DIAGRAM Table Pointer<21> inc/dec logic 21 Address Latch Program Memory (8/16/32/64 Kbytes) Data Latch 20 8 PCLATU PCLATH PCU PCH PCL Program Counter 31-Level Stack Table Latch STKPTR Data Bus<8> 8 8 Data Latch Data Memory Address Latch 12 Data Address<12> 4 12 4 BSR FSR0 Access Bank FSR1 FSR2 12 inc/dec logic PORTA PORTB RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/HLVDIN/C2OUT OSC2/CLKOUT (3) /RA6 OSC1/CLKIN (3) /RA7 RB0/INT0/FLT0/AN12 RB1/INT1/AN10/C12IN3- RB2/INT2/AN8 RB3/AN9/CCP2 (1) /C12IN2- RB4/KBI0/AN11 RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD OSC1 (3) OSC2 (3) T1OSI T1OSO MCLR (2) VDD, VSS Instruction Bus <16> Internal Oscillator Block ROM Latch IR Instruction Decode and Control LFINTOSC Oscillator 16 MHz Oscillator Single-Supply Programming In-Circuit Debugger State machine control signals Power-up Timer Oscillator Start-up Timer Power-on Reset Watchdog Timer Brown-out Reset Fail-Safe Clock Monitor Address Decode 8 PRODH PRODL 8 x 8 Multiply 3 8 BITOP W 8 8 8 8 8 ALU<8> 8 Precision FVR Band Gap Reference PORTC PORTD PORTE RC0/T1OSO/T13CKI RC1/T1OSI/CCP2 (1) RC2/CCP1/P1A RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5/P1B RD6/PSP6/P1C RD7/PSP7/P1D RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 MCLR/VPP/RE3 (2) BOR HLVD Data EEPROM Timer0 Timer1 Timer2 Timer3 FVR CVREF Comparator ECCP1 CCP2 MSSP EUSART ADC 10-bit FVR PSP Note 1: CCP2 is multiplexed with RC1 when Configuration bit CCP2MX is set, or RB3 when CCP2MX is not set. 2: RE3 is only available when MCLR functionality is disabled. 3: OSC1/CLKIN and OSC2/CLKOUT are only available in select oscillator modes and when these pins are not being used as digital I/O. Refer to Section 2.0 Oscillator Module (With Fail-Safe Clock Monitor) for additional information. DS41303G-page 15

TABLE 1-2: Pin Name MCLR/VPP/RE3 MCLR VPP RE3 OSC1/CLKIN/RA7 OSC1 CLKIN RA7 OSC2/CLKOUT/RA6 OSC2 CLKOUT PIC18F2XK20 PINOUT I/O DESCRIPTIONS Pin Number PDIP, SOIC QFN 1 26 9 6 10 7 RA6 Legend: TTL = TTL compatible input Pin Type I P I I I I/O O O I/O Buffer Type ST ST ST CMOS TTL TTL ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Description Master Clear (input) or programming voltage (input) Active-low Master Clear (device Reset) input Programming voltage input Digital input Oscillator crystal or external clock input Oscillator crystal input or external clock source input ST buffer when configured in RC mode; CMOS otherwise External clock source input. Always associated with pin function OSC1. (See related OSC1/CLKIN, OSC2/CLKOUT pins) General purpose I/O pin Oscillator crystal or clock output Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode In RC mode, OSC2 pin outputs CLKOUT which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate General purpose I/O pin CMOS = CMOS compatible input or output Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 16

TABLE 1-2: Pin Name RA0/AN0/C12IN0- RA0 AN0 C12IN0- RA1/AN1/C12IN1- RA1 AN1 C12IN1- RA2/AN2/VREF-/CVREF/ C2IN+ RA2 AN2 VREF- CVREF C2IN+ RA3/AN3/VREF+/C1IN+ RA3 AN3 VREF+ C1IN+ RA4/T0CKI/C1OUT RA4 T0CKI C1OUT RA5/AN4/SS/HLVDIN/ C2OUT RA5 AN4 SS HLVDIN C2OUT RA6 RA7 PIC18F2XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP, SOIC QFN 2 27 3 28 4 1 5 2 6 3 7 4 Pin Type I/O I I I/O I I I/O I I O I I/O I I I I/O I O I/O I I I O Buffer Type TTL Analog Analog TTL Analog Analog TTL Analog Analog Analog Analog TTL Analog Analog Analog ST ST CMOS TTL Analog TTL Analog CMOS PORTA is a bidirectional I/O port. Digital I/O Analog input 0, ADC channel 0 Comparators C1 and C2 inverting input Digital I/O ADC input 1, ADC channel 1 Comparators C1 and C2 inverting input Digital I/O Analog input 2, ADC channel 2 A/D reference voltage (low) input Comparator reference voltage output Comparator C2 non-inverting input Digital I/O Analog input 3, ADC channel 3 A/D reference voltage (high) input Comparator C1 non-inverting input Digital I/O Timer0 external clock input Comparator C1 output Description Digital I/O Analog input 4, ADC channel 4 SPI slave select input High/Low-Voltage Detect input Comparator C2 output See the OSC2/CLKOUT/RA6 pin See the OSC1/CLKIN/RA7 pin Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 17

TABLE 1-2: Pin Name RB0/INT0/FLT0/AN12 RB0 INT0 FLT0 AN12 RB1/INT1/AN10/C12IN3- /P1C RB1 INT1 AN10 C12IN3- P1C RB2/INT2/AN8/P1B RB2 INT2 AN8 P1B RB3/AN9/C12IN2-/CCP2 RB3 AN9 C12IN2- CCP2 (2) RB4/KBI0/AN11/P1D RB4 KBI0 AN11 P1D RB5/KBI1/PGM RB5 KBI1 PGM RB6/KBI2/PGC RB6 KBI2 PGC RB7/KBI3/PGD RB7 KBI3 PGD PIC18F2XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP, SOIC QFN 21 18 22 19 23 20 24 21 25 22 26 23 27 24 28 25 Pin Type I/O I I I I/O I I I O I/O I I O I/O I I I/O I/O I I O I/O I I/O I/O I I/O I/O I I/O Buffer Type TTL ST ST Analog TTL ST Analog Analog CMOS TTL ST Analog CMOS TTL Analog Analog ST TTL TTL Analog CMOS TTL TTL ST TTL TTL ST TTL TTL ST Description PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-up on each input. Digital I/O External interrupt 0 PWM Fault input for CCP1 Analog input 12, ADC channel 12 Digital I/O External interrupt 1 Analog input 10, ADC channel 10 Comparators C1 and C2 inverting input Enhanced CCP1 PWM output Digital I/O External interrupt 2 Analog input 8, ADC channel 8 Enhanced CCP1 PWM output Digital I/O Analog input 9, ADC channel 9 Comparators C1 and C2 inverting input Capture 2 input/compare 2 output/pwm 2 output Digital I/O Interrupt-on-change pin Analog input 11, ADC channel 11 Enhanced CCP1 PWM output Digital I/O Interrupt-on-change pin Low-Voltage ICSP Programming enable pin Digital I/O Interrupt-on-change pin In-Circuit Debugger and ICSP programming clock pin Digital I/O Interrupt-on-change pin In-Circuit Debugger and ICSP programming data pin Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 18

TABLE 1-2: Pin Name RC0/T1OSO/T13CKI RC0 T1OSO T13CKI RC1/T1OSI/CCP2 RC1 T1OSI CCP2 (1) RC2/CCP1/P1A RC2 CCP1 P1A RC3/SCK/SCL RC3 SCK SCL RC4/SDI/SDA RC4 SDI SDA RC5/SDO RC5 SDO RC6/TX/CK RC6 TX CK RC7/RX/DT RC7 RX DT PIC18F2XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP, SOIC QFN 11 8 12 9 13 10 14 11 15 12 16 13 17 14 18 15 Pin Type I/O O I I/O I I/O I/O I/O O I/O I/O I/O I/O I I/O I/O O I/O O I/O I/O I I/O Buffer Type ST ST ST Analog ST ST ST CMOS ST ST ST ST ST ST ST ST ST ST ST ST PORTC is a bidirectional I/O port. Digital I/O Timer1 oscillator output Timer1/Timer3 external clock input Digital I/O Timer1 oscillator input Capture 2 input/compare 2 output/pwm 2 output Digital I/O Capture 1 input/compare 1 output Enhanced CCP1 PWM output Digital I/O Synchronous serial clock input/output for SPI mode Synchronous serial clock input/output for I 2 C mode Digital I/O SPI data in I 2 C data I/O Digital I/O SPI data out Description Digital I/O EUSART asynchronous transmit EUSART synchronous clock (see related RX/DT) Digital I/O EUSART asynchronous receive EUSART synchronous data (see related TX/CK) RE3 See MCLR/VPP/RE3 pin VSS 8, 19 5, 16 P Ground reference for logic and I/O pins VDD 20 17 P Positive supply for logic and I/O pins Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 19

TABLE 1-3: Pin Name MCLR/VPP/RE3 MCLR VPP RE3 OSC1/CLKIN/RA7 OSC1 CLKIN RA7 OSC2/CLKOUT/RA6 OSC2 CLKOUT PIC18F4XK20 PINOUT I/O DESCRIPTIONS Pin Number PDIP QFN TQFP 1 18 18 13 32 30 14 33 31 RA6 Legend: TTL = TTL compatible input Pin Type I P I I I I/O O O I/O Buffer Type ST ST ST CMOS TTL TTL ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Description Master Clear (input) or programming voltage (input) Active-low Master Clear (device Reset) input Programming voltage input Digital input Oscillator crystal or external clock input Oscillator crystal input or external clock source input ST buffer when configured in RC mode; analog otherwise External clock source input. Always associated with pin function OSC1 (See related OSC1/CLKIN, OSC2/CLKOUT pins) General purpose I/O pin Oscillator crystal or clock output Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode In RC mode, OSC2 pin outputs CLKOUT which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate General purpose I/O pin CMOS = CMOS compatible input or output Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 20

TABLE 1-3: Pin Name RA0/AN0/C12IN0- RA0 AN0 C12IN0- RA1/AN1/C12IN0- RA1 AN1 C12IN0- RA2/AN2/VREF-/CVREF/ C2IN+ RA2 AN2 VREF- CVREF C2IN+ RA3/AN3/VREF+/ C1IN+ RA3 AN3 VREF+ C1IN+ RA4/T0CKI/C1OUT RA4 T0CKI C1OUT RA5/AN4/SS/HLVDIN/ C2OUT RA5 AN4 SS HLVDIN C2OUT RA6 RA7 PIC18F4XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP QFN TQFP 2 19 19 3 20 20 4 21 21 5 22 22 6 23 23 7 24 24 Pin Type I/O I I I/O I I I/O I I O I I/O I I I I/O I O I/O I I I O Buffer Type TTL Analog Analog TTL Analog Analog TTL Analog Analog Analog Analog TTL Analog Analog Analog ST ST CMOS TTL Analog TTL Analog CMOS Description PORTA is a bidirectional I/O port. Digital I/O Analog input 0, ADC channel 0 Comparator C1 and C2 inverting input Digital I/O Analog input 1, ADC channel 1 Comparator C1 and C2 inverting input Digital I/O Analog input 2, ADC channel 2 A/D reference voltage (low) input Comparator reference voltage output Comparator C2 non-inverting input Digital I/O Analog input 3, ADC channel 3 A/D reference voltage (high) input Comparator C1 non-inverting input Digital I/O Timer0 external clock input Comparator C1 output Digital I/O Analog input 4, ADC channel 4 SPI slave select input High/Low-Voltage Detect input Comparator C2 output See the OSC2/CLKOUT/RA6 pin See the OSC1/CLKIN/RA7 pin Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 21

TABLE 1-3: Pin Name RB0/INT0/FLT0/AN12 RB0 INT0 FLT0 AN12 RB1/INT1/AN10/ C12IN3- RB1 INT1 AN10 C12IN3- RB2/INT2/AN8 RB2 INT2 AN8 RB3/AN9/C12IN2-/ CCP2 RB3 AN9 C12IN23- CCP2 (2) RB4/KBI0/AN11 RB4 KBI0 AN11 RB5/KBI1/PGM RB5 KBI1 PGM RB6/KBI2/PGC RB6 KBI2 PGC RB7/KBI3/PGD RB7 KBI3 PGD PIC18F4XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP QFN TQFP 33 9 8 34 10 9 35 11 10 36 12 11 37 14 14 38 15 15 39 16 16 40 17 17 Pin Type I/O I I I I/O I I I I/O I I I/O I I I/O I/O I I I/O I I/O I/O I I/O I/O I I/O Buffer Type TTL ST ST Analog TTL ST Analog Analog TTL ST Analog TTL Analog Analog ST TTL TTL Analog TTL TTL ST TTL TTL ST TTL TTL ST Description PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-up on each input. Digital I/O External interrupt 0 PWM Fault input for Enhanced CCP1 Analog input 12, ADC channel 12 Digital I/O External interrupt 1 Analog input 10, ADC channel 10 Comparator C1 and C2 inverting input Digital I/O External interrupt 2 Analog input 8, ADC channel 8 Digital I/O Analog input 9, ADC channel 9 Comparator C1 and C2 inverting input Capture 2 input/compare 2 output/pwm 2 output Digital I/O Interrupt-on-change pin Analog input 11, ADC channel 11 Digital I/O Interrupt-on-change pin Low-Voltage ICSP Programming enable pin Digital I/O Interrupt-on-change pin In-Circuit Debugger and ICSP programming clock pin Digital I/O Interrupt-on-change pin In-Circuit Debugger and ICSP programming data pin Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 22

TABLE 1-3: Pin Name RC0/T1OSO/T13CKI RC0 T1OSO T13CKI RC1/T1OSI/CCP2 RC1 T1OSI CCP2 (1) RC2/CCP1/P1A RC2 CCP1 P1A RC3/SCK/SCL RC3 SCK SCL RC4/SDI/SDA RC4 SDI SDA RC5/SDO RC5 SDO RC6/TX/CK RC6 TX CK RC7/RX/DT RC7 RX DT PIC18F4XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP QFN TQFP 15 34 32 16 35 35 17 36 36 18 37 37 23 42 42 24 43 43 25 44 44 26 1 1 Pin Type I/O O I I/O I I/O I/O I/O O I/O I/O I/O I/O I I/O I/O O I/O O I/O I/O I I/O Buffer Type ST ST ST CMOS ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST PORTC is a bidirectional I/O port. Digital I/O Timer1 oscillator output Timer1/Timer3 external clock input Digital I/O Timer1 oscillator input Capture 2 input/compare 2 output/pwm 2 output Digital I/O Capture 1 input/compare 1 output/pwm 1 output Enhanced CCP1 output Digital I/O Synchronous serial clock input/output for SPI mode Synchronous serial clock input/output for I 2 C mode Digital I/O SPI data in I 2 C data I/O Digital I/O SPI data out Description Digital I/O EUSART asynchronous transmit EUSART synchronous clock (see related RX/DT) Digital I/O EUSART asynchronous receive EUSART synchronous data (see related TX/CK) Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 23

TABLE 1-3: Pin Name RD0/PSP0 RD0 PSP0 RD1/PSP1 RD1 PSP1 RD2/PSP2 RD2 PSP2 RD3/PSP3 RD3 PSP3 RD4/PSP4 RD4 PSP4 RD5/PSP5/P1B RD5 PSP5 P1B RD6/PSP6/P1C RD6 PSP6 P1C RD7/PSP7/P1D RD7 PSP7 P1D PIC18F4XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP QFN TQFP 19 38 38 20 39 39 21 40 40 22 41 41 27 2 2 28 3 3 29 4 4 30 5 5 Pin Type I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O O I/O I/O O I/O I/O O Buffer Type ST TTL ST TTL ST TTL ST TTL ST TTL ST TTL ST TTL ST TTL PORTD is a bidirectional I/O port or a Parallel Slave Port (PSP) for interfacing to a microprocessor port. These pins have TTL input buffers when PSP module is enabled. Digital I/O Parallel Slave Port data Digital I/O Parallel Slave Port data Digital I/O Parallel Slave Port data Digital I/O Parallel Slave Port data Digital I/O Parallel Slave Port data Digital I/O Parallel Slave Port data Enhanced CCP1 output Digital I/O Parallel Slave Port data Enhanced CCP1 output Digital I/O Parallel Slave Port data Enhanced CCP1 output Description Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 24

TABLE 1-3: Pin Name RE0/RD/AN5 RE0 RD AN5 RE1/WR/AN6 RE1 WR AN6 RE2/CS/AN7 RE2 CS PIC18F4XK20 PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Number PDIP QFN TQFP 8 25 25 9 26 26 10 27 27 Pin Type I/O I I I/O I I ST TTL Analog ST TTL Analog PORTE is a bidirectional I/O port Digital I/O Read control for Parallel Slave Port (see related WR and CS pins) Analog input 5, ADC channel 5 Digital I/O Write control for Parallel Slave Port (see related CS and RD pins) Analog input 6, ADC channel 6 AN7 I Analog RE3 See MCLR/VPP/RE3 pin I/O I Buffer Type ST TTL Description Digital I/O Chip Select control for Parallel Slave Port (see related RD and WR) Analog input 7, ADC channel 7 VSS 12, 31 6, 30, 6, 29 P Ground reference for logic and I/O pins 31 VDD 11, 32 7, 8, 7, 28 P Positive supply for logic and I/O pins 28, 29 NC 13 12, 13, 33, 34 No connect Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Default assignment for CCP2 when Configuration bit CCP2MX is set. 2: Alternate assignment for CCP2 when Configuration bit CCP2MX is cleared. DS41303G-page 25

NOTES: DS41303G-page 26

2.0 OSCILLATOR MODULE (WITH FAIL-SAFE CLOCK MONITOR) 2.1 Overview The Oscillator module has a wide variety of clock sources and selection features that allow it to be used in a wide range of applications while maximizing performance and minimizing power consumption. Figure 2-1 illustrates a block diagram of the Oscillator module. Clock sources can be configured from external oscillators, quartz crystal resonators, ceramic resonators and Resistor-Capacitor (RC) circuits. In addition, the system clock source can be configured from one of two internal oscillators, with a choice of speeds selectable via software. Additional clock features include: Selectable system clock source between external or internal via software. Two-Speed Start-up mode, which minimizes latency between external oscillator start-up and code execution. Fail-Safe Clock Monitor (FSCM) designed to detect a failure of the external clock source (LP, XT, HS, EC or RC modes) and switch automatically to the internal oscillator. The Oscillator module can be configured in one of ten primary clock modes. 1. LP Low-Power Crystal 2. XT Crystal/Resonator 3. HS High-Speed Crystal/Resonator 4. HSPLL High-Speed Crystal/Resonator with PLL enabled 5. RC External Resistor/Capacitor with FOSC/4 output on RA6 6. RCIO External Resistor/Capacitor with I/O on RA6 7. INTOSC Internal Oscillator with FOSC/4 output on RA6 and I/O on RA7 8. INTOSCIO Internal Oscillator with I/O on RA6 and RA7 9. EC External Clock with FOSC/4 output 10. ECIO External Clock with I/O on RA6 Primary Clock modes are selected by the FOSC<3:0> bits of the CONFIG1H Configuration Register. The HFINTOSC and LFINTOSC are factory calibrated highfrequency and low-frequency oscillators, respectively, which are used as the internal clock sources. FIGURE 2-1: PIC MCU CLOCK SOURCE BLOCK DIAGRAM OSC2 OSC1 T1OSO T1OSI Primary Oscillator Sleep Secondary Oscillator T1OSCEN Enable Oscillator FOSC<3:0> OSCCON<1:0> Internal Oscillator Block 16 MHz Source 31 khz Source OSCTUNE<6> (1) 16 MHz (HFINTOSC) 31 khz (LFINTOSC) PIC18F2XK20/4XK20 Postscaler 16 MHz 8 MHz 4 MHz 2 MHz 1 MHz 500 khz 250 khz 1 31 khz 0 4 x PLL OSCCON<6:4> 111 110 101 100 011 010 001 000 MUX LP, XT, HS, RC, EC HSPLL, HFINTOSC/PLL T1OSC Internal Oscillator MUX FOSC<3:0> Clock Control IDLEN Sleep Main Sleep OSCCON<1:0> Clock Source Option for other Modules Peripherals CPU OSCTUNE<7> WDT, PWRT, FSCM and Two-Speed Start-up Note 1: Operates only when HFINTOSC is the primary oscillator. DS41303G-page 27

2.2 Oscillator Control The OSCCON register (Register 2-1) controls several aspects of the device clock s operation, both in full power operation and in power-managed modes. Main System Clock Selection (SCS) Internal Frequency selection bits (IRCF) Clock Status bits (OSTS, IOFS) Power management selection (IDLEN) 2.2.1 MAIN SYSTEM CLOCK SELECTION The System Clock Select bits, SCS<1:0>, select the main clock source. The available clock sources are Primary clock defined by the FOSC<3:0> bits of CONFIG1H. The primary clock can be the primary oscillator, an external clock, or the internal oscillator block. Secondary clock (Timer1 oscillator) Internal oscillator block (HFINTOSC and LFINTOSC). The clock source changes immediately after one or more of the bits is written to, following a brief clock transition interval. The SCS bits are cleared to select the primary clock on all forms of Reset. 2.2.2 INTERNAL FREQUENCY SELECTION The Internal Oscillator Frequency Select bits (IRCF<2:0>) select the frequency output of the internal oscillator block. The choices are the LFINTOSC source (31 khz), the HFINTOSC source (16 MHz) or one of the frequencies derived from the HFINTOSC postscaler (31.25 khz to 8 MHz). If the internal oscillator block is supplying the main clock, changing the states of these bits will have an immediate change on the internal oscillator s output. On device Resets, the output frequency of the internal oscillator is set to the default frequency of 1 MHz. 2.2.3 LOW FREQUENCY SELECTION When a nominal output frequency of 31 khz is selected (IRCF<2:0> = 000), users may choose which internal oscillator acts as the source. This is done with the INTSRC bit of the OSCTUNE register. Setting this bit selects the HFINTOSC as a 31.25 khz clock source by enabling the divide-by-512 output of the HFINTOSC postscaler. Clearing INTSRC selects LFINTOSC (nominally 31 khz) as the clock source. This option allows users to select the tunable and more precise HFINTOSC as a clock source, while maintaining power savings with a very low clock speed. Regardless of the setting of INTSRC, LFINTOSC always remains the clock source for features such as the Watchdog Timer and the Fail-Safe Clock Monitor. 2.2.4 CLOCK STATUS The OSTS and IOFS bits of the OSCCON register, and the T1RUN bit of the T1CON register, indicate which clock source is currently providing the main clock. The OSTS bit indicates that the Oscillator Start-up Timer has timed out and the primary clock is providing the device clock. The IOFS bit indicates when the internal oscillator block has stabilized and is providing the device clock in HFINTOSC Clock modes. The IOFS and OSTS Status bits will both be set when SCS<1:0> = 00 and HFINTOSC is the primary clock. The T1RUN bit indicates when the Timer1 oscillator is providing the device clock in secondary clock modes. When SCS<1:0> 00, only one of these three bits will be set at any time. If none of these bits are set, the LFINTOSC is providing the clock or the HFINTOSC has just started and is not yet stable. 2.2.5 POWER MANAGEMENT The IDLEN bit of the OSCCON register determines if the device goes into Sleep mode or one of the Idle modes when the SLEEP instruction is executed. The use of the flag and control bits in the OSCCON register is discussed in more detail in Section 3.0 Power-Managed Modes. Note 1: The Timer1 oscillator must be enabled to select the secondary clock source. The Timer1 oscillator is enabled by setting the T1OSCEN bit of the T1CON register. If the Timer1 oscillator is not enabled, then the main oscillator will continue to run from the previously selected source. The source will then switch to the secondary oscillator after the T1OSCEN bit is set. 2: It is recommended that the Timer1 oscillator be operating and stable before selecting the secondary clock source or a very long delay may occur while the Timer1 oscillator starts. DS41303G-page 28