Advanced PIC Microcontroller Projects in C
From USB to RTOS with the PIC 18F SeriesBy
- Dogan Ibrahim, Traffic Control Systems Unit, South Bank University, Near East University, UK
This book is ideal for the engineer, technician, hobbyist and student who have knowledge of the basic principles of PIC microcontrollers and want to develop more advanced applications using the 18F series.The architecture of the PIC 18FXXX series as well as typical oscillator, reset, memory, and input-output circuits is completely detailed. After giving an introduction to programming in C, the book describes the project development cycle in full, giving details of the process of editing, compilation, error handling, programming and the use of specific development tools. The bulk of the book gives full details of tried and tested hands-on projects, such as the 12C BUS, USB BUS, CAN BUS, SPI BUS and real-time operating systems.
Embedded systems engineers working in industry, technicians, electronic hobbyists, undergraduate and graduate students developing embedded systems projects.
Paperback, 560 Pages
Published: March 2008
- 1. MICROCOMPUTER SYSTEMS 1.1 Introduction 1.2 Microcontroller Systems 1.3 Microcontroller Features 1.4 Microcontroller Architectures 1.5 Number Systems 1.6 Converting Binary Numbers into Digital 1.7 Converting Decimal Numbers into Binary 1.8 Converting Binary Numbers into Hexadecimal 1.9 Converting Hexadecimal Numbers into Binary 1.10 Converting Hexadecimal Numbers into Decimal 1.11 Converting Decimal Numbers into Hexadecimal 1.12 Converting Octal Numbers into Decimal 1.13 Converting Decimal Numbers into Octal 1.14 Converting Octal Numbers into Binary 1.15 Converting Binary Numbers into Octal 1.16 Negative Numbers 1.17 Adding Binary Numbers 1.18 Subtracting Binary Numbers 1.19 Multiplication of Binary Numbers 1.20 Division of Binary Numbers 1.21 Floating point Numbers 1.22 Converting a Floating Point Number into Decimal 1.23 BCD Numbers 1.24 Exercises2. PIC18F MICROCONTROLLER SERIES 2.1 PIC18FXX2 Architecture 2.2 Summary 2.3 Exercises3. C PROGRAMMING LANGUAGE 3.1 Structure of a mikroC Program 3.2 PIC Microcontroller Input-output Port Programming 3.3 Programming Examples 3.4 Summary 3.5 Exercises4. FUNCTIONS AND LIBRARIES IN mikroC 4.1 mikroC Functions 4.2 mikroC Built-in Functions 4.3 mikroC Library Functions 4.4 Summary 4.5 Exercises5. PIC18 DEVELOPMENT TOOLS 5.1 Software Development Tools 5.2 Hardware Development Tools 5.3 mikroC Integrated Development Environment 5.4 Summary 5.5 Exercises6. SIMPLE PIC18 PROJECTS 6.1 Program Description Language (PDL) PROJECT 1 CHASING LEDs PROJECT 2 LED DICE PROJECT 3 TWO DICE PROJECT PROJECT 4 TWO DICE PROJECT LESS I/O PINS PROJECT 5 7-SEGMENT LED COUNTER PROJECT 6 TWO DIGIT MULTIPLEXED 7-SEGMENT LED PROJECT 7 TWO DIGIT MULTIPLEXED 7-SEGMENT LED COUNTER WITH TIMER INTERRUPT PROJECT 8 VOLTMETER WITH LCD DISPLAY PROJECT 9 CALCULATOR WITH KEYPAD AND LCD PROJECT 10 SERIAL COMMUNICATION BASED CALCULATOR7. ADVANCED PIC18 PROJECTS SD CARD PROJECTS 7.1 The SD Card 7.2 mikroC language SD Card Library Functions 7.3 PROJECT READ CID REGISTER AND DISPLAY ON A PC SCREEN 7.4 PROJECT READ/WRITE TO SD CARD SECTORS 7.5 PROJECT USING THE CARD FILING SYSTEM 7.6 PROJECT TEMPERATURE LOGGER8. ADVANCED PIC18 PROJECTS USB BUS PROJECTS 8.1 Speed Identification on the Bus 8.2 USB States 8.3 USB Bus Communication 8.4 Descriptors 8.5 PIC18 Microcontroller USB Bus Interface 8.6 mikroC Language USB Bus Library Functions 8.7 PROJECT USB BASED MICROCONTROLLER OUTPUT PORT 8.8 PROJECT USB BASED MICROCONTROLLER INPUT/OUTPUT 8.9 PROJECT USB BASED AMBIENT PRESSURE DISPLAY ON PC9. ADVANCED PIC18 PROJECTS CAN BUS PROJECTS 9.1 Data Frame 9.2 Remote Frame 9.3 Error Frame 9.4 Overload Frame 9.5 Bit Stuffing 9.6 Types of Errors 9.7 Nominal Bit Timing 9.8 PIC Microcontroller CAN Interface 9.9 PIC18F258 Microcontroller Parameters 9.10 mikroC CAN Functions 9.11 CAN Bus Programming 9.12 PROJECT TEMPERATURE SENSOR CAN BUS PROJECT10. MULTI-TASKING AND REAL-TIME OPERATING SYSTEMS 10.1 State Machines 10.2 The Real Time Operating Systems (RTOS) 10.3 RTOS Services 10.4 Synchronization and Messaging Tools 10.5 CCS PIC C Compiler RTOS 10.6 RTOS PROJECT 1 LEDs 10.7 RTOS PROJECT RANDOM NUMBER GENERATOR 10.8 RTOS PROJECT VOLTMETER WITH RS232 SERIAL OUTPUT