Module Overview

Embedded Systems

The aim of this subject is to learn about the design of software/hardware for an embedded system executing native code. It covers all of the basics of embedded system programming such astimers, interrupts and controlling peripheral hardware. Applications will bestudied in lectures and labs in order to give the student an overview of a complete system.The syllabus is written for the MSP430 family but another processor(s) ( e.g. PIC) illustratinggenerally similar concepts, may be used.

Module Code

EMSY H3002

ECTS Credits


*Curricular information is subject to change

Introduction to Embedded Systems :

Overview of microprocessors andmicrocontrollers, Definition of Embedded Systems from a SW/HW perspective,Constraints on Embedded Software design

Development tools :

The Integrated Development Environment, compilers, downloading and executing programs on a development board.

Programming in C :

Structured programming, use of specific header files for embedded systems. Data types for embedded systems. Bit Manipulation.

Hardware :

Microcontroller architecture of a specific microcontroller including description of theI/O port structure, the Special Function Registers, program memory and data memory.

Synchronous Serial Busses:

Description of the Serial Peripheral Interface and the Inter-Integrated Circuit busses. Using software to communicate with peripherals using a SPI bus.

Interrupts :

Review basics of interrupts, interrupt vectors, Interruptorganisation, processing interrupts, interrupt service routines, external interrupts, timer interrupts. Low power modes and interrupts.

Timer operation :

Timer Special Function Registers, implementation of timers using interupts, examples of timing applications. State machine implementation using the switch statement.

Switch debounce :

Problem of switch bounce, theory of hardware and software solutions, implementation of a software solution. Debounce using interrupts.

Analog to digital conversion :

Control of general peripherals using special function registers. Review theory of ADC, implementation of an applicationtaking input from a voltage source eg. a sensor.

Keypad and Display interfacing :

Implement keypad scanning and display interfacing using software.


Review of asynchronous communication. Using a microcontroller's internal UART for communications between adevelopment board and a PC.

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)45
Formal Examination55