PIC16F Intermediate (Assembly)

Course

In Carshalton

£ 1,140 + VAT

Description

  • Type

    Workshop

  • Location

    Carshalton

  • Duration

    3 Days

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. Suitable for: This course is aimed at engineers who are familiar with the baseline PIC16C / PIC16F architecture and wish to extend their knowledge of the capabilities of the high-end PIC16FXXX parts. Experience of assembly language programming is assumed, as well as familiarity with the Windows® environment on a Personal Computer. Some knowledge of electronics will be advantageous for an understanding of the more advanced concepts presented during this course.

Facilities

Location

Start date

Carshalton (Surrey)
See map
1-3 Fairlands House, North Street, SM5 2HW

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
This hands-on course aims to provide engineers involved in product design with a detailed understanding of the features of the high-end PIC16C / PIC16F family of microcontrollers, and how to use the on-chip peripherals to create simple interfaces to real-world devices.
It will also explain how the linker provided with the Microchip development tools enables relocatable code modules to be created which can be re-used across multiple projects.

Key Skills
  • Gain a detailed understanding of the features of the PIC16C / PIC16F family of microcontrollers
  • Obtain hands-on experience with the use of on-chip peripherals for applications such as timing, digital control, analogue input, pulse width modulation, event capture and serial communication.
  • Be introduced to the use of the linker to create relocatable code modules

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.
Exercises include:
  • Create, build and debug projects on the development board using MPLAB® and the ICD
  • Switch LEDs and other loads on and off using digital outputs
  • Read an external keypad using "wake-up from sleep" mode on Port B digital inputs *
  • Display information on an LCD module
  • Create a real-time clock display using timers and interrupts
  • Read the values of analogue inputs using the A-to-D converter
  • Collect data in the background using an interrupt handler routine
  • Set up a Pulse Width Modulation (PWM) output with a variable duty cycle *
  • Measure the period of a pulse train using the capture/compare module *
  • Communicate with a PC over a serial interface using the USART peripheral
  • Calculate a checksum for program memory using the self-read capability

Course Contents
Microchip Overview
  • Market profile
  • Product range
  • Key advantages and support network
Overview of Development Tools
  • Microchip development software: MPLAB®, MPSIMTM and associated tools
  • Microchip In-Circuit Debugger (ICD) 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 PIC16C / PIC16F Architecture and Instruction Set
  • Harvard versus Von Neumann architecture
  • Design features: word length, pipelining and single-cycle execution
  • Organisation of program and data memory
  • Op-codes and addressing modes: immediate, direct, indirect, PC absolute and PC relative
  • Classes of operations performed by op-codes
  • Interrupt model and how to create interrupt service routines
  • On-chip peripherals: overview and detailed description
  • Special features: e.g., clock options, sleep mode, watchdog timer, brown-out detection
The MPLAB® Linker
  • Overview of MPLINKTM and its relationship to the other MPLAB® components
  • Use of linker scripts, command files and map files
  • Linker directives
  • Allocation of sections for relocatable code
  • Global and external declarations

PIC16F Intermediate (Assembly)

£ 1,140 + VAT