This module aims to provide the practical and theoretical skills needed to use C language to program embedded microprocessors and systems.

After completing this module, students will be expected to be able to:

1. Write programs in C to solve engineering problems
2. Program embedded microprocessors or microcontrollers in C
3. Define input and output modules for an embedded system
4. Design embedded systems as solutions to real-world problems

Outline Syllabus
* Introduction to the course: review of basic features of C programming language and embedded computer architectures.
* Embedded system characteristics: slow processing speed; small memory; A/D and D/A converters; digital input-output devices and communication links.
* Application domain characteristics: the complex, unpredictable and dynamic natures of engineering problems; sensor noise, timeliness, and error recovery.
* Implementation issues: modular development of embedded software and hardware; flexible configuration; multi/distributed processing; a variety of I/O devices.