This document describes a project to control the speed and direction of a bi-directional motor using an 8051 microcontroller. An H-bridge circuit is used to allow the motor to rotate clockwise and counter-clockwise. Three logic toggles are used to set the motor speed at 100%, 50%, and 10% duty cycles. A fourth logic toggle inverts the motor direction. The microcontroller interfaces with an LCD to display the motor speed, duty cycle, and direction of rotation. When the program runs, it first displays a welcome message on the LCD before clearing it and showing the motor status.