Lynch, Kevin Embedded Computing and Mechatronics with the PIC32 Microcontroller (0124201652)
For the first time in a single reference, this book provides the beginner with a coherent and logical introduction to the hardware and software of the PIC32, bringing together key material from the PIC32 Reference Manual, Data Sheets, XC32 C Compiler User's Guide, Assembler and Linker Guide, MIPS32 CPU manuals, and Harmony documentation. This book also trains you to use the Microchip documentation, allowing better life-long learning of the PIC32. The philosophy is to get you started quickly, but to emphasize fundamentals and to eliminate 'magic steps' that prevent a deep understanding of how the software you write connects to the hardware. Applications focus on mechatronics: microcontroller-controlled electromechanical systems incorporating sensors and actuators. To support a learn-by-doing approach, you can follow the examples throughout the book using the sample code and your PIC32 development board. The exercises at the end of each chapter help you put your new skills to practice. Coverage includes: A practical introduction to the C programming language Getting up and running quickly with the PIC32 An exploration of the hardware architecture of the PIC32 and differences among PIC32 families Fundamentals of embedded computing with the PIC32, including the build process, time- and memory-efficient programming, and interrupts A peripheral reference, with extensive sample code covering digital input and output, counter/timers, PWM, analog input, input capture, watchdog timer, and communication by the parallel master port, SPI, I2C, CAN, USB, and UART An introduction to the Microchip Harmony programming framework Essential topics in mechatronics, including interfacing sensors to the PIC32, digital signal processing, theory of operation and control of brushed DC motors, motor sizing and gearing, and other actuators such as stepper motors, RC servos, and brushless DC motors For more information on the book, and to download free sample code, please visit http://www.nu32.org