This repository contains all lab assignments for ECE319K using the MSPM0G3507 LaunchPad development kit. The projects involve:
- Learning Cortex-M0+ programming
- Interfacing LEDs, switches, ADC, DAC, and UART
- Implementing FSMs (Traffic Light, Game logic)
- Real-time position monitoring
- Creating a digital piano and a game design project (arcade basketball)
- Writing code in Assembly and C
- Debugging using
Debug_Dumpand UART output
All labs use Code Composer Studio (CCS).
- Basic assembly programming
- Hands-on with LaunchPad initialization
- Individual work
- Connect switches and LEDs
- Read switch inputs and control LEDs
- Individual work
- Learn basic C programming
- Debugging with
Debug_Dumpand UART - Individual work
- Implement traffic light finite state machine
- Outputs to LEDs
- Inputs from switches
- Group work (2 students)
- Implement 5-bit DAC to generate sound
- Control notes via switches
- Group work (2 students)
- Write fixed-point decimal output to LCD
- Implement device driver
- Group work (2 students)
- Use ADC to read analog input
- Display position on LCD
- Use interrupts for real-time updates
- Group work (2 students)
- Use serial port interrupts
- Implement FIFO queue
- Real-time communication between two microcontrollers
- Group work (2 students)
- Implement a 2-player basketball arcade game
- Use ST7735 LCD, switches, LEDs, and sound
- Multiple languages: English and Indonesian
- Game engine runs at 30 Hz
- Group work (2 students)
- MSPM0G3507 LaunchPad
- Breadboards, LEDs, resistors
- 5-bit binary weighted DAC
- Switches and push-buttons
- Optional: two microcontrollers for real-time monitoring
- Code Composer Studio (CCS)
- MSPM0G3507 support libraries
LaunchPad.hClock.hUART.hTimer.hDump.hST7735.hADC1.hDAC5.h
- Standard C libraries:
stdio.h,stdint.h,string.h
- Traffic light finite state machine
- LED and switch interfacing
- Digital piano using DAC
- LCD device driver with fixed-point output
- Real-time position monitor (single and distributed)
- Arcade basketball game with:
- Player score tracking
- Multiple language support (English and Indonesian)
- Ball and hoop sprite animation
- Sound effects using DAC
- Timer-based game engine
- Multi-player input handling
- Install Code Composer Studio (CCS).
- Connect MSPM0G3507 LaunchPad via USB.
- Open the project in CCS.
- Compile and flash the code to the LaunchPad.
- Use switches, LEDs, and LCD as per lab instructions.
- Student 1: Delaney Acosta
- Student 2: Niranjan Telkikar
- All assembly and C programs are fully commented for clarity.
- Lab 3 debugging routines should be used with
Debug_Dump()for output verification. - Real-time tasks are implemented using Timer interrupts.
- For ADC input, clock speed may need to be adjusted to 40 MHz if 80 MHz is unstable.