Skip to main content
CPE
364
Introduction to Embedded Systems Laboratory
This lab component provides sufficient detailed knowledge and hands-on experience of a microcontroller so that students can breadboard and program a microcontroller and demonstrate its function in a real-time application. It is accomplished by a sequence of assigned labs, followed by a final project of the student\'s choice, emphasizing creativity and uniqueness.
Corequisites:
0612363
0612364
(0-3-1)

Credits and Contact Hours

1 credit, 30 hours

Course Coordinator's Name Dr. Abbas Fairouz

Textbook

Laboratory notes and manual for STM32 ARM CORTEX-M microcontroller kit

Catalog Description

This lab component provides sufficient detailed knowledge and hands-on experience of a microcontroller so that students can program a microcontroller and demonstrate its function in a real-time application. It is accomplished by a sequence of assigned labs, followed by a final project of the student\'s choice, emphasizing creativity and uniqueness.

Co-requisite

CpE-363

Specific Goals for the Course

Upon completion of this course, students will be able to:

  • Become familiar with the lab equipment, STM32 ARM CORTEX-M microcontroller kit, and software development tools. (Student outcomes: 2)
  • Conduct experiment by writing, debugging and tracing programs in ARM assembly language. (Student outcomes: 6)
  • Conduct experiment by writing an interrupt service routine in assembly language. (Student outcomes: 2, 6)
  • Conduct experiments by interfacing a microcontroller with various I/O devices (keypad, LCD). (Student outcomes: 6)
  • Conduct experiments using UART/Bluetooth communication channels. (Student outcomes: 6)
  • Conduct experiment by programming and configuring the timers interrupts on ARM microcontroller kit. (Student outcomes: 2, 6)
  • Behave professionally and ethically in a laboratory environment.
  • Build a mini-project using the microcontroller with other devices and document their work in a technical report. (Student outcomes: 2, 3)

Topics to Be Covered

  • C Programming for Embedded Systems
  • ARM Assembly Programming (Part 1)
  • ARM Assembly Programming (Part 2)
  • Programming by using input/output ports (GPIO)
  • Interfacing the keypad and LCD with the microcontroller
  • Building interrupts subroutines
  • Serial communications (UART, Bluetooth)
  • General purpose timer programming
  • Applications on embedded systems