This repository contains an 8051 assembly stopwatch project built for a microcomputer systems course. The project uses an external interrupt for user input, Timer 0 for timekeeping, and a 1602 LCD module for output.
The stopwatch is implemented in assembly language for the 8051 microcontroller family. It initializes the LCD, displays the current stopwatch value, and updates the time in fixed intervals. A user button connected to INT0 toggles the stopwatch between paused and running states.
From the available source code, the stopwatch logic is based on:
Timer 0in mode 1INT0external interrupt inputPSW.5as the running or paused state flagPSW.1as an interrupt control flag- A
1602 LCDconnected through portsP1andP2
The LCD control and data lines are defined in the assembly source as:
P1.0->LCD_RSP1.1->LCD_RWP1.2->LCD_EP2->LCD_DATA
The program initializes the LCD and starts from 00:00:00. The display is updated digit by digit as the timer advances. The source code indicates that:
- the stopwatch can be paused and resumed with the external interrupt
- timing is accumulated using Timer 0 reload values
- the displayed value is formatted like a digital stopwatch
- the implemented counting range is approximately up to 3 minutes
stable/
project3_stable.asm
project3_stable.adf
project3_stable.bin
project3_stable.hex
project3_stable.lst
unstable/
project3_unstable.asm
project3_unstable.adf
project3_unstable.bin
project3_unstable.hex
project3_unstable.lst
submission/
project3_final.asm
demo_video.mp4
microcomputer-system-project-3.pptx
This folder contains the stable version of the project and its generated output files.
This folder contains an unstable or experimental version of the project and its generated output files.
This folder contains the final submission materials, including:
- the final assembly source
- the project demo video
- the project presentation slides
- The repository keeps both source files and generated build artifacts because they are part of the original course project deliverables.
- Some original source comments appear to have character encoding issues, but the program structure and purpose remain identifiable from the code.