CITATION

Predko, Myke. Programming and Customizing the PIC Microcontroller. US: McGraw-Hill/TAB Electronics, 2007.

Programming and Customizing the PIC Microcontroller

Authors:

Published:  September 2007

eISBN: 9780071510875 0071510877 | ISBN: 9780071472876
  • Contents
  • Introduction
  • Acknowledgments
  • Chapter 1 Embedded Microcontrollers
  • Microcontroller Types
  • Internal Hardware
  • Applications
  • Processor Architectures
  • Instructions and Software
  • Peripheral Functions
  • Memory Types
  • Microcontroller Communication
  • Device Packaging
  • Application Development Tools
  • Chapter 2 The Microchip PIC Microcontroller
  • Accessing the Microchip Web Site
  • PIC Microcontroller Feature Summary
  • Features Unique to the PIC Microcontroller
  • PIC Microcontroller Families
  • Chapter 3 Software Development Tools
  • Tools Overview
  • High Level Languages
  • Microchip MPLAB IDE
  • Chapter 4 Programming PIC Microcontrollers
  • Hex File Format
  • Code Protection
  • Parallel Programming
  • PIC ICSP Programmer Interface
  • Microchip Programmers
  • My Programmers
  • Third-Party Programmers
  • Chapter 5 Emulators and Debuggers
  • MPLAB ICE-2000
  • MPLAB REAL ICE
  • MPLAB ICD 2 Debugger
  • The Emu-II
  • Other Emulators
  • Chapter 6 The Microchip PIC MCU Processor Architecture
  • The CPU
  • Hardware and File Registers
  • The PIC Microcontroller's ALU
  • Data Movement
  • The Program Counter and Stack
  • Reset
  • Interrupts
  • Architecture Differences
  • Chapter 7 Using the PIC MCU Instruction Set
  • Setting Up the MPLAB IDE Simulator with a Test Template
  • PIC MCU Instruction Types
  • The Mid-Range Instruction Set
  • Low-End PIC Microcontroller Instruction Set
  • PIC18 Instruction Set
  • Chapter 8 Assembly-Language Software Techniques
  • Sample Template
  • Labels, Addresses, and Flags
  • Subroutines with Parameter Passing
  • Subtraction, Comparing and Negation
  • Bit AND and OR
  • 16-Bit Operations
  • MulDiv, Constant Multiplication and Division
  • Delays
  • Patch Space
  • Structures, Pointers, and Arrays
  • Sorting Data
  • Interrupts
  • Reentrant Subroutines
  • Simulating Logic
  • Event-Driven Programming
  • State Machine Programming
  • Porting Code Between PIC Microcontroller Device Architectures
  • Optimizing PIC Microcontroller Applications
  • A Baker's Dozen Rules to Follow That Will Help to Avoid Application Software Problems
  • Chapter 9 Basic Operating Features
  • Power Input and Decoupling
  • Configuration Fuses
  • OPTION Register
  • TMR0
  • Interrupt Operation
  • The Right PIC Microcontroller to Learn On
  • Chapter 10 Macro Development
  • PIC Microcontroller Assembly-Language Macros
  • The Difference Between Defines and Macros
  • The Assembler Calculator
  • Multiline C Macros
  • Conditional Assembly/Compilation
  • Using Defines and Conditional Assembly for Application Debug
  • Debugging Macros
  • Structured Programming Macros
  • Chapter 11 Building and Linking
  • Creating Linked Applications
  • Chapter 12 Bootloaders
  • Bootloader Requirements
  • Mid-Range Bootloaders
  • PIC18 Bootloaders
  • Chapter 13 Real-Time Operating Systems
  • Low-End and Mid-Range RTOSs
  • PIC18 RTOS Design
  • Chapter 14 Debugging Your Applications
  • Document the Expected State
  • Characterize the Problem
  • Hypothesize and Test Your Hypothesis
  • Propose Corrective Actions
  • Test Fixes
  • Release Your Solution
  • Debug: An Application to Test Your Debug Skills
  • Chapter 15 PIC Microcontroller Application Design and Hardware Interfacing
  • Requirements Definition
  • PIC Microcontroller Resource Allocation
  • Effective User Interfacing
  • Project Management
  • Power Management
  • Reset
  • Interfacing to External Devices
  • Chapter 16 PIC MCU Optional Hardware Features
  • Mid-Range Built-in EEPROM/Flash Access
  • TMR1
  • TMR2
  • Compare/Capture/PWM (CCP) Module
  • Serial I/O
  • Analog I/O
  • Parallel Slave Port (PSP)
  • In-Circuit Serial Programming (ICSP)
  • Chapter 17 PIC MCU Input and Output Device Interfacing
  • LEDs
  • Switch Bounce
  • Matrix Keypads
  • LCDs
  • Analog I/O
  • Audio Output
  • Relays and Solenoids
  • Asynchronous (NRZ) Serial Interfaces
  • Synchronous Serial Interfaces
  • Chapter 18 Motor Control
  • Dc Motors
  • Stepper Motors
  • R/C Servo Control
  • Chapter 19 Practical PC Interfacing
  • PC Software Application Development Tools
  • Serial Port
  • Parallel Port
  • Chapter 20 PIC Microcontroller Application Basics
  • Jumping Around
  • Some Basic Functions
  • Analog Input/Output
  • I/O with Interrupts
  • Serial I/O
  • Chapter 21 Projects
  • Low-End Devices
  • Mid-Range Devices
  • PIC18 Devices
  • Appendix A: Resources
  • Microchip
  • Books to Help You Learn Moreabout the PIC Microcontroller
  • Useful Books
  • Recommended PIC Microcontroller Websites
  • Periodicals
  • Other Websites of Interest
  • Part Suppliers
  • Appendix B: PIC Microcontroller Summary
  • Feature to Part Number Table
  • Instruction Sets
  • I/O Register Addresses
  • Device Pinouts
  • Appendix C: Useful Tables and Data
  • Electrical Engineering Formulas
  • Mathematical Formulas
  • Mathematical Conversions
  • ASCII
  • Appendix D: Miscellaneous Electronic Reference Information
  • Basic Electronic Components and Their Symbols
  • Test Equipment
  • Appendix E: Basic Programming Language
  • PICBASIC
  • Appendix F: C Programming Language
  • Common Library Functions
  • PICC Library Functions
  • Microchip C18 Library Functions
  • Appendix G: Reuse, Return, and Recycle
  • Useful Snippets
  • Mykemacs.inc
  • Sixteen-Bit Numbers
  • Glossary
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • K
  • L
  • M
  • N
  • O
  • P
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Z
  • Index