Useful Tools

contact us contact tutor/group email to a friend accessibility options report a fault
Microcontrollers

Microcontrollers

Module Overview

This module considers the application of programmable microcontrollers and their use in microprocessor based systems.

 

To support the material content we provide a Microcontroller Development Board to give practical illustrations for the implementation of a microcontroller based system. Please read the link Microcontroller Development Board for information regarding the supplied development kit and the associated software tools.

 

As the course notes indicate, this course is based on the Microchip PIC.  The first two chapters of the course cover some of the basics common to the range of microcontroller manufacturers, then chapter targets the specific instruction set of the Microchip PIC. 

“Why the PIC?” one might ask.  Naturally the module could have been based on any microcontroller from the broad spectrum including Freescale 68HC05/08 range, Intel 8051 (Philips) or the Renesas h8 series etc.

Our aim was to use a micro that was both popular and versatile with a wide range of family devices.  Again many microcontrollers would fit this criterion.  We also required software development tools incorporating simulation.  (e.g. Freescale provide such a development environment with a simulator for the 68HC05/08 series which is available from their website.  In fact the Freescale 68HC05 architecture is covered in greater depth within chapter 7 of the course as an alternative microcontroller.)  Microchip also provides a sound development environment, supported by a massive amount of literature (including numerous Application Notes) and also provides a number of free C compiler downloads, as well.  The main point here is, with the understanding of one particular microcontroller functionality, comes the appreciation of how most of them can be used.  There are always going to be advantages to using one particular micro over another, and the course will raise these issues at the appropriate time.

 

The module is divided into two halves:

  1. The first half of the module looks at some of the hardware issues and the development of assembly programs to provide functionality to these systems.
  2. The second half  of the module considers the use of the programming language C and how it can reduce development time and generate flexible re-usable code.   The basics of the language are explained in detail for those who are new to C programming.

Programming using Assembly is tackled for the first assignment, Assignment 1, because it more directly relates to understanding the registry functions and gives more feel for the core processor hardware, that is not gleaned using C programming.

The latter part of the course (particularly chapters 8, 9 & 10) uses C programming of the micro which culminates in assignment 2, Assignment 2.  As is often the case, some students may not be familiar with C, or are in need of a refresher, so chapters 8 and 9 are quite ‘C intensive’ to ensure all students are at an acceptable level.  If you are familiar with C, you may wish to merely skim through it to make sure you are aware of the scope required. 

To help those unfamiliar with C, there is an easy-to-use C development system, either via the web http://bdn.borland.com/article/0,1410,20841,00.html
(to download ‘Turbo C v2.01’) or via Quincy 2002 from the CD (or via the web http://www.alstevens.com/quincy.html.) 

The Matrix Multimedia Material and the University’s lecture notes (with references to other material) should give sufficient material to be able to fully tackle this module.  But if you still want further reference material then the following book may be helpful: - “PIC: your personal introductory course”, by J Morton, Newnes Publications, ISBN 07506-3932-6, has numerous examples and applications.


Contents

  1. Introduction to microcontrollers
  2. Peripheral modules in a typical microcontroller
  3. Software and the microcontroller instruction set
  1. A more detailed look at microcontroller peripheral modules
  2. Interfacing to the outside world
  3. Assembly language program design (includes practical tasks 1 - 8)

    Assignment 1

  1. Other examples of microcontrollers
  2. Using a high level programming language
  3. Further aspects of the C language
  4. Using C in microcomputers and microcontrollers

    Assignment 2

[back to top]


Study plan

Study Week Unit Unit / Assessment
1  1
 2
 Introduction to Microcontrollers
 Peripheral modules contained in a typical microcontroller
2  3
 Practicals
Software and the microcontroller instruction set
Start Practicals 0 - 5
3  Practicals
 4
Finish Practicals 0 - 5
A more detailed look at microcontroller peripheral modules
4  5
 6
Interfacing to the outside world
Assembly language program design (inc. practical tasks 1 - 8)
5 & 6   Assignment 1,  25 hours  (worth 50%)
7  7 Other examples of microcontrollers
8  8 Using a high level programming language
9  9 further aspects of the C language
10 10 Using C in microcomputers and microcontrollers
11 & 12   Assignment 2, 25 hours  (worth 50%)

 


Tutor and Author Profiles

Mike Lawrence (Tutor)
Mike Lawrence is a Design Engineer in the Technology Development Centre - the University's link to industry offering support, advice and technical expertise covering a broad range of realisable microelectronic applications, frequently involving microcontrollers. With a background in mechanical engineering, electronics design and project management, Mike is often the first point of contact for companies looking for partnership or consultancy in research and development. He has followed numerous projects through from initial specification to working prototype, taking customers from concept stage through to realisation via specification documentation, design optimisation and practical testing. His development interests are mainly in the field of microcontrollers.
Kevan Smart (Tutor)
Kevan Smart is a Senior Designer within the Technology Design Centre at the University of Bolton. Over the past ten years he has completed numerous design consultancies for small companies as part of the UK government (DTI) Electronics Design programme and the European FUSE initiative. Applications have included audio metering, sensor conditioning, noise suppression, instrumentation and control systems, GSM telephony and global positioning devices. His teaching expertise includes embedded systems and he has supervised a number or projects involving DSP and microcontroller devices. His research interest is high resolution ECG monitoring and recording.
Peter Minns (Author)
Dr Minns worked as a development engineer in industry, first at Plessey as a test equipment engineer for ten years and then, for three years, at Reyrolle Protection as a product design engineer. He has lectured at Northumbria University since 1984 and in 1992 was awarded a PhD for his work in applying parallel processing techniques to the problem of distance protection of power transmission lines against fault currents. His current research interest is in the design of finite state machines.

 


Recommended Textbook

Title Author ISBN Publisher
PIC:  Your Personal Introductory Course John Morton 0-7506-3932-6 Newnes

A PIC trainer kit is issued on loan for the duration of the module.

[back to top]


Updated 14.06.07 ML

Site Search

Powered by Google
Site Map