A curated collection of low-level embedded system programs written in 8051 assembly language. This repository showcases modular implementations of timers, interrupts, PWM, UART, and GPIO control—ideal for learners, educators, and recruiters seeking hands-on microcontroller experience.
Each .a51 file is a standalone assembly program targeting the 8051 microcontroller. Projects are organized by functionality and simulation clarity.
| Filename | Description |
|---|---|
LED BLINKING.a51 |
Basic LED blinking using delay loops |
LED BLINKING 1.a51 |
Variant with different timing logic |
Toggle_P1.0.a51 |
Toggles pin P1.0 with delay |
Square_wave_generate.a51 |
Generates square wave using timer toggling |
PWM_Generation.a51 |
Pulse Width Modulation using timers |
Max_Delay_with_Timer0_Mode1.A51 |
Maximum delay using Timer0 in Mode 1 |
10ms_20ms_Pulse_Using_Both_Timers.A51 |
Dual-timer pulse generation |
A-SEND.a51 |
Transmits character 'A' via UART |
ENDSEMQUE.a51 |
Serial message transmission routine |
Serial_Communication_using_Interrupts_(UART_RX_TX).a51 |
UART communication with interrupt handling |
counter.a51 |
Simple counter implementation |
- ✅ Timer-based delay and waveform generation
- ✅ PWM signal synthesis
- ✅ UART transmission with and without interrupts
- ✅ GPIO toggling and control
- ✅ Interrupt-driven serial routines
Planned modules include:
- FSM-based appliance controllers
- Sensor interfacing (IR, temperature)
- Interrupt-driven timers and counters
- Educational README cards and waveform annotations
Feel free to fork, star ⭐, and contribute! Whether you're adding new routines, improving documentation, or sharing simulation setups—your input is welcome.