Hardware Oriented programming





Offered by

ICT Engineering




Main purpose

The purpose of the course is:
  • To provide the student knowledge about the technical details of an industrial microcontroller used for embedded systems from a programmer’s point of view.
  • To qualify the student to implement simple low level drivers for various hardware devices.
  • To qualify the student to implement low-level software for an embedded system in C.

  • To qualify the student to do Unit testing of embedded C




Having completed this course, students should be able to:
  • have knowledge to read datasheets for electronics components
  • understand the architecture of micro-controllers
  • master IO-Ports
  • master Interrupts
  • master Timers
  • master Analog input/output
  • understand how to divide the software into logical abstraction layers
  • be able to implement software for micro-controllers in C
  • understand how to design and implement simple device drivers
  • to exemplify the above topics in small applications.


  • Architecture of industrial micro-controllers.
  • Memory and IO-systems.
  • Basic peripherals.
  • Interfacing to the analogue world.
  • Interrupts and exceptions.
  • Developing software for embedded systems.
  • Programming device drivers.

  • Unit testing of embedded C

Teaching methods and study activities

Required workload for students is estimated to 137 hours. ~2/3 of the workload is self-study by the student.
Activities change between theory, tasks, programming exercises and mini projects.
During the semester 4-5 compulsory assignments will be given. The result of these assignments will lead to 25% of the final assessment grade for the student.
Each group must deposit 600 DKK for loan of necessary equipment.


Muhammad Ali Mazidi, Sarmad Naimi & Sepehr Naimi: The AVR microcontroller and embedded system.
Copies from various books and notes.


Internal examination.

Final grade based 25% on tuition activities selected as compulsory by the teacher carried out within the set deadlines and approved, and 75% from the oral examination.


​The exam is oral and it takes 20 minutes per student. The exam is in two
parts. First part is a presentation and questions related to the solution to an assignment made in the course. Second part is a drawn question related to the course subjects​.

Grading criteria

Mark 12:
Awarded to students who have shown excellent comprehension of the above-mentioned competences. A few minor errors and shortfalls are acceptable.
Mark 02:
Awarded to students for a just acceptable level of comprehension of the required competences. According to the 7-point grading scale. comprehension of the required competences.

Additional information


Ib Havn

Valid from

2/1/2015 12:00:00 AM

Course type

Compulsory Course for all ICT Engineering
7. semester
Compulsory for the specialization Embedded Engineering


C programming, Driver, low level programming, hardware, Microcontroller, Interrupts