Digital Fundamentals and Microcontrollers
2014-2015 - ELE2131 - 10 ECTS

On the basis of

IMT1031 - Fundamental Programming

Expected learning outcomes


  • Have knowledge within number system.
  • Know the major topics digital technology.
  • Have the necessary understanding of programmable digital circuits.
  • Know about technical principles for modern microcontroller architecture and low-level programming.
  • How programmable circuits and microcontrollers work.


  • Conversion between number systems.
  • Simplify Boolean functions, either using Boolean algebra or Karnaugh diagram.
  • Synthesis of sequential circuits.
  • Be able to program modern microcontrollers.
  • Programming at low level, using C programming.

General competence:

  • Work in lab and to write lab-reports.
  • Be able to understand the relation between hardware and software.
  • Understanding relation between low-level and high-level programming.


Digital Fundamentals:

  • Number systems and codes
  • Boolean algebra and Karnaugh map
  • Logical and combinatory circuits
  • Adders
  • Latches and flip-flops, sequential circuits, synthesis of synchronous circuits
  • Multiplexers and demultiplexers
  • Counters
  • Memory circuits

Microcontroller Systems:

  • Programming of microcontroller (C-programming and assembly programming)
  • Hardware architecture (CPU, ALU, Stacks, busses and internal memory)
  • Parallel/serial in/out circuits
  • Interrupt and timers
  • Analog to Digital converting (ADC) 
  • Direct Memory Access (DMA)
  • Numerical processes

Teaching Methods


Form(s) of Assessment

Written exam, 3 hours
Evaluation of Project(s)

Form(s) of Assessment (additional text)

Written exam, 3 hours (counts 40%)

Project(s) (counts 60%)

Both parts have to be passed.

Grading Scale

Alphabetical Scale, A(best) – F (fail)

External/internal examiner

Graded by 2 course instructors. Graded periodically externally, next time 2015-2016

Re-sit examination

Ordinary re-sit examination

Teaching Materials

Is given when the semester starts.