You are previewing Designing Embedded Systems with 32-Bit PIC Microcontrollers and MikroC.
O'Reilly logo
Designing Embedded Systems with 32-Bit PIC Microcontrollers and MikroC

Book Description

The new generation of 32-bit PIC microcontrollers can be used to solve the increasingly complex embedded system design challenges faced by engineers today. This book teaches the basics of 32-bit C programming, including an introduction to the PIC 32-bit C compiler. It includes a full description of the architecture of 32-bit PICs and their applications, along with coverage of the relevant development and debugging tools. Through a series of fully realized example projects, Dogan Ibrahim demonstrates how engineers can harness the power of this new technology to optimize their embedded designs.

With this book you will learn:

  • The advantages of 32-bit PICs
  • The basics of 32-bit PIC programming
  • The detail of the architecture of 32-bit PICs
  • How to interpret the Microchip data sheets and draw out their key points
  • How to use the built-in peripheral interface devices, including SD cards, CAN and USB interfacing
  • How to use 32-bit debugging tools such as the ICD3 in-circuit debugger, mikroCD in-circuit debugger, and Real Ice emulator


  • Helps engineers to get up and running quickly with full coverage of architecture, programming and development tools
  • Logical, application-oriented structure, progressing through a project development cycle from basic operation to real-world applications
  • Includes practical working examples with block diagrams, circuit diagrams, flowcharts, full software listings an in-depth description of each operation

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Preface
  6. Acknowledgments
  7. Chapter 1. Microcomputer Systems
    1. Abstract
    2. 1.1 Introduction
    3. 1.2 Microcontroller Systems
    4. 1.3 Microcontroller Features
    5. 1.4 Microcontroller Architectures
    6. 1.5 8, 16, or 32 Bits?
    7. 1.6 Number Systems
    8. 1.7 Converting Binary Numbers into Decimal
    9. 1.8 Converting Decimal Numbers into Binary
    10. 1.9 Converting Binary Numbers into Hexadecimal
    11. 1.10 Converting Hexadecimal Numbers into Binary
    12. 1.11 Converting Hexadecimal Numbers into Decimal
    13. 1.12 Converting Decimal Numbers into Hexadecimal
    14. 1.13 Converting Octal Numbers into Decimal
    15. 1.14 Converting Decimal Numbers into Octal
    16. 1.15 Converting Octal Numbers into Binary
    17. 1.16 Converting Binary Numbers into Octal
    18. 1.17 Negative Numbers
    19. 1.18 Adding Binary Numbers
    20. 1.19 Subtracting Binary Numbers
    21. 1.20 Multiplication of Binary Numbers
    22. 1.21 Division of Binary Numbers
    23. 1.22 Floating Point Numbers
    24. 1.23 Converting a Floating Point Number into Decimal
    25. 1.24 Binary Coded Decimal Numbers
    26. 1.25 The American Standard Code for Information Interchange Table
    27. 1.26 Summary
    28. 1.27 Exercises
  8. Chapter 2. PIC32 Microcontroller Series
    1. Abstract
    2. 2.1 The PIC32MX360F512L Architecture
    3. 2.2 Summary
    4. 2.3 Exercises
  9. Chapter 3. C Programming for 32-Bit PIC Microcontrollers
    1. Abstract
    2. 3.1 Structure of a Simple mikroC Pro for PIC32 Program
    3. 3.2 Functions
    4. 3.3 PIC32 Microcontroller Specific Features
    5. 3.4 Summary
    6. 3.5 Exercises
  10. Chapter 4. mikroC Pro for PIC32 Built-in Library Functions
    1. Abstract
    2. 4.1 ADC Library
    3. 4.2 LCD Library
    4. 4.3 Software UART Library
    5. 4.4 Hardware UART Library
    6. 4.5 Sound Library
    7. 4.6 ANSI C Library
    8. 4.7 Miscellaneous Library
    9. 4.8 Summary
    10. 4.9 Exercises
  11. Chapter 5. PIC32 Microcontroller Development Tools
    1. Abstract
    2. 5.1 Software Development Tools
    3. 5.2 Hardware Development Tools
    4. 5.3 mikroC Pro for PIC32 IDE
    5. 5.4 Summary
    6. 5.5 Exercises
  12. Chapter 6. Microcontroller Program Development
    1. Abstract
    2. 6.1 Using the Program Description Language and Flowcharts
    3. 6.2 Examples
    4. 6.3 Representing for Loops in Flowcharts
    5. 6.4 Summary
    6. 6.5 Exercises
  13. Chapter 7. Simple PIC32 Microcontroller Projects
    1. Abstract
    2. 7.1 Project 7.1—LED DICE
    3. 7.2 Project 7.2—Liquid-Crystal Display Event Counting
    4. 7.3 Project 7.3—Creating a Custom LCD Character
    5. 7.4 Project 7.4—LCD Progress Bar
    6. 7.5 Project 7.5—Shifting Text on LCD
    7. 7.6 Project 7.6—External Interrupt-Based Event Counting Using LCD
    8. 7.7 Project 7.7—Switch Contact Debouncing
    9. 7.8 Project 7.8—Timer Interrupt-Based Counting
    10. 7.9 Project 7.9—Temperature Measurement and Display on LCD
    11. 7.10 Project 7.10—Playing a Melody
    12. 7.11 Project 7.11—Playing a Melody Using Push-Button Switches
    13. 7.12 Project 7.12—Generating Sine Wave Using D/A Converter
    14. 7.13 Project 7.13—Communicating with a PC Using the RS232 PORT
    15. 7.14 Project 7.14—Scrolling LCD Display
  14. Chapter 8. Advanced PIC32 Projects
    1. Abstract
    2. 8.1 Project 8.1—Generating High-Frequency Sine Waveform
    3. 8.2 Project 8.2—Generating Pulse-Width Modulation Waveform
    4. 8.3 Project 8.3—Changing the Brightness of an LED
    5. 8.4 Project 8.4—Using a Thin Film Transistor Display
    6. 8.5 Project 8.5—Plotting a Graph on the TFT Display
    7. 8.6 Project 8.6—Using Secure Digital Cards
    8. 8.7 Project 8.7—Storing Temperature Readings in a File on the SD Card
    9. 8.8 Project 8.8—Designing a Finite Impulse Response Filter
    10. 8.9 Project 8.9—Calculating Timing in Digital Signal Processing
  15. Appendix. MPLAB and PIC32 Compiler
    1. PIC32 Starter Kit Development Board
    2. PIC32 Starter Kit Project
    3. Using the MPLAB PIC32 Compiler
  16. Index