|
Microprocessors: From Assembly Language to C Using the PIC18Fxx2
This book is a first course in microprocessors using the PIC18Fxx2 microprocessor with the only prerequisites being basic digital design and exposure to either C or C++ programming. The topic coverage is wide, with a mixture of software and hardware topics. The book begins with simple microprocessor architecture concepts and moves to assembly language
programming in a C language context. Hardware interface topics include the fundamentals, such as parallel IO, asynchronous serial IO (I2C and SPI), interrupt-driven IO, timers, analog-to-digital, and digital-to-analog conversion. The hardware interfacing examples use C to keep code complexity low and improve clarity, using devices that do not require extensive circuits knowledge. The assembly language programming topics emphasize the linkage between C language constructs and their assembly language equivalent so students clearly understand the impact of C coding choices related to executing time and memory requirements. A capstone chapter has projects on audio record and playback, a home monitoring system, and an autonomous wheeled robot. This is a must-have resource that prepares students for advanced courses in embedded systems or computer architecture.
Preface; Chapter 1: Number System and Digital Logic Review; Chapter 2: The Stored Program Machine; Chapter 3: Introduction to the PIC18Fxx2; Chapter 4: Unsigned 8-bit Arithmetic, Logical, Conditional Operations; Chapter 5: Extended Precision and Signed Operations; Chapter 6: Subroutines and Indirect Addressing; Chapter 7: Advanced Assembly Language; Stack Frames and Higher Math; Chapter 8: PIC18F242 Hardware Startup and Parallel Port IO; Chapter 9: Asynchronous Serial I/O; Chapter 10: Interrupts; Chapter 11: Synchronous Serial I/O; Chapter 12: Data Conversion; Chapter 13: Timers; Chapter 14: Capstone: Audio Sampling; Chapter 15: Advanced Topics; Appendix A: PIC18 Instruction Set Summary; Appendix B: MPLAB Tutorial; Appendix C: Hi-Tech and Microchip C Compiler Differences; Appendix D: A Brief Summary of the C Language; Appendix E: Suggested Laboratory Exercises for a Semester-Based Course; Appendix F: About the CD-ROM; Index
|