Part of the RAPTOR Lab teaching infrastructure Robotics and Autonomous Platforms for Technology Operations and Research Texas A&M International University
Instructor: Dr. Gerardo Flores
School of Engineering
This repository contains lecture materials, example programs, lab exercises, and supporting resources for the Microprocessor Systems course at Texas A&M International University.
The course introduces the architecture, programming, and hardware interaction of ARM Cortex-M microcontrollers using both Assembly and C language, with applications in embedded systems and robotics.
Students learn how software interacts directly with hardware peripherals such as GPIO, ADC, timers, PWM modules, and interrupts.
By the end of this course, students will be able to:
- Understand microprocessor architecture and instruction sets
- Write Assembly programs for ARM Cortex-M microcontrollers
- Interface microcontrollers with hardware peripherals
- Develop embedded applications using C
- Configure GPIO, ADC, timers, and PWM modules
- Implement interrupt-based systems
- Design complete embedded solutions integrating hardware and software
This course uses:
- ARM Cortex-M microcontrollers
- Assembly language programming
- Embedded C programming
- Wokwi microcontroller simulator
- Keil μVision (optional)
- STM32-based platforms
- Peripheral interfacing (GPIO, ADC, PWM, Timers, Interrupts)
lecture_slides/ → Course lecture presentations examples/ → Example programs labs/ → Laboratory exercises assignments/ → Homework assignments quiz_preparation/ → Quiz review materials projects/ → Final project resources
Main topics covered in this course include:
- Microprocessor vs microcontroller architecture
- Number systems and data representation
- ARM Cortex-M instruction set
- Assembly language programming
- Addressing modes
- Stack operations and subroutines
- Embedded C programming
- GPIO configuration
- Timers and interrupts
- Analog-to-Digital Conversion (ADC)
- PWM signal generation
- Hardware/software integration
Most activities can be completed using:
This allows students to develop and test embedded applications directly from a web browser.
Students will develop programs such as:
- LED blinking using GPIO
- Button-controlled digital systems
- ADC-based sensor reading
- PWM motor control
- Interrupt-driven embedded applications
- Mixed Assembly + C programs
This repository is intended for:
- students enrolled in CSCE 3340 / SENG 3345
- embedded systems learners
- robotics students working with microcontrollers
- anyone interested in ARM Cortex-M programming
Educational use permitted.
Texas A&M International University School of Engineering