Course M105 - PIC18F Foundation Workshop using the C18 'C' Compiler (3 days)
(*Certified by Microchip*)

This “hands-on” course aims to provide engineers with an understanding of the enhanced PIC18C / PIC18F family of microcontrollers and experience of using Microchip development tools to create and debug simple 'C' programs.

The emphasis is on providing a solid foundation of knowledge on the architecture and features of this range of microcontrollers, together with practical experience of the development tools and the steps required to embark on a new development.

Course Outline

Microchip Overview
Market profile, product range, key advantages and support network

Overview of Development Tools
Microchip development software: MPLAB®, C18, MPSIMTM and associated tools
Microchip In-Circuit Debugger (MPLAB® ICD2) and In-Circuit Emulator (ICE) hardware
Device programmers, and the design option of In-Circuit Serial Programming (ICSPTM)
Demonstration boards and kits
Third-party development tools

The PIC18C / PIC18F Architecture
Harvard versus Von Neumann architecture
Optimisation of PIC18C / PIC18F architecture for C compiler efficiency
Organisation of program and data memory
On-chip peripherals and clock options
Interrupts

The C18 Compiler
Key features and extensions to support the PIC18C / PIC18F architecture
Programming style – use of templates and comments
Debugging at 'C' source level using MPLAB®, MPSIMTM and MPLAB® ICD2
Purpose and operation of MPLINKTM with linker scripts, command files and map files
C18 memory management models
Use of library functions and customisation of library files using MPLIB
Interrupt service routines – how to add vectors and create handlers using C18
Improving the size of target code generated by C18



Intended Audience

This course is aimed at engineers with an understanding of microelectronics and programming who intend to create projects using the 'C' language, but who are new to the PIC18C / PIC18F architecture and/or the C18 'C' compiler.

A prior knowledge of generic 'C' programming is assumed, together with familiarity with the Windows® environment on a Personal Computer.

Key Skills

Understand the architecture and features of the PIC18C / PIC18F family of microcontrollers

Gain hands-on experience of Microchip development tools and the C18 compiler for creating and debugging 'C' programs on a target PIC18C / PIC18F microcontroller

Be introduced to the use of on-chip peripherals to simplify interfaces to the outside world

Laboratory Workshops

You will learn how to:

Programme object code into a target PIC18F microcontroller using MPLAB® and MPLAB® ICD2
Create, build and debug new projects using C18, MPLAB® and MPLAB® ICD2
Set the PIC18C / PIC18F configuration options appropriately for the target system
Use digital I/O ports to interact with the outside world
Customise library functions to enable data to be displayed on an LCD module
Create a real-time clock display (with stop/start) using timers and external interrupts
Read and display the value of an analogue input using the A-to-D converter
Set up a Pulse Width Modulation (PWM) output with a variable duty cycle
Communicate with a PC over a serial interface using the USART peripheral
Write and read data to/from an external EEPROM chip using the MSSP module



Practical Work

The course includes many practical workshop exercises which are interleaved with the relevant presentation material for maximum impact and variety. These exercises are carried out using MPLAB® software running on a Windows® PC, an ICD programmer/debugger and a target development board containing a PIC16C / PIC16F microcontroller on which programs created during the exercises can be observed to be running in real-time.