Skip to navigation | Skip to main content | Skip to footer

COMP20262: Microcontrollers (2009-2010)

This is an archived syllabus from 2009-2010

Level: 2
Credit rating: 10
Pre-requisites: COMP10021 or COMP10502
Co-requisites: No Co-requisites
Duration: 11 weeks in second semester
Lectures: No formal lectures
Labs: 40 hours in total, 20 2-hour sessions
Lecturers: Jim Garside, Paul Nutter
Course lecturers: Jim Garside

Paul Nutter

Additional staff: view all staff
Sem 2 w19-26,30-33 Lab Toot 0 Tue 11:00 - 13:00 H
Sem 2 w19-26,30-33 Lab Toot 0 Thu 15:00 - 17:00 H
Assessment Breakdown
Exam: 0%
Coursework: 0%
Lab: 100%
Degrees for which this unit is optional
  • Artificial Intelligence BSc (Hons)


This course aims to familiarise students with the use of microprocessors/microcontrollers for simple control and interfacing applications. The course aims to develop the understanding of the programming and operation of the ARM processor introduced in COMP10031 to include modular program construction, separation of user and operating system tasks and interfacing techniques at the hardware and software levels.

This course builds upon the understanding of processor operation and assembler programming introduced in COMP10031 and upon the logic design in introduced in COMP10211 to show how hardware and software interact in the solution of interfacing problems.

Learning Outcomes

A student completing this course should:

Appreciate the function and need for an operating system. (A3)
Be competent in assembler programming. (B2, C5, C6, D5)
Know when and how to use interrupts. (A2, A3)
Have experienced a wide variety of interfaces and interface techniques. (B2, B3, C5, D4)
Understand the hardware-software interface and the implementation trade-offs around this boundary. (A3, B3)

Assessment of Learning outcomes

All learning outcomes are assessed incrementally in the laboratory.

Contribution to Programme Learning Outcomes

A2, A3, B2, B3, C5, C6, D4, D5


Basic Interfacing [1]

Parallel I/O [2]

Procedure calls, Nesting & Stacking [2]

System calls, Privilege levels, Initialisation [2]

Timers [3]

Interrupts [2]

Real-time operation, User interaction [2]

System design [3]

Project [5]