GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - negarhonarvar/Microprocessor-Laboratory: Solutions for a series of microprocessor labs using the 8086/8088 processor, STM32 microcontroller, and ARM Cortex-M4 architecture

BranchesTags
Open more actions menu

Latest commit

 

History

11 Commits
11 Commits

Folders and files

NameName
Last commit message
Last commit date
LAB1
LAB1
 
 
LAB2
LAB2
 
 
LAB3
LAB3
 
 
LAB4
LAB4
 
 
LAB5
LAB5
 
 
LAB6
LAB6
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

Microprocessor Lab Series

This Repository contains solutions for a series of microprocessor labs using the 8086/8088 processor, STM32 microcontroller, and ARM Cortex-M4 architecture. The goal of these labs is to provide hands-on experience with assembly language programming, memory management, interfacing with external devices, and using simulators for debugging.

Table of Contents

Lab 1 Assembly program design for 8086/8088: Writing, debugging, and executing an assembly program to calculate the difference between the squares of two numbers, implementing insertion sort, and handling system interrupts.
Lab 2 - A Introduction to 8086/8088 memory management: Understanding 8-bit and 16-bit memory operations, assembly programming to read from and write to specific memory addresses, and familiarizing with the 74138 decoder.
Lab 2 - B Designing an 8086-based system to interface with I/O devices using assembly language. The system captures user input, processes it, and displays results on the output device using the 8255 chip.
Lab 3 - A Working with the 8253 Timer in 8086: Implementing a system that controls LEDs with start/stop buttons and setting timers using the 8253 Timer chip.
Lab 3 - B Using the 8259 Interrupt Controller: Developing an 8086-based system that handles external interrupts to control the speed of LED blinking using buttons.
Lab 4 - A Introduction to ARM Cortex-M4 programming: Using Keil MDK to write and debug assembly programs on ARM, focusing on the architecture and system registers.
Lab 4 - B GPIO programming on STM32F401: Configuring GPIO pins for input/output, connecting to 7-segment displays, and writing a C program to control the display of values on the 7-segment display.
Lab 5 - A LCD Interfacing with STM32F401: Connecting an alphanumeric LCD display to the STM32 board and programming it to display messages and monitor pulse frequency.
Lab 5 - B External interrupts and GPIO on STM32: Configuring external interrupts on GPIO pins and writing a program that reacts to button presses by toggling LED states and adjusting PWM signals.
Lab 6 - A Implementing timers on STM32: Writing a program that uses a timer to display elapsed time on an LCD and resets the time on button press. GPIO interrupt handling is also demonstrated.
Lab 6 - B Using the STM32 Timer and GPIO interrupts: A program that adjusts PWM duty cycles based on button inputs, showing the effect on connected LEDs.

Objective of Each Lab

  • Lab 1: Focuses on basic assembly programming for the 8086 processor, introducing concepts such as register operations, addressing modes, and system interrupts.
  • Lab 2: Delves into memory management and interfacing I/O devices with 8086, including the use of decoders and the 8255 programmable peripheral interface.
  • Lab 3: Explores the use of hardware timers (8253) and interrupt controllers (8259) with 8086, focusing on controlling external devices like LEDs.
  • Lab 4: Introduces the ARM Cortex-M4 architecture, working with assembly programming and GPIO interfacing on the STM32F401.
  • Lab 5: Covers interfacing an LCD with the STM32 microcontroller, alongside generating and controlling PWM signals.
  • Lab 6: Demonstrates the use of timers and external interrupts on STM32, combining them with LCD displays and PWM control for real-time applications.

Each lab builds on core concepts of microprocessor and microcontroller programming, preparing students for real-world embedded systems development.

About

Solutions for a series of microprocessor labs using the 8086/8088 processor, STM32 microcontroller, and ARM Cortex-M4 architecture

Topics

8086-architecture8088-architecturearm-cortex-m4stm32

Resources

Readme
MPL-2.0 license
Activity

Stars

3 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.