Skip to content

Experiment Navigator ​

Welcome to the Experiment Navigator! This document serves as a guide to the various experiments and resources available for ARM assembly language programming and embedded systems development using the TM4C123G LaunchPad.

ARM Cortex-M4 Assembly Language Basics ​

ExperimentDescription
Experiment 1: ARM Cortex-M4 Assembly FundamentalsLearn ARM Cortex-M4 architecture, registers, memory mapping, instruction formats, and assembly programming fundamentals.
Experiment 2: ARM Cortex-M4 Instructions and Addressing ModesMaster data-processing instructions (arithmetic, logical, barrel shifter), load/store operations, memory addressing modes, and assembler directives for data declaration.
Experiment 3: ARM Cortex-M4 Flow Control, Procedures, and StackImplement branching, conditional execution, loop structures (for/while), procedure calls with AAPCS, stack operations (PUSH/POP), and nested procedures.

EK-TM4C123GXL Microcontroller ​

Make sure to have the TM4C123G LaunchPad connected to your computer and the Keil uVision5 IDE is configured and set up for development. To set up the IDE, follow the instructions in the Setup Guide.

ExperimentDescription
Experiment 4: TM4C123 Architecture and Digital OutputsExplore TM4C123 architecture, core peripherals (NVIC, SysTick), memory map, and GPIO configuration for controlling on-board LEDs.
Experiment 5: GPIO Input and InterruptsConfigure GPIO pins as inputs, implement edge-triggered interrupts, handle button debouncing, and manage interrupt priorities using NVIC.
Experiment 6: SysTick and General-Purpose Timers (GPTM)Configure SysTick for periodic interrupts and delays, program GPTM modules in one-shot and periodic modes, and implement accurate timing for embedded applications.
Experiment 7: Liquid Crystal Display (LCD)Interface with character LCD modules using GPIO, implement initialization sequences, and display text and custom characters.
Experiment 8: Analog-to-Digital Conversion (ADC)Configure 12-bit ADC channels, perform single and continuous sampling, read analog sensors, and implement software averaging.
Experiment 9: UART Serial CommunicationConfigure UART for serial communication, implement transmit and receive functions, handle interrupts, and interface with PC terminal applications.

Additional Resources ​