Consultancy and Total Solutions Training Provider for Embedded Systems, Electronics and Electrical Engineering, Programming, Computing, Operations, ISO9000, ISO14000 and Management.

Bridging the Gap

Training Courses

Programming and Interfacing PIC Microcontrollers

Course id: 0004


It is widely recognized that where cost is a significant factor, 8-bit microcontrollers provide the most economical solution for embedded devices, and the Microchip PIC microcontroller is one of the best-supported and most interesting microcontrollers available today. This course is intended to prepare you to take the full advantage of PIC microcontrollers for embedded system design.

Course Highlight
Microcontrollers are found in a multitude of applications in the automotive, consumer, communications, office automation and industrial control markets. The PIC hardware architecture and instruction sets are first introduced in classroom setting with the aid of video and software tools. The concepts are then re-enforced through exercises and examples of how the PIC-based systems are designed in real-life. Demonstration and hands-on practical using the PIC Evaluation Kit and MPLAB software tools will be carried out to illustrate various principles and techniques.

What participants say about the course
The following are some verbatim statements from the participants:

  • Instructor very helpful and can understand what is taught -- Mar 2011
  • Explanation was clear, Can follow easily -- Mar 2011
  • Function of the chip and function of the board -- Mar 2011
  • The way of instructor giving his lecture to students is simple and easily to understand -- Jan 2012
  • Instructor very knowledgeable -- Jan 2012

What you will learn

This course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:
  • Effectively use MPLAB to develop, test and debug embedded programs
  • Configure and use the I/O ports, timers, SPI, I2C, ADC, Capture, Compare and PWM peripherals
  • Write modular, reusable PIC code for rapid application development and ease of testing and debugging
  • Use non-blocking coding methods to handle concurrency
  • Interface with devices such as switches, keypads, LEDs, alphanumeric displays, relays, serial ports

Who should attend

Engineers involved in microcontroller-based development, and deploying and maintaining such systems in the field.


Participants are required to have a background in electronics and C programming.

Course methodology

This course starts with essential fundamentals of microcontroller systems. Participants are then taught the hardware architecture and the unique features of the PICmicros. PICmicro C programming and structured programming techniques are introduced in steps throughout the course.

The following software tools are used:

  • MPSIM and Debugger
The hardware used are:
  • PICKit 2 Development Programmer/Debugger (DV164121)
  • PICDEM PIC18 Explorer (DM183032)

Course duration

3 days.

Course structure

Day 1

  • Introduction: Overview of microcontroller families, The PICmicro MCUs
  • Architecture: Processor architecture, memory organization, instruction set, clocking, reset, code protection
  • Tools: Development environment, compilers, simulation, programming, debugging
  • Hands-on Practical 1: ‘Hello World’, watch, breakpoints, profiling
  • Programming: Software layers, modularization, good practices
  • Peripherals: Polling, interrupt
  • Peripherals (I/O): Overview, configuration, usage
  • Hands-on Practical 2: Flashing LED
  • Peripherals (Timer): Overview, configuration, usage
  • Hands-on Practical 3: Flashing LED 2, delay
  • Peripherals (UART): Overview, configuration, usage, ring buffering
  • Hands-on Practical 4: ‘Hello World’ to the terminal, debugging

Day 2

  • Peripherals (SPI): Overview, configuration, usage
  • Hands-on Practical 5: Serial EEPROM
  • Peripherals (I2C): Overview, configuration, usage
  • Peripherals (ADC): Overview, configuration, usage
  • Hands-on Practical 6: Temperature sensor
  • Peripherals (Capture, Compare, PWM): Overview, configuration, usage
  • Hands-on Practical 7: Light dimmer

Day 3

  • Interfacing: Switch, keypad, analogue input, LCD, high power drive, serial memory
  • Hands-on Practical 8: Switch debouncing
  • Hands-on Practical 9: LCD driving
  • Ancillary: Sleep, watchdog timer, FLASH memory access, EEPROM access
  • Finite State Machine: designing systems with FSM
  • Hands-on Practical 10: Light controller


Dr Royan Ong

Course Schedule





News on ProvenPac

  ProvenPac Sdn. Bhd.
  C-4-3 Gembira Park,
  Jalan Riang, 58200
  Kuala Lumpur, Malaysia

  Tel: +603 03 5889 5889

No public course
currently scheduled.


Please inform me when
this course is scheduled.


Please contact me to
arrange in-house training.