Microcontrollers for Non-Electrical Engineering Students - Do We Need to Teach Assembly Language?
Author(s) -
Shouling He,
Yuhong Zhang,
Fangyang Shen
Publication year - 2015
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/p.24488
Subject(s) - assembly language , microcontroller , mechatronics , microprocessor , computer science , embedded system , programming language , software engineering , software , artificial intelligence
Nowadays, most engineering departments offer microcontroller (or microprocessors) related courses due to the broad applications of computers. For Electrical and Computer Engineering (ECE) or Electrical and Computer Engineering Technology (ECET) department, students normally take two or three courses to learn microcontrollers (or microprocessors), such as assembly language programming, embedded system designs, computer interfacing and computer organization. However, for a non-ECE program, such as Mechanical Engineering, Manufacturing Engineering or Mechatronics Engineering program, students most likely only take one Microcontrollers (or Microprocessors) course. Then, teaching non-ECE students from the architecture of a microcontroller to broad applications in both low-level and high-level programming languages can be very challenging. In this paper, we present a unique approach that has been applied in the Microcontrollers course in the past few years. We have limited the content for the exercises in a low-level language, i.e. assembly language, in (1) understanding how the machine code works, (2) comprehending the flow of control for a high-level language in a real-time system, e.g. the time delay is generated by multiple loops, the assembly language is used to demonstrate how it works, (3) the needs for a microcontroller to use hardware architecture, such as stack and interface operations. The course schedule is in assembly language programming for about 30% of time and 70% of time is in embedded C programming. The course has been taught this way for Mechatronics Engineering students for three years. The result is very positive and encouraging. The future improvement can consist of (1) making a list for the required knowledge for the course, so that students can prepare themselves before they come to the class; (2) developing different levels of problems so that students can practice based on their levels.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom