Microcontroller and Microprocessor Systems
Subject Code: ECP2216
Aim of Subject: To provide a practical introduction to microcontrollers and microprocessors, assembly language programming techniques, interface hardware design, and microcontroller and microprocessor system design considerations.
Learning Outcome of Subject: At the completion of the subject, students should be able to:
  • Describe the fundamental features and operation of contemporary microcontroller and microprocessor (cognitive - knowledge, level 1)
  • Explain the pin configuration and memory organisation of a typical 8051 microcontroller (cognitive - understanding, level 2)
  • Illustrate the 8051 microcontroller memory expansion capability (cognitive - understanding, level 2)
  • Analyse the MCS-51 Instruction Set (cognitive - analysing, level 4)
  • Develop assembly language source code for applications that use I/O ports, timer and single/multiple interrupts (cognitive - creating, level6)
  • Produce interfacing examples using 8051 microcontroller (cognitive - applying, level3)
Programme Outcomes:
  • Ability to acquire and apply fundamental principles of science and engineering. (22%)
  • Capability to communicate effectively. (10%)
  • Acquisition of technical competence in specialized areas of engineering discipline. (25%)
  • Ability to identify, formulate and model problems and find engineering solutions based on a systematic approach. (12%)
  • Ability to conduct investigation and research on engineering problems in a chosen field of study. (11%)
  • Understanding of the importance of sustainability and cost-effectiveness in design and development of engineering solutions. (10%)
  • Ability to work effectively as an individual and a member/leader in a team. (10%)
Assessment Scheme:
  • Lab Experiments - Work in groups of 2 or 3 based on the class size. (10%)
  • Tutorial / Assignment - Group mini-project, to enhance understanding of basic concepts in lecture. (30%)
  • Test Quiz - written exam. (10%)
  • Final Exam - written exam. (50%)
Teaching and Learning Activities: 53 hours (lectures, tutorials and laboratory experiments)
Credit Hours: 3
Pre-Requisite: EEN1036: Digital Logic Design
  • Koo Voon Chet et. al., “The 8051 Cookbook: A Complete Guide to Architecture, Programming and Interfacing, 2nd Edition”, Prentice Hall, Malaysia, 2006. (Textbook)
  • I. Scott MacKenzie and Raphael Phan, "The 8051 Microcontroller, 4th Edition,” Prentice-Hall Inc., U.S.A., 2007.
  • Richard H. Barnett, “The 8051 Family of Microcontrollers”, Prentice-Hall Inc., U.S.A., 1995.
  • Muhammad Ali Mazidi et al., “The 8051 Microcontroller and Embedded Systems: Using Assembly and C, 2nd Edition” Prentice-Hall, U.S.A., 2006.
  • John B. Peatman, "Design with Microcontollers", McGraw-Hill, U.S.A., 1988.
  • Walter A. Triebel and Avtar Singh, “The 8088 and 8086 Microprocessors: The Programming, Interfacing, Software, Hardware, and Applications”, 4th Edition, Prentice Hall, US, 2003.
  • A.K. Ray, K.M. Bhurchandi, “Intel Microprocessors Architecture, Programming and Interfacing”, McGraw-Hill , 2001.
  • Barry B. Brey, “INTEL Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, PentiumPro Processor, Pentium II, III, 4”, 7th Edition, Prentice Hall, US, 2006.
  • Intel’s hardware design resource center

Subject Contents

  • Basics of Microcontroller and Microprocessor

  • A basic microprocessor system: the CPU, memory, I/O, and buses subsystems, basic operation of a microprocessor system: fetch and execute cycle, differences between microcontroller and microprocessor, the architecture of some typical 8-bit micro-controllers, 16-bit microprocessors and their features.
  • The MCS-51 Microcontroller

  • Features of the 8051 – the core of MCS-51 family, block diagram and definitions of the pins of the 8051, I/O port structure, memory organisation: general purpose RAM, bit addressable RAM, register bank, special function registers, external memory, memory space mapping and decoding, bus control signals timing, a typical 8051 microcontroller based system.
  • MCS-51 Instruction Set and Assembly Language Programming

  • Addressing modes, the MCS-51 instruction set and typical examples, assembly language format, assembler directives, operation of assemblers and linkers, programming examples.
  • On-chip Peripheral Devices and Interrupt System

  • I/O ports: operations and uses of port 0, port 1, port 2, port 3
    Timers: their operations, programming, and applications, serial port: operations and programming, typical applications.
    Organisation of the interrupt system, interrupt vectors, interrupt timings, serial port interrupts, and external interrupts, implementation of single and multiple interrupts.
  • Interfacing Examples

  • Keypad, seven-segment LED display, LCD display, ADC and DAC chips, and input / output port expansion, description and uses of hardware development tools.
  • Contemporary Microprocessors

  • Overview of different generations of microprocessor, highlights of architectural and technological advancement of IA-32 processors (80386, 80486 and Pentium), 64-bit processors (e.g. Intel Itanium, AMD AMD64), multi-core processors (e.g. Intel Core2Duo, AMD X2).


1. Familiarization with the trainer & programming fundamentals
2. Timer and dot matrix LED display programming