A complete Intel 8086 microprocessor system designed and simulated in Proteus, featuring external RAM/ROM interfacing, Intel 8255 PPI, keypad input, seven-segment display output, and firmware written entirely in Intel 8086 Assembly.
This project implements a complete Intel 8086-based microcomputer using external memory and peripherals. The processor communicates with SRAM, EPROM, and an Intel 8255 Programmable Peripheral Interface through custom address decoding logic. User input is collected from a 3×4 keypad, stored in external RAM, translated using a lookup table in ROM, and displayed on a seven-segment display.
The Intel 8086 serves as the central processing unit, executing the Assembly firmware and controlling communication with memory and peripherals.
The address decoder generates the chip-select signals required for each external device, ensuring that RAM, ROM, and the Intel 8255 respond only within their assigned address ranges.
The SRAM stores every digit entered from the keypad sequentially until the display operation is requested.
The EPROM stores the BCD-to-Seven-Segment lookup table used to convert numeric digits into display patterns.
The Intel 8255 provides communication between the processor, the keypad, and the seven-segment display.
- Port A → Keypad Rows
- Port C → Keypad Columns
- Port B → Seven-Segment Display
Initialize 8086
│
▼
Configure Intel 8255
│
▼
Scan Keypad
│
▼
Store Digits in SRAM
│
▼
'*' Pressed?
│
Yes
▼
Read SRAM
│
▼
Read Lookup Table from EPROM
│
▼
Output Seven-Segment Code
- Intel 8086 Assembly Firmware
- External SRAM Interface
- External EPROM Interface
- Intel 8255 Programmable Peripheral Interface
- Address Decoding Logic
- Memory Mapping
- Matrix Keypad Scanning
- Seven-Segment Display Driver
- BCD-to-Seven-Segment Lookup Table
- Proteus Simulation
- Intel 8086
- Intel 8255 PPI
- Assembly Language
- Proteus Design Suite
- Digital Logic
- Memory Mapping
- Address Decoding
.
├── Assembly/
│ └── main.asm
│
├── ROM/
│ └── lookuptable.bin
│
├── Proteus/
│ └── 8086_System.pdsprj
│
├── images/
│ ├── 8086.png
│ ├── address-decoder.png
│ ├── ram.png
│ ├── rom.png
│ └── io.png
│
└── README.md
- Open the Proteus project.
- Load
lookuptable.bininto the EPROM. - Assemble the firmware.
- Start the simulation.
- Enter digits using the keypad.
- Press
*to display the stored sequence.
Developed for educational purposes as part of a Microprocessor Laboratory course.





