PIC32 Microcontrollers and the Digilent chipKIT: Introductory to Advanced Projects (2015)
A microcontroller is a single-chip microprocessor system that contains data and program memory, serial and parallel I/O, timers, and external and internal interrupts, all integrated into a single chip that can be purchased for as little as $2.00. About 40% of microcontroller applications are in office automation, such as PCs, laser printers, fax machines, intelligent telephones, and so forth. About one-third of microcontrollers are found in consumer electronic goods. Products such as CD players, hi-fi equipment, video games, washing machines, cookers, and so on fall into this category. The communications market, automotive market, and the military share the rest of the application areas.
This book is written for students, for practising engineers, and for hobbyists who want to learn more about the programming and applications of PIC 32-bit series of microcontrollers. It has been written with the assumption that the reader has taken a course on digital logic design, and has been exposed to writing programs using at least one high-level programming language. Knowledge of the C programming language will be useful. Also, familiarity with at least one member of the PIC series of microcontrollers (e.g., PIC16 or PIC18) will be an advantage. The knowledge of assembly language programming is not required because all the projects in the book are based on using the C (and C++) language.
chipKIT is a series of 32-bit PIC microcontroller-based development boards designed and manufactured by Digilent Inc. (www.digilentinc.com). There are many such development boards in the series, starting from the basic chipKIT Uno32 and chipKIT MX3 to more advanced chipKIT Pro MX4, chip KIT Pro MX7, and so on. These boards are complete 32-bit microcontroller development systems compatible with the MPIDE and the MPLAB IDE integrated development environments. The boards are supported by a large number of plug-in peripheral interface modules called Pmods. Some examples of Pmod modules are: LED arrays, seven-segment display, push-button switches, keypad, LCD, OLED, temperature sensor, GPS, stepper motor controller, and many more. The chipKIT PIC32-based systems are compatible with many existing Arduino® code examples, reference material, and other resources, thus making the programming easy. In this book, many tested and working projects are given based on the chipKIT MX3 development board and the MPIDE integrated development environment.
Chapter 1 presents the basic features of microcontrollers and gives example of a simple microcontroller-based fluid-level control system.
Chapter 2 provides a review of the PIC32 series of 32-bit microcontrollers. Various features of these microcontrollers are described in detail. The highly popular PIC32MX360F512L microcontroller has been chosen as an example 32-bit microcontroller.
Chapter 3 is about the 32-bit microcontroller development tools. The basic features of various development boards available in the market are given in this chapter.
Chapter 4 discusses the features of the popular chipKIT MX3 (formerly known as the Cerebot MX3cK) 32-bit development board in detail. This development board is used in the projects in this book.
Chapter 5 is about the MPIDE integrated development environment. The chapter discusses various features of this IDE and gives programming examples.
Chapter 6 describes the commonly used microcontroller program development tools. Flow charts and the program description language (PDL) are explained in this chapter with examples.
Chapter 7 provides projects using the chipKIT MX3 development board with the MPIDE integrated development environment. Many tested and working projects are given in this chapter. The following are given for each project:
• Project title
• Project description
• Project hardware
• Project PDL
• Complete project program listing
• Full description of the program
• Comments for future development (where necessary)
Finally, the Appendix describes how the MPLAB IDE can be used in developing applications with the chipKIT boards. chipKIT Pro MX7 (formerly known as the Cerebot MX7cK) development board is taken as an example, and a simple project is developed to illustrate the basic steps.