This course aims to provide students with an understanding of microprocessor and microcontroller architecture, interaction with hardware through Assembly language, and concepts of subroutine, stack, interrupt, timer, and general-purpose input and output (GPIO). Students gain hands-on experience by writing and testing codes using an integrated development environment (IDE) and development kit.
Assembly and Keil µVision IDE
Upon successfully completed this course, students will be able to:
(1) Recognize the components of microprocessors and microcontroller architecture, describing their functioning in ARM microprocessor-based microcontroller,
(2) Explain the organization of ARM Assembly language, analyzing data transfer operations between registers and memory,
(3) Utilize the Assembly language instruction set to implement computational tasks on the microprocessor of the development kit,
(4) Analyze concepts of subroutines, stacks, interrupts, timers, and GPIO in microcontroller programming,
(5) Evaluate the written codes by assessing correctness, effectiveness, functionality, efficiency, and limitations,
(6) Arrange code development environment to write, build, debug, transfer, and collaborate on code solutions.
Yiu, J. (2014). The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors. Newnes.
Valvano, J. (2019). Indroduction to ARM Cortex-M Microcontrollers. Fifth Edition.
Test/Exam (65%), Lab Assignment (35%)
Workload | Hrs |
---|---|
Lectures | 28 |
Course Readings | 28 |
Lab Applications | 28 |
Hands-on Work | 24 |
Exams/Quizzes | 42 |