Skip to main content

Advanced PIC Microcontroller Projects in C

From USB to RTOS with the PIC 18F Series

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 ap… Read more

Early spring sale

Nurture your knowledge

Grow your expertise with up to 25% off trusted resources.

Description

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.

Key features

  • A clear introduction to the PIC 18FXXX microcontroller's architecture
  • 20 projects, including developing wireless and sensor network applications, using I2C BUS, USB BUS, CAN BUS and the SPI BUS, which give the block and circuit diagram, program description in PDL, program listing and program description
  • Numerous examples of using developmental tools: simulators, in-circuit debuggers (especially ICD2) and emulators

Readership

Embedded systems engineers working in industry, technicians, electronic hobbyists, undergraduate and graduate students developing embedded systems projects.

Table of contents

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

Product details

About the author

DI

Dogan Ibrahim

Dogan Ibrahim graduated from the University of Salford with First Class Honours in Electronic Engineering. He then completed an MSc course in Automatic Control Engineering at the University of Manchester, and PhD in Digital Signal Processing at the City University in London. Prof Ibrahim worked at several companies and gained industrial experience before returning to the academic life. Prof Ibrahim is currently a Fellow of the IET, and a Chartered Electrical Engineer. His interests are in the fields of microcontroller based automatic control, digital signal processing, and computer aided design. Dogan Ibrahim has been a lecturer at South Bank University, London, and Principal Research Engineer at GEC Hirst Research Centre. Prof Ibrahim is the author of over 70 technical books in the fields of microcontrollers and electronic engineering. He is currently a systems consultant, carrying out consultancy work to various firms in London.
Affiliations and expertise
Department of Computer Information Systems, Near East University

View book on ScienceDirect

Read Advanced PIC Microcontroller Projects in C on ScienceDirect