1 x 120-minute lecture-1 weekly
1 x 60-minute lecture-2 weekly
1 x 120-minute practical weekly
Enrolment not permitted
ENGR2721 has been successfully completed
Assumed knowledge
Basic knowledge of Digital Electronics such as obtained in ENGR1201 Electronics
Topic description
Structure of a microprocessor in general and a current microcontroller in particular, instructions set including move, arithmetic/logic, and program flow control, assembly language programming, basic arithmetic operations, working with BCD numbers, stack and its role, subroutines, looping, creating delays, look up tables and code conversion, indirect addressing and indexing, parallel ports, interfacing digital I/O, interfacing LCD, keypad, and 7-segments, timers and counters in microcontrollers, interrupts including priority, interfacing analog I/O using A/D and D/A, sampling, storing and displaying analog signals in a data acquisition system, interfacing external I/O ports and external memory.
Educational aims
The topic introduces students to the principles of using microprocessors in digital systems. It describes the structure and instruction set of a current microcontroller and demonstrates various techniques for programming in assembly language. It also covers general Input/Output and basic interfacing techniques for microprocessors, and handling of analog signals and the use of timers and interrupts for various tasks. In the GE version of the topic, a deeper level of understanding, critical thinking and problem solving will be developed
Expected learning outcomes
At the completion of the topic, students are expected to be able to:

  1. Understand the structure and instruction set of a current microcontroller
  2. Write assembly language programs for microprocessors
  3. Interface general I/O and write control programs for them
  4. Debug their design both in hardware and software and make it work
  5. Use analog input /output and perform sampling and storing, and displaying of analog data
  6. Use timers and counters in microcontrollers for different applications
  7. Understand interrupts and be able to use multiple interrupts with priority in a system
  8. Better understand current research issues in microprocessor technology