Skip to content

Shhb-Coder-1999/Microprocessor-and-Assembly-language

Repository files navigation

Microprocessor & Assembly Language

[Uni · Microprocessor Architecture · 2023]

ARM Cortex-M3 programming experiments on the LPC1768 microcontroller board, covering assembly language assignments and embedded C lab exercises.

Hardware

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

Contents

Assignments (ARM Assembly)

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

Lab Experiments (Embedded C)

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

Tools

  • Keil MDK (uVision) — ARM assembly and embedded C IDE
  • CMSIS — Cortex Microcontroller Software Interface Standard

About

Uni Microprocessor 2023 - ARM Cortex-M3 programs: timers, interrupts, I/O

Topics

Resources

Stars

17 stars

Watchers

2 watching

Forks

Contributors