You are on page 1of 3

Elevator(Lift) Controlled using 89c51

Microcontroller

This is a simple project on "How to Control Elevator Lift using 89c51 Microcontroller".

User Specifies the Floor on which he wants to move to. Their are total eight floors in our

system. Once the elevator moves to the users desired Floor, It then comes back to the

ground automatically. To select the Floor their are 8 buttons for 8 floors. A 16x2

Character lcd is attached with the system which shows the status of the lift and its

current presence on the floor. User inputs are also displayed on it. An led bar is

connected to the system which depicts the floor through which the elevator is crossing

or is present.

16x2 Lcd is conneced to Port-1 of 89c51 Microcontroller. Floor selection buttons are

connected to Port-0 of 89c51 Microcontroller. Led bar is connected to Port-2 of 89c51

Microcontroller. Lcd Display control Pins are connected to Port-3 Pin#0,1 &

2.Microcontroller is working on 11.0592MHz Crystal. Circuit Diagram of the Project is

show below.
Elevator Control System using 89c51 microcontroller

Coming to the code portion. Their are two main functions

Floor() and DownFloor(). void main() function is checking if any key is pressed by the

user. If any then it calls the Floor() function. Floor() function moves the Lift up wards

and after reaching the desired floor it calls the DownFloor() function which moves the

Lift back to the Ground floor. The status of elevator on reaching and crossing each floor

is displayed on 16x2 lcd also it can also be visualized on the led bar. Led bar moves

upwards when elevator is moving upwards and Led bar moves down wards when
elevator is approaching ground floor.

Description of the Functions present in the Code

Void Floor() Moving the Elevator Upwards

Void DownFloor() Moving the Elevator Downwards

Void delay() Generating a time delay of some microseconds to be used

where necessary

Void Timedelay() Generating a time delay of some seconds to be used where

necessary

Void lcdcmd() Sending Commands to 16x2 lcd

Void display() Sending Data to be displayed on 16x2 lcd

void lcdint() Initializing 16x2 lcd

If you don't know how to use 16x2 lcd. I recommend you to please go through the

tutorials below before moving to the project code.

You might also like