Skip to content

mukulsarswat/EMBS

Repository files navigation

EMBS: Embedded Microcontroller Building Blocks 🛠️

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.


📂 Repository Overview

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

🎯 Project Highlights

  • Timer-based delay and waveform generation
  • PWM signal synthesis
  • UART transmission with and without interrupts
  • GPIO toggling and control
  • Interrupt-driven serial routines

📌 Future Additions

Planned modules include:

  • FSM-based appliance controllers
  • Sensor interfacing (IR, temperature)
  • Interrupt-driven timers and counters
  • Educational README cards and waveform annotations

🙌 Contributions

Feel free to fork, star ⭐, and contribute! Whether you're adding new routines, improving documentation, or sharing simulation setups—your input is welcome.

About

Collection of low-level embedded system programs written in 8051 assembly language.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published