PICMICRO MICROCONTROLLER POCKET REFERENCE
CONTENTS CHAPTER 1 CONVENTIONS USED IN THIS BOOK CHAPTER 2 PICMICRO® MCU PART NUMBER FEATURE COMPARISON FEATURE TO PART NUMBER TABLE CHAPTER 3 DEVICE PINOUTS LOW-END MID-RANGE PIC17CXX PIC18CXX CHAPTER 4 PICMICRO® MCU INSTRUCTION SETS PARAMETERS LOW-END INSTRUCTION SET MID-RANGE INSTRUCTION SET PIC17CXX INSTRUCTION SET PIC18CXX INSTRUCTION SET MICROCHIP SPECIAL INSTRUCTION MNEMONICS PARALLAX PICMICRO® MCU INSTRUCTION SET CHAPTER 5 PICMICRO® MCU PROCESSOR ARCHITECTURES THE PICMICRO® MCU’S ARITHMETIC LOGIC UNIT LOW-END PICMICRO® MCUS REGISTER ACCESS STATUS REGISTER PROGRAM COUNTER MID-RANGE PICMICRO® MCUS INTERRUPT OPERATION INTERRUPT HANDLER SKELETON CHAPTER 6 PICMICRO® MCU REGISTER MAPPINGS CHAPTER 7 BUILT-IN HARDWARE FEATURES CONFIGURATION REGISTERS OSCILLATORS SLEEP OPTION REGISTER INPUT/OUTPUT PORTS AND TRIS REGISTERS WATCHDOG TIMER PRESCALER COMPARE/CAPTURE/PWM(CCP) MODULE USART MODULE SSP MODULE SPI OPERATION I2C OPERATION BUILT-IN ADC BUILT-IN COMPARATORS PARALLEL SLAVE PORT BUILT-IN EEPROM DATA MEMORY ACCESS EPROM PROGRAM MEMORY ACCESS FLASH PROGRAM MEMORY ACCESS EXTERNAL PARALLEL MEMORY CHAPTER 8 PICMICRO® MCU HARDWARE INTERFACING POWER RESET DIGITAL LOGIC INTERFACING PARALLEL BUS DEVICE INTERFACING BUTTON INTERFACING SWITCH MATRIX KEYPAD/KEYBOARD INTERFACING COMBINING INPUT AND OUTPUT SIMULATED “OPEN COLLECTOR’’/“OPEN DRAIN’’ I/O LEDS MULTISEGMENT LED DISPLAYS LCD INTERFACES I2C BIT BANGING “MASTER’’ INTERFACE RS-232 INTERFACES ASYNCHRONOUS SERIAL I/O SOFTWARE ROUTINES DALLAS SEMICONDUCTOR ONE-WIRE INTERFACE READING POTENTIOMETER USING PARALLEL I/O PINS MOTOR DRIVERS R/C SERVO CONTROL AUDIO OUTPUT AC POWER CONTROL HALL-EFFECT SENSORS SONY INFRARED TV REMOTE CONTROL CHAPTER 9 PICMICRO® MCU PROGRAMMING “HEX’’ FILE FORMAT LOW-END PICMICRO® MCU PROGRAMMING MID-RANGE SERIAL PROGRAMMING PIC17CXX PROGRAMMING PIC17CXX ICSP PROGRAMMING PIC18CXX PROGRAMMING MICROCHIP ICSP PROGRAMMING CONNECTOR THIRD PARTY/DOWNLOADABLE PROGRAMMERS CHAPTER 10 PC INTERFACES MEMORY MAP I/O SPACE MAP INTERRUPT FUNCTION BY NUMBER ISA BUS ISA PINOUTS INTERRUPTS KEYBOARD AND MOUSE PORTS CONNECTOR SPECIFICATION KEYBOARD OPERATION WITH TIMING DIAGRAMS KEYBOARD SCAN CODES KEYBOARD CONTROLLER COMMANDS BIOS INTERFACES KEYBOARD COMMANDS SERIAL PORT CONNECTOR PINOUTS 8250 BLOCK DIAGRAM SERIAL PORT BASE ADDRESSES 8250 REGISTERS INTERRUPT 14H–RS-232 COMMUNICATIONS APIS PARALLEL PORT BLOCK DIAGRAM/CONNECTOR BASE REGISTERS REGISTERS DATA OUTPUT WAVEFORM CHAPTER 11 USEFUL CODE “SNIPPETS’’ JUMPING OUTSIDE THE CURRENT PAGE TABLES CONDITIONAL BRANCHING TIME DELAYS NEGATING THE CONTENTS OF A REGISTER INCREMENTING/DECREMENTING “W’’ ROTATING A BYTE IN PLACE COPY BITS FROM ONE REGISTER TO ANOTHER CONVERTING A NYBBLE TO ASCII CONVERTING AN ASCII BYTE TO A HEX NYBBLE USING T0CKI AS AN INTERRUPT SOURCE PIN DIVIDING BY THREE SIXTEEN-BIT PULSE MEASUREMENT WITH 5-CYCLE DELAY DETECT A CHANGE IN A REGISTER TEST A BYTE WITHIN A RANGE CONVERT ASCII TO UPPER CASE SWAP THE CONTENTS OF “W’’ WITH A REGISTER SWAP THE CONTENTS OF TWO REGISTERS COMPARE AND SWAP IF Y X COUNTING THE NUMBER OF “1’’S IN A BYTE GENERATING PARITY FOR A BYTE KEEPING A VARIABLE WITHIN A RANGE SWAPPING BIT PAIRS BITWISE OPERATIONS CONSTANT MULTIPLICATION CONSTANT DIVISION CHAPTER 12 16-BIT NUMBERS DEFINING 16 BIT NUMBERS INCREMENTS AND DECREMENTS ADDITION/SUBTRACTION BITWISE OPERATIONS ON CONSTANTS AND VARIABLES COMPARISONS WITH 16-BIT VARIABLES MULTIPLICATION DIVISION CHAPTER 13 PICMICRO® MCU OPERATIONS TABLES I/O PIN CURRENT CAPABILITIES RC OSCILLATOR COMPONENT VALUES LP OSCILLATOR OPERATING CHARACTERISTICS XT OSCILLATOR OPERATING CHARACTERISTICS HS OSCILLATOR OPERATING CHARACTERISTICS CHAPTER 14 PICMICRO® MCU APPLICATION DEBUGGING CHECKLIST CHAPTER 15 PICMICRO® MCU APPLICATION SOFTWARE DEVELOPMENT TOOLS MICROSOFT COMPATIBLE EDITOR “CTRL’’ KEY COMBINATIONS MPSIMINI MPLAB STIMULUS (STI) FILES MPLAB ASSEMBLER DIRECTIVES STANDARD DECLARATION AND INCLUDE (“INC’’) FILES LINKING–LINKED APPLICATIONS APPLICATION CODE TEMPLATE THE BASIC LANGUAGE MICROSOFT BASIC ENHANCEMENTS PICBASIC VISUAL BASIC MSCOMM CONTROL THE “C’’ LANGUAGE DECLARATIONS STATEMENTS OPERATORS DIRECTIVES “BACKSLASH’’ CHARACTERS COMMON C FUNCTIONS PICMICRO® MCU ENHANCEMENT FUNCTIONS CHAPTER 16 CONSTANTS AND DATA TABLES MATHEMATICAL AND PHYSICAL CONSTANTS ASCII ASCII CONTROL CHARACTERS ANSI DISPLAY CONTROL SEQUENCES IBM PC EXTENDED ASCII CHARACTERS WINDOWS ASCII CHARACTERS EBCDIC AUDIO NOTES “TOUCH-TONE’’ TELEPHONE FREQUENCIES MODEM “AT’’ COMMANDS MODEM REGISTERS MORSE CODE PHONETIC ALPHABETS “TEN’’ RADIO CODES CHAPTER 17 MISCELLANEOUS ELECTRONICS RESISTOR COLOR CODING ELECTROMAGNETIC SPECTRUM RADAR BANDS DIGITAL LOGIC GATES FLIP FLOPS CHAPTER 18 FORMULAS DC ELECTRONICS FORMULAS AC ELECTRONICS FORMULAS MATHEMATICAL FORMULAS BOOLEAN ARITHMETIC CONVERSIONS CHAPTER 19 RESOURCES MICROCHIP PICMICRO® MCU BOOKS USEFUL BOOKS PICLIST INTERNET LIST SERVER RECOMMENDED PICMICRO® MCU WEB SITES PERIODICALS USEFUL WEB SITES HARDWARE FAQS PART SUPPLIERS DIGI-KEY AP CIRCUITS WIRZ ELECTRONICS TOWER HOBBIES JAMECO JDR NEWARK MARSHALL INDUSTRIES MOUSER ELECTRONICS MONDO-TRONICS ROBOTICS STORE