You are previewing PIC Microcontroller Projects in C.
O'Reilly logo
PIC Microcontroller Projects in C

Book Description

Extensively revised and updated to encompass the latest developments in the PIC 18FXXX series, this book demonstrates how to develop a range of microcontroller applications through a project-based approach. After giving an introduction to programming in C using the popular mikroC Pro for PIC and MPLAB XC8 languages, this book describes the project development cycle in full. The book walks you through fully tried and tested hands-on projects, including many new, advanced topics such as Ethernet programming, digital signal processing, and RFid technology. This book is ideal for engineers, technicians, hobbyists and students who have knowledge of the basic principles of PIC microcontrollers and want to develop more advanced applications using the PIC18F series.

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. 1.1. Introduction
    2. 1.2. Microcontroller Systems
    3. 1.3. Summary
    4. 1.4. Exercises
  8. Chapter 2. mikroC Pro for PIC Programming Language
    1. 2.1. Structure of a mikroC Pro for PIC Program
    2. 2.2. Arrays
    3. 2.3. Pointers
    4. 2.4. Structures
    5. 2.5. Operators in C
    6. 2.6. Modifying the Flow of Control
    7. 2.7. mikroC Pro for PIC Functions
    8. 2.8. mikroC Pro for PIC Library Functions
    9. 2.9. Summary
    10. 2.10. Exercises
  9. Chapter 3. MPLAB X IDE and MPLAB XC8 C Programming Language
    1. 3.1. The PICDEM PIC18 Explorer Development Board
    2. 3.2. MPLAB X IDE
    3. 3.3. MPLAB XC8 Compiler
    4. 3.4. Summary
    5. 3.5. Exercises
  10. Chapter 4. Microcontroller Program Development
    1. 4.1. Using the PDL and Flow Charts
    2. 4.2. Examples
    3. 4.3. Representing for Loops in Flow Charts
    4. 4.4. Summary
    5. 4.5. Exercises
  11. Chapter 5. Simple PIC18 Projects
    1. Project 5.1—Chasing LEDs
    2. Project 5.2—Complex Flashing LED
    3. Project 5.3—Random Flashing LEDs
    4. Project 5.4—Logic Probe
    5. Project 5.5—LED Dice
    6. Project 5.6—Two-Dice Project
    7. Project 5.7—Two-Dice Project Using Fewer I/O Pins
    8. Project 5.8—7-Segment LED Counter
    9. Project 5.9—Two-Digit Multiplexed 7-Segment LED
    10. Project 5.10—Four-Digit Multiplexed 7-Segment LED
    11. Project 5.11—LED Voltmeter
    12. Project 5.12—LCD Voltmeter
    13. Project 5.13—Generating Sound
    14. Project 5.14—Generating Custom LCD Fonts
    15. Project 5.15—Digital Thermometer
  12. Chapter 6. Intermediate PIC18 Projects
    1. Project 6.1—Four-Digit Multiplexed Seven-Segment Light Emitting Diode Event Counter Using an External Interrupt
    2. Project 6.2—Calculator with a Keypad and Liquid Crystal Display
    3. Project 6.3—The High/Low Game
    4. Project 6.4—Generating Waveforms
    5. Project 6.5—Ultrasonic Human Height Measurement
    6. Project 6.6—Minielectronic Organ
    7. Project 6.7—Frequency Counter with an LCD Display
    8. Project 6.8—Reaction Timer
    9. Project 6.9—Temperature and Relative Humidity Measurement
    10. Project 6.10—Thermometer with an RS232 Serial Output
    11. Project 6.11—Microcontroller and a PC-Based Calculator
    12. Project 6.12—GPS with an LCD Output
    13. Project 6.13—ON–OFF Temperature Control
  13. Chapter 7. Advanced PIC18 Projects
    1. Project 7.1—Bluetooth Serial Communication—Slave Mode
    2. Project 7.2—Bluetooth Serial Communication—Master Mode
    3. Project 7.3—Using the RFID
    4. Project 7.4—RFID Lock
    5. Project 7.5—Complex SPI Bus Project
    6. Project 7.6—Real-Time Clock Using an RTC Chip
    7. Project 7.7—Real-Time Alarm Clock
    8. Project 7.8—SD Card Projects—Write Text To a File
    9. Project 7.9—SD Card-Based Temperature Data Logger
    10. Project 7.10—Using Graphics LCD—Displaying Various Shapes
    11. Project 7.11—Barometer, Thermometer and Altimeter Display on a GLCD
    12. Project 7.12—Plotting the Temperature Variation on the GLCD
    13. Project 7.13—Using the Ethernet—Web Browser-Based Control
    14. Project 7.14—Using the Ethernet—UDP-Based Control
    15. Project 7.15—Digital Signal Processing—Low Pass FIR Digital Filter Project
    16. Project 7.16—Automotive Project—Local Interconnect Network Bus Project
    17. Project 7.17—Automotive Project—Can Bus Project
    18. Project 7.18 Multitasking
    19. Project 1—Using Cooperative Multitasking
    20. Project 2—Using Round-Robin Multitasking With Variable CPU Time Allocation
    21. Project 7.19—Stepper Motor Control Projects—Simple Unipolar Motor Drive
    22. Project 7.20—Stepper Motor Control Projects—Complex Control Of A Unipolar Motor
    23. Project 7.21—Stepper Motor Control Project—Simple Bipolar Motor Drive
    24. Project 7.22—DC Motor Control Projects—Simple Motor Drive
    25. Project 7.23—A Homemade Optical Encoder For Motor Speed Measurement
    26. Project 7.24—Closed-Loop DC Motor Speed Control—On/Off Control
  14. Index