1 x 120-minute lecture-2 weekly
1 x 60-minute lecture-1 weekly
1 x 120-minute practical weekly
1 of ENGR1201, ENGR1205
Enrolment not permitted
ENGR8731 has been successfully completed
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.
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 designs 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