[Uni · Microprocessor Architecture · 2023]
ARM Cortex-M3 programming experiments on the LPC1768 microcontroller board, covering assembly language assignments and embedded C lab exercises.
NXP LPC1768 — ARM Cortex-M3 @ 100 MHz
- 512 kB Flash, 64 kB RAM
- 8-channel 12-bit ADC, 10-bit DAC
- 4 general-purpose timers, motor control PWM
- USB Device/Host/OTG, Ethernet MAC, 4 UARTs, 3 SPI/SSP, 3 I2C
| Folder | Topic |
|---|---|
Assignment_01/ |
Basic ARM assembly — arithmetic, branching, loops (5 exercises) |
Assignment_02/ |
Memory operations and subroutines |
Assignment_03/ |
Stack, interrupts, and system calls |
| Experiment | Description |
|---|---|
turn on led with timer/ |
GPIO LED blink using hardware timer |
turn on led with joystick/ |
Joystick input → LED output |
change led brightness with joystick (without PWM)/ |
Manual PWM via delay loops |
EXINTs with priority/ |
External interrupt configuration with priority levels |
EXT interrupt vs GPIO interrupt/ |
Interrupt type comparison |
interrupt occuration counter/ |
Count interrupt occurrences |
Displaying Scrolling text on LCD/ |
LCD character display with scrolling |
Display a Wave on LCD/ |
Waveform rendering on LCD |
Motor-Controller/ |
DC motor control via H-bridge |
- Keil MDK (uVision) — ARM assembly and embedded C IDE
- CMSIS — Cortex Microcontroller Software Interface Standard
