Microchip Certified Training - PIC18 Foundation Workshop using Assembly Code — A 3 day course

contact usEnquire about this course


This hands-on course aims to provide engineers with an understanding of the enhanced PIC18 family of microcontrollers and experience of using Microchip development tools to create and debug simple assembly language programs.

The emphasis is on providing a solid foundation of knowledge of 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.

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.

The course will help delegates understand the architecture and features of the PIC18C / PIC18F family of microcontrollers and gain hands-on experience of Microchip development tools for creating and debugging assembly language programs on a target PIC18C / PIC18F microcontroller. Delegates will also be introduced to the use of on-chip peripherals to simplify interfaces to the outside world.


This course will provide delegates with the following skills:


Microchip Overview

Market profile, product range, key advantages and support network

Overview of Development Tools

Microchip development software: MPLAB, MPSIM 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 PIC18 Architecture

Comparison of the PIC16 and PIC18 architectures

Harvard versus Von Neumann architecture

Organisation of program and data memory

Op-codes and addressing modes: immediate, relative, direct and indirect

Stack operations and interrupts

Interrupt Prioritisation

On-chip peripherals and clock options

The MPASM Assembler

Assembler directives and op-codes

Programming style- use of templates and comments

Debugging assembly code using MPLAB, MPSIM and MPLAB ICD2

Interrupt service routines - how to create handlers using assembly code

Suitable For

This course is aimed at engineers with some understanding of microelectronics and programming who are new to the PIC18C / PIC18F architecture, or wish to fill in gaps in their knowledge.


Familiarity with the Windows environment on a Personal Computer, and with fundamental concepts such as bits, bytes, Boolean logic and addressing is assumed.

Some experience of assembly language on microprocessors or other microcontrollers will be useful background for an understanding of the more advanced concepts presented during this course.