module specification

CT5003 - Microprocessors & Embedded Systems (2020/21)

Module specification Module approved to run in 2020/21
Module title Microprocessors & Embedded Systems
Module level Intermediate (05)
Credit rating for module 30
School School of Computing and Digital Media
Total study hours 300
90 hours Scheduled learning & teaching activities
30 hours Assessment Preparation / Delivery
180 hours Guided independent study
Assessment components
Type Weighting Qualifying mark Description
Coursework 50%   Workshops and Case Study
Unseen Examination 50%   Final Exam (2 hours)
Running in 2020/21
Period Campus Day Time Module Leader
Year North Tuesday Morning

Module summary

This module introduces students to the basic concepts of microprocessors and the role that hardware and software play in the functional behaviour of microprocessor systems. Students are then introduced to some of the more common microcontrollers. Interfacing external memories as well as various input/output devices and sensors are also covered. The module enables students to analyse the requirements of a given task, make decisions in selecting an appropriate controller, design and implement prototype hardware/software for a typical embedded systems product. Practical workshops are designed to introduce microprocessor software development, testing and debugging.  Workshops provide students with an opportunity to use both ‘C’ and assembly language.

Prior learning requirements

CT4002 completed


Fixed systems vs. programmable systems, examples of typical microprocessors, block diagram of the internal architecture of a simple microprocessor, Von-Neumann vs. Harvard architecture, definition of program and data memory and other devices such as input / output peripherals. LO1

The main features some of the typical microcontrollers and their architecture, register banks, bit and byte addressable locations and special function registers, on-board timer/counters, their modes and operation, the serial port, RS232 protocol, interrupt architecture, interrupt vectors and service routines. Interfacing LEDs, switches, digital sensors, motors and actuators. LO1, LO2

Relationship between hardware and software, processor instruction set, format of instructions, writing assembly language programs, internal and external memory data transfer, Boolean instructions, bit testing and program branching. Processor addressing modes and use of look up tables. Introduction to C programming for embedded systems, low-level vs high level languages, C-code for various examples, variable types, Libraries, functions, parameters and arguments; memory addressing, arrays, pointers, interrupts and interrupt service routines. LO2, LO3

Embedded system product development, development systems and tools, phases of product development from initial concept to hardware/software integration management, safety and ethical issues concerning embedded systems product design & relevant standards.LO4, LO5

Balance of independent study and scheduled teaching activity

The module duration is for 30 weeks.  It is organized as 1 hour formal lectures/seminars followed by 2 hours of practical hands-on workshops plus tutorial and discussion classes (the details of weekly program is given in the module handbook). All lectures/workshop study materials are available on-line via WebLearn. The workshops consist of a series of guided exercises followed by small group tasks using a number of industrial development boards and an Integrated Development Environment (IDE).

Tutorial sheets designed for each lecture/seminar classes provide an opportunity for students to test their understanding and will be discussed in small group tutorial classes.  Students take a number of in-class multi-choice tests and receive individual feedback and a study/revision guide in order to improve their performance.

A case study given during the second semester provides an opportunity to apply their knowledge in real applications.  This may be the development of a complete temperature monitoring unit, an autonomous obstacle-avoiding vehicle, a self-balanced two-wheeled robot or similar applications.  Here students will be required to develop both hardware and software, making use of printed circuit boards, interfacing sensors and actuators to implement their own product design.

A number of small video clips prepared by module team have also been provided to further enhance the learning of the more demanding topics.

Learning outcomes

On successful completion of this module students will be able to:

LO1. Use technical literature and programmers’ model to describe the basic principles, concepts and operation of a typical microprocessor based system;
LO2. Apply and integrate knowledge and understanding of other engineering disciplines to enrich their own study of microprocessors and embedded systems;
LO3. Design hardware and software (using ‘C’ and embedded Assembly language codes) to develop a typical microcontroller-based product from a given customer’s specification, managing cost drivers and evaluate outcomes in form a technical report;
LO4. Work with and relate effectively in a small engineering team to complete the design of a given product to its marketable form by managing their time and prioritising workloads;
LO5. To understand the design phases of microcontroller-based products and identify constraints including environmental, ethical, safety and intellectual property rights


Assessment strategy

The module is assessed by coursework and an unseen examination as detailed below:

1. Coursework: (Workshops and Case Study):
During the first semester students are provided with a number of worksheets containing problems and exercises. One of their initial tasks is to install a Software Development Kit (SDK) on their own laptops/computers and write a simple program to familiarize themselves with the SDK. This task is assessed formatively and provides an early feedback to the students. Students are then given assembly language exercises to in order to reinforce their understanding of the basic processor architecture, principles, and the operation of a typical microprocessor based system. Second semester workshops use C as the main programming language. Students then undertake a group case study to develop a microprocessor based product. Workshops and Case Study is assessed by a number of in-class multi-choice tests and a presentation (by means of a poster and artefact) of their developed product. This coursework mainly assesses learning outcomes: LO1-LO4.

2. End-of-module Exam:
This final assessment component of the module assesses students learning of the principles and concepts of microprocessors and embedded systems, which has been delivered throughout the academic year. Hence, a two-hour unseen, closed book examination is the one of the main assessment components of the module with a weighting of 50%. This exam mainly assesses the learning outcomes: LO1, LO2 and LO5.


Core Text:
MacKenzie I.S., Phan R.C. (2006), “The 8051 Microcontroller”,  4rd  Edition , Prentice Hall,  ISBN 978-013019563 (core)

Other Texts:
Huang H. (2008), “Embedded System Design with C8051”, CL-Engineering, ISBN 978-0495471745

Yui J. (2010), “The Definitive Guide to the ARM Cortex-M3”, Elsevier Inc., ISBN 978- 1856179638

Qian K., Haring D., Li C. (2009) “Embedded Software Development with C”, Springer Science + Business Media LLC, ISBN 978-1441906069

Gupta G.S., Mukhopadhyay S.C. (2010), “Embedded Microcontroller Interfacing”, Springer-Verlag, ISBN 978-3642136368

Industrial microprocessor and peripherals data books

Specially prepared web-site is available for the complete set of lecture notes, study guides, and workshops.

University Library website-

Electronic Databases: 
IEEE Xplore / IET Digital Library (IEL) -
ACDM Digital Library -
Wiley Online Library -