You are on page 1of 65

ELEVATOR SIMULATOR

Model No : (VBMB - 22)

Application Manual
Version 1.0

Technical Clarification /Suggestion :


/
Technical Support Division,
Vi Microsystems Pvt. Ltd.,
Plot No :75, Electronics Estate,
Perungudi, Chennai - 600 096, INDIA.
Ph: 91- 44-2496 1842, 91-44-2496 1852
Mail : sales@vimicrosystems.com,
Web : www.vimicrosystem.com

CONTENTS

CHAPTER
CHAPTER 1:
1:1
1:2

Introduction ............................................................................... 1
Hardware specification and description ................................... 1

CHAPTER 2.
2:1
2:2
2:3

Circuit Implementation .............................................................. 2


Interrupt Driven Request Service .............................................. 5
Assignments and Operating Sequence ...................................... 6

CHAPTER 3. Examples and Exercises.


3.1
3.2
3.3
3.4
3.5
3.6

Example 1 - To move lift 1 to 4th floor


from ground floor ...................................................................... 9
Example 2 - To find the nearest lift for a
request from any floor ............................................................... 12
Example 3 - To service a request from any
floor to go to ground floor or 7th floor ....................................... 16
Example 4 - Interrupt Based Request
Service ...................................................................................... 23
Program in 8086 Assembly Language........................................ 30
Program in 8051 Assembly Language....................................... 41
LIST OF APPENDICES

APPENDIX-A

CIRCUIT DIAGRAM ...................................................58

APPENDIX-B

COMPONENT LAYOUT ............................................. 59

ELEVATOR SIMULATOR

VBMB - 022

CHAPTER 1
1.1 INTRODUCTION:
Microprocessor plays major role in modern control systems application. Elevator Control is one
such common application in practise. In practical Cases Motors and pnematic controllers are
operated and controlled by Programmable Logic Controllers. VBMB-022 simulates the methods
of implementing a Microprocessor Based elevator control in real world.
To simulates the Elevator Control we have Two columns of 8 LEDS each for indicating eight
different floors. The status of the elevator (whether it is open or closed) is indicated by a separate
LED for each Lift. To give request from 8 different floors, a separate preset thumb wheel switch
and an enter switch is provided. Also a Buzzer is provided to give, audible indication of request
pending, request serviced and so on.

1.2 HARDWARE SPECIFICATIONS OF VBMB-022:


*
*
*
*
*
*
*

8 floors and 2 lifts are assumed.


Each Lift is represented by a column of 8 LEDs.
Preset Thumbwheel switch is provided for the user to select the floor number.
One momentary switch provided for the user to confirm their request input.
Buzzer and LEDs are provided for Audible and Visual Error/status indication.
Provision for interrupt driven request service.
Two momentary switches provided for UP and DOWN movement request.

Vi Microsystems Pvt Ltd.,

[1]

ELEVATOR SIMULATOR

VBMB - 022
CHAPTER 2

2.1 CIRCUIT IMPLEMENTATION


The entire circuit can be subdivided into 4 different sections, for analysis.
1) Lift status/Error output Register.
2) Request Input Register.
3) I/O decoding.
4) Lift 1 and Lift 2 control registers.
i) LIFT STATUS /ERROR OUTPUT REGISTER
A latch 74LS273 (U6) is provided for status indication. Its I/O address is CCH, A
Buzzer and two LEDs are driven by the output of this latch. We can use these outputs for either
indicating the status of the lift door or for indicating the error conditions if any.
For example, a request from the user, say from 7th floor, requesting the service of the lift
to go to the same floor, can be prompted as an error by sounding the buzzer or by blinking the
LED through software. The status of the lift can also be indicated in this way. If the LED glows
it indicates that the lift door is open and if it does not glow, it indicates that the lift door is closed.
For example, assume that there is a request from 4th floor, requesting the service of the
lift to go to 7th floor. The lift is in Ground Floor. After sensing that there is a request from the 4th
floor, the lift door should be closed and the lift has to be moved to 4th floor. Then the lift door
should be opened to enable the user to enter into the lift. Now, after getting the input from the
user the lift door must be closed and then only the lift has be moved to the required floor (i.e. 7th
floor). A LED can be made to glow whenever the lift door is open. The same can be made OFF
whenever the lift door is closed. Through software, the various intermediate stages can also be
indicated. This is the functional description of the lift status/error output register.
ii) REQUEST INPUT REGISTER:
An octal buffer 74LS244 (U3) is employed to input the request. This register is mapped to the
I/O address C8H. A preset thumbwheel switch and three momentary (NC-NO) switches are
connected to the input of this buffer and the output is connected to the data bus. The three
momentary switches can be configured in any combination.
In real time application, each floor will be provided with separate input switches, for getting the
destination floor number from the user. In VBMB-022 since eight floors are assumed, separates
input switches for every floor is needed.
A preset thumbwheel switch for getting the floor number information from the user avoids the
problem of having different switches for individual floors. The thumbwheel switch has a knurled
wheel and letters 0 to 9 are marked in the front and the top panel. By turning the wheel, any
number from 0 to 9 can be selected. The following figure shows the appearance of the

Vi Microsystems Pvt Ltd.,

[2]

ELEVATOR SIMULATOR

VBMB - 022

thumbwheel switch. A confirmation switch or ENTER key is introduced to confirm the validity
of the number in the thumb wheel switch.

In VBMB-022 two common input switches are provided to give UP or DOWN input because
it would be a simple replica of the same circuit for all the floors.
By polling the request input register,the above mentioned user inputs can be obtained and
processed and the output is indicated through the lift control and status registers.
iii) I/O DECODING:
A 3 to 8 decoder 74LS138 (U2) and Quad NAND gate 74LS00 (U1) are employed in
VBMB-022 for selecting the various registers namely lift control, lift status and request input
registers.
Address lines A2,A3 and A4 are given to the A,B,C inputs of the decoder respectively. Then
IOR* (I/O Read and Write) and IOW* control signals from the CPU are Nanded and the Nand
gates output is given to the active high enable input and A5 is given to one of the active low
enable input while address lines A7 and A6 are nanded and the Nand gates the decoder. (Refer
Appendix for circuit diagram)
Thus lift1 control register is selected,
A7

A6

A5
0

A4
0

A3
0

A2
0

A1
X

A0
X

With I/O address COH.


The lift2 control register is selected for I/O address C4H.

Vi Microsystems Pvt Ltd.,

[3]

ELEVATOR SIMULATOR
A7

A6

VBMB - 022

A5
0

A4
0

A3
0

A2
1

A2
X

A1
X

The Request input register is selected for I/O address C8H

A7

A6

A5
0

A4
0

A3
1

A2
0

A2
X

A1
X

The Status/Error output register is selected for I/O address CCH.


A7

A6

A5
0

A4
0

A3
1

A2
1

A2
X

A1
X

iv) LIFT 1 AND LIFT 2 CONTROL REGISTERS:


The configuration of Lift 1 and Lift 2 control register is shown below. It is configured using
74LS273 Latch (U4) for Lift 1 and another 74LS273 (U5) for Lift2. In the control register
Databus D0 corresponds to 7th floor and D7 corresponds to Ground floor.
74LS273 is an octal D latch and LEDs are connected to the output of all the D latches. Each
LED glows when the corresponding data bit is high. By sending sequential data to the D latch
we can simulate the movement of a lift from ground floor to 7th floor or vice versa. The I/O
address for both the control register can be had from section 2.2 of this manual.

Vi Microsystems Pvt Ltd.,

[4]

ELEVATOR SIMULATOR

VBMB - 022

2.2 INTERRUPT DRIVEN REQUEST SERVICE:


In VBMB-022, there are two ways of getting the request input.
i) Polled mode.
ii) Interrupt mode.
In polled mode, the request input register is polled continuously for a valid request. Valid
request present condition is sensed by monitoring the status of the confirmation switch or Enter
key. If a pulse is detected at the confirmation switch, then the thumbwheel switch setting can be
read and considered as valid. Further processing can be done there after.
The confirmation switch or Enter key can be connected to any of the following interrupt lines
of 8085 namely RST 5.5, RST 6.5 and RST 7.5. Since RST 7.5 & RST 6.5 are used by the
monitor, the buser can use the RST 5.5 line for interrupting the CPU. It is selectable by the
jumper J1. In interrupt mode, the used need not pole the request register.
Thus whenever the confirmation switch is pressed, the CPU is interrupted, and the CPU
knows that there is a valid input in the thumbwheel switch and it is read through the request
input register.
The jumper detail is given below. Refer component layout for locating the jumper.

NOTE: Place the shunt in position A for connecting RST 5.5 to the switch .
This option available for only VBMB -022 /Rev.1.

Vi Microsystems Pvt Ltd.,

[5]

ELEVATOR SIMULATOR

VBMB - 022

2.3 ASSIGNMENTS AND OPERATING SEQUENCE:


In this elevator simulator, we have assumed 2 lifts servicing a 7 storey building. ie. Ground floor
and seven other floors.
I/O address 0C0H is being assigned for control register 1, which controls the movement of the
lift 1. Also we read that Databus D7' corresponds to Ground floor and D0 corresponds to 7th
floor.If a data is sent to the port address,then LEDs corresponding to the data bits which are high
will glow, indicating the Lift Position.
The following table gives the Data to be written to the port address of Lift 1 and corresponding,
to simulate the position of the Lift in different floors.

Data
80
40
20
10
08
04
02
01

Lift Position
Ground Floor
1st Floor
2nd Floor
3rd Floor
4th Floor
5th Floor
6th Floor
7th floor

Hence, sending data 80' to port address 0C0H makes the Ground Floor LED of Lift1 to glow.
After a delay if we output a data of 40' to the same port, makes the Floor 1 LED of the Lift 1 to
glow, indicating a movement of Lift 1 from ground floor to First floor. Similarly sending the
following sequence to port address 0C0H, simulates the movement of Lift 1 from ground floor
to 7th floor.
80h,40h,20h,10h,08,04,02,01
Similarly Lift2 is configured to the port address 0C8H .The same procedure can be followed to
simulate the movement of Lift 2 also.

Vi Microsystems Pvt Ltd.,

[6]

ELEVATOR SIMULATOR

VBMB - 022

The following flow chart gives the details of request acknowledging and servicing method
clearly.

Vi Microsystems Pvt Ltd.,

[7]

ELEVATOR SIMULATOR

VBMB - 022

The procedure for simulating the Elevator Control is as follows.


a)

The user has to give the floor number from where he is requesting by turning the
wheel of the thumbwheel switch until the required number appears in the front
panel of the switch.

b)

Then press the Enter key to indicate that the thumbwheel switch has a valid
input.

c)

The input will be acknowledge by the nearest Lift changing its position to the
requested floor. This is indicated by glowing the corresponding LED along with
a beep.

d)

After getting the acknowledge, give the destination floor number through the
thumbwheel switch followed by the confirmation through the ENTER key.

e)

If the request is a valid one, then it will be serviced which is indicated by the
movement of the lift from the current floor to the Required floor.

f)

If the request is invalid, three beeps will be produced and then lift door will be
kept opened.

Vi Microsystems Pvt Ltd.,

[8]

ELEVATOR SIMULATOR

VBMB - 022
CHAPTER 3

SOFTWARE EXAMPLES
3.1

EXAMPLE-1:

AIM:
To show LIft1 to 4th floor from ground floor and give a beep.
DISCUSSION:
Assume and initialize Lift1 in ground floor and Lift2 in 7th floor.
Keep the doors of both the Lifts in open condition.

To move Lift1 from ground floor to 4th floor, output the following sequence, with some
delay.
80,40,20,10,08

After going to 4th floor the door of the Lift1 should be opened. This is done by outputting
data, 03" to port address CCH.

To generate a beep sound, output data OBH to port address CCH and after a delay
output data,03".

PROCEDURE:
i)

Connect VBMB-022 board to any of our microprocessor trainer.

ii)

Enter the following program starting from user RAM address 4100H, (for Micro85 kit, the starting of user RAM is address from 2000H and the following
program is to be modified).

iii)

After checking the program, execute the same.

iv)

We can see the movement of the Lift1 from ground floor to 4th floor.

Vi Microsystems Pvt Ltd.,

[9]

ELEVATOR SIMULATOR

VBMB - 022

PROGRAM:

4100

4100

C0 00
C4 00
C8 00
CC 00
3E 03

4102
4104
4107
4109
410B
410D
410F
4111
4113
4116
4118
411A
411D
411F
4121
4124
4126
4128
412B
412D
412F
4131
4133
4136
4138
413A
413B

D3 CC
CD 3B 41
3E 02
D3 CC
3E 80
D3 C0
3E 01
D3 C4
CD 3B 41
3E 40
D3 CO
CD 3B 41
3E 20
D3 C0
CD 3B 41
3E 10
D3 C0
CD 3B 41
3E 08
D3 C0
3E 0B
D3 CC
CD 3B 41
3E 03
D3 CC
76
0E 02
DELAY:

413D 11 FE F9
4140 1B
4141 7A

LIFT1
LIFT2
STAT _IN
STAT_OU
START :

LOOP1:
LOOP2:

Vi Microsystems Pvt Ltd.,

;EXAMPLE-1
;SOFTWARE EXAMPLE TO MOVE
;LIFT1 TO 4TH FLOOR FROM
;GROUND FLOOR & OPEN THE DOOR
ORG
4100H
EQU
0C0H
EQU
0C4H
EQU
0C8H
EQU
0CCH
MVI
A,03
;DEFAULT OPEN
DOORS
OUT
STA_OU
;OF LIFT1 & LIFT2
CALL
DELAY
MVI
A,02
;CLOSE DOOR OF LIFT1
OUT
STA_OU
MVI
A,80H
;INDICATES LIFT1 IS
OUT
LIFT1
;IN GROUND FLOOR
MVI
A,01
; INDICATES LIFT2 IS
OUT
LIFT2
;IN 7TH FLOOR
CALL
DELAY
MVI
A,40H
OUT
LIFT1
CALL
DELAY
MVI
A,20H
OUT
LIFT1
CALL
DELAY
MOV
A,10H
OUT
LIFT1
CALL
DELAY
MVI
A,08H
OUT
LIFT1
MVI
A,0BH
;BEEP FOR DOOR OPEN
OUT
STAT_OU
CALL
DELAY
MVI
A,03
;OPEN DOORS
OUT
STAT_OU
HLT
MVI
C,02H
;DELAY FOR 1
SECOND
LXI
D,F9FEH
DCX
D
MOV
A,D
[ 10 ]

ELEVATOR SIMULATOR
4142 B3
4143 C2 40 41
4146 0D
4147 C2 3D 41
414A C9
414B

VBMB - 022
ORA
JNZ
DCR
JNZ
RET
END

E
LOOP2
C
LOOP1

EXERCISE:
Write a program to move the Lift2 to 4th floor from 7th floor.

Vi Microsystems Pvt Ltd.,

[ 11 ]

ELEVATOR SIMULATOR
3.2

VBMB - 022

EXAMPLE-2:

AIM:
To find the nearest lift for a request from any floor and service the request
DISCUSSION:
As per the previous discussion the lifts are to be initialised..
The request will be given by the user by setting the thumbwheel switch and will be
confirmed by pressing the ENTER key.
This will be sensed by the program by polling the port address C8H.
By an algorithm find the nearest Lift to the requested floor.
Now move the Lift to the requested floor and give a beep, by standard procedures, already
explained.
Give 3 beeps in case of an error condition.
PROCEDURE:
i)

As per the previous example connect the card to the trainer.

ii)

Enter the program starting from user RAM address 4100H and execute the same.

iii)

Now, set the required floor number in the thumbwheel switch and press the
ENTER key for confirmation.

iv)

See that the nearest lift will move to the requested floor, and the Lift door will be
opened with a beep.

PROGRAM:

C0
C4
C8
CC

00
00
00
00

LIFT1
LIFT2
STAT_IN
STAT_OU

4100

Vi Microsystems Pvt Ltd.,

;EXAMPLE-2
;SOFTWARE EXAMPLE TO FIND
;THE NEAREST LIFT FOR A
;REQUEST FROM ANY FLOOR
EQU
0C0H
EQU
0C4H
EQU
0C8H
EQU
0CCH
ORG
4100H
[ 12 ]

ELEVATOR SIMULATOR
4100
4102
4104
4106
4108
410A
410C
410F
4111
4113

3E 03
D3 CC
3E 80
D3 C0
3E 01
D3 C4
CD E1 41
DB C8
E6 F0
FE E0

4115
4118
411A
411C

C2 0F 41
DB C8
E6 0F
FE 0F

JNZ
IN
ANI
CPI

411E CA B7 41
4121 FE 08
4123 DA B7 41

JZ
CPI
JC

4126 CA B7 41
4129 47
412A FE 0C

JZ
MOV
CPI

412C DA 73 41
412F 3E 02
4131
4133
4134
4136
4139
413B
413D
4140
4142
4145
4147
4149
414C
414E
4150
4153
4155
4157

D3 CC
78
FE 0E
C2 40
3E 40
D3 C0
C3 65
FE 0D
C2 53
3E 40
D3 C0
CD E1
3E 20
D3 C0
C3 65
3E 40
D3 C0
CD E1

START :

VBMB - 022

CHECK:

FLR_A:

41

41
FLR_B:
41

41

41
FLR_C:
41

Vi Microsystems Pvt Ltd.,

MVI
OUT
MVI
OUT
MVI
OUT
CALL
IN
ANI
CPI

JC
MVI
OUT
MOV
CPI
JNZ
MVI
OUT
JMP
CPI
JNZ
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL

A,03 ;DEFAULT DOORS IS IN


STAT_OU
;OPEN CONDITION
A,80H
;ASSUME LIFT1 IS IN
LIFT1
;GROUND FLOOR
A,01H
;LIFT2 IS IN 7TH
LIFT2
;FLOOR
DELAY
STAT_IN
F0H
E0H
;CHECK FOR ENTER
KEY.
CHECK
STAT_IN
0FH
0FH
;CHECK IF IS GROUND
FLOOR
ERROR
08H
ERROR
;CHECK IF 8TH OR 9TH
;FLOOR
ERROR
;CHECK IF 7TH FLOOR
B,A
0CH
;FIND THE NEAREST
LIFT
LIFTB
A,02
; C LO S E
DOOR O F
LIFT1
STAT_OU
A,B
0EH
FLR_B
A,40H
;1ST FLOOR
LIFT1
STAT
ODH
FLR_C
A,40H
LIFT1
DELAY
A,20H
;2ND FLOOR
LIFT1
STAT
A,40H
LIFT1
DELAY
[ 13 ]

ELEVATOR SIMULATOR
20
C0
E1 41
10
C0
0B

VBMB - 022

415A
415C
415E
4161
4163
4165

3E
D3
CD
3E
D3
3E

4167

D3 CC

OUT

4169
416C
416E
4173
4175
4177
4178
417A
417D
417F
4181
4184
4186
4189
418B
418D
4190
4192
4194
4197
4199
419B
419E
41A0
41A2
41A5
41A7
41A9
41AB
41AD
41B0
41B2
41B4
41B7
41B9
41BB

CD E1 41
3E 03
D3 CC
3E 01
D3 CC
78
FE 09
C2 84 41
3E 02
D3 C4
C3 A9 41
FE 0A
C2 97 41
3E 02
D3 C4
CD E1 41
3E 04
D3 C4
C3 A9 41
3E 02
D3 C4
CD E1 41
3E 04
D3 C4
CD E1 41
3E 08
D3 C4
3E 0B
D3 CC
CD E1 41
3E 03
D3 CC
C3 F1 41
3E 0B
D3 CC
CD E1 41

CALL
MVI
OUT
MVI
OUT
MOV
CPI
JNZ
MVI
OUT
JMP
CPI
JNZ
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL

STAT:

LIFTB:

FLR_E

FLR_D

START1:

ERROR:

Vi Microsystems Pvt Ltd.,

MVI
OUT
CALL
MVI
KYOUT
MVI

A,20H
LIFT1
DELAY
A,10H
;3RD FLOOR
LIFT1
A,0BH
;TO OPEN THE DOOR
;OF LIFT1
STA_OU
;& GIVE BEEP FOR 1
SEC
DELAY
A,03
STAT_OU
A,01
;CLOSE DOOR OF LIFT2
STAT_OU
A,B
09H
FLR_E
A,02
;FLOOR 6 OF LIFT2
LIFT2
STAT1
0AH
FLR_D
A,02
;FLOOR 6 OF LIFT2
LIFT2
DELAY
A,O4
;FLOOR 5 0F LIFT2
LIFT2
STAT1
A,02
LIFT2
DELAY
A,04
LIFT2
DELAY
A,08H
;FLOOR 4 OF LIFT2
LIFT2
A,0BH
;OPEN DOOR OF LIFT2
STAT_OU ;& GIVE BEEP SOUND
DELAY
A,03
STAT_OU
STOP
A,0BH
;GIVE THREE BEEP
STAT_OU
;SOUND INDICATES
DELAY
;ERROR CONDITION
[ 14 ]

ELEVATOR SIMULATOR
41BE
41C0
41C2
41C5
41C7
41C9
41CC
41CE
41D0
41D3
41D5
41D7
41DA
41DC
41DE
41E1
41E3
41E6
41E7
41E8
41E9
41EC
41ED
41F0
41F1
41F2

3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
C3
0E
11
1B
7A
B3
C2
0D
C2
C9
76

03
CC
E1 41
0B
CC
E1 41
03
CC
E1 41
0B
CC
E1 41
03
CC
F1 41
02
FE F9

DELAY:
LOOP1:
LOOP2

E6 41
E3 41
STOP:

VBMB - 022
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
JMP
MVI
LXI
DCX

A,03
STAT_OU
DELAY
A,OBH
STAT_OU
DELAY
A,03
STAT_OU
DELAY
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
STOP
C,02
;DELAY FOR 1SEC
D,F9FEH
D
MOV A,D
ORA
E
JNZ
LOOP2
DCR
C
JNZ
LOOP1
RET
HLT
END

EXERCISE:
Write a program to find the nearest lift for a request from any floor and go to ground floor.

Vi Microsystems Pvt Ltd.,

[ 15 ]

ELEVATOR SIMULATOR
3.3

VBMB - 022

EXAMPLE-3

AIM:
To service a request from any floor to go to ground floor or 7th floor.
DISCUSSION:
As per the previous discussion the lifts are to be initialized.
The request will be given by the user by setting the thumbwheel switch and will be
confirmed by pressing the ENTER key.
This will be sensed by the program by polling the port address C8H.
By an algorithm find the nearest Lift to the requested floor.
Now move the Lift to the requested floor and give a beep, by standard procedures,
already explained.
Now polling the address C8H for an input from UP or DOWN key.
Now move the lift to 7th floor by standard procedure if UP key is pressed and to ground
floor if DOWN key is pressed.
PROCEDURE:
i)

As per the previous example connect the card to the trainer.

ii)

Enter the program starting from user RAM address 4100H and execute the same.

iii)

Now, set the required floor number in the thumbwheel switch and press the
ENTER key for confirmation.

iv)

See that the nearest lift will move to the requested floor, and the Lift door will be
opened with a beep

Vi Microsystems Pvt Ltd.,

[ 16 ]

ELEVATOR SIMULATOR

VBMB - 022

PROGRAM:

C0
C4
C8
CC

00
00
00
00

LIFT1
LIFT2
STAT_IN
STAT_OU

4100
4100
4102
4104
4106
4108
410A
410C
410F
4111
4113
4115
4118
411A
411C
411E
4121
4123

3E 03
START:
D3 CC
3E 80
D3 C0
3E 01
D3 C4
CD 19 43
DB C8
CHECK:
E6 F0
FE E0
C2 0F 41
DB C8
E6 0F
FE 0F
CA EF 42
FE 08
DA EF 42

EQU
EQU
EQU
EQU
ORG
MVI
OUT
MVI
OUT
MVI
OUT
CALL
IN
ANI
CPI
JNZ
IN
ANI
CPI
JZ
CPI
JC

4126
4129
412A
412C
412F
4131
4133
4134
4136
4139
413B
413D
4140
4142
4145

CA EF 42
47
FE 0C
DA 15 42
3E 02
FLR_A:
D3 CC
78
FE 0E
C2 40 41
3E 40
D3 C0
C3 65 41
FE 0D
FLR_B:
C2 53 41
3E 40

JZ
MOV
CPI
JC
MVI
OUT
MOV
CPI
JNZ
MVI
OUT
JMP
CPI
JNZ
MVI

Vi Microsystems Pvt Ltd.,

;EXAMPLE-3
;SOFTWARE EXAMPLE TO SERVICE
;A REQUEST FROM 5TH FLOOR
;TO GO TO GROUND FLOOR
0C0H
0C4H
0C8H
0CCH
4100H
A,03
;OPEN DOORS
STAT_OU
A,80H
;ASSUME LIFT IS IN
LIFT1
;GROUND FLOOR
A,01H
;LIFT2 IS IN 7TH
LIFT2
;FLOOR
DELAY
STAT_IN
F0H
E0H
;CHECK FOR ENTER KEY
CHECK
STAT_IN
0FH
0FH
;CHECK IF IS GRD FLR
ERROR
08H
ERROR
;CHECK IF 8TH OR
;9TH FLOOR
ERROR
;CHECK IF 7TH FLOOR
B,A
0CH
;FIND THE NEAREST LIFT
LIFTB
A,02
;CLOSE THE DOOR OF LIFT
STAT_OU
A,B
0EH
FLR_B
A,40H
;1ST FLOOR
LIFT1
STAT
0DH
FLR_C
A,40H
[ 17 ]

ELEVATOR SIMULATOR
4147
4149
414C
414E
4150
4153
4155
4157
415A
415C
415E
4161
4163
4165
4166
4168
416A
416D
416F
4171
4173
4175
4177
417A
417C
417E
4180
4182
4184
4187
4188
418A
418D
4190
4192
4195
4198
419A
419D
41A0
41A2
41A4
41A7
41A9
41AB

D3 C0
CD 19 43
3E 20
D3 C0
C3 65 41
3E 40
D3 C0
CD 19 43
3E 20
D3 C0
CD 19 43
3E 10
D3 C0
47
3E 0B
D3 CC
CD 19 43
3E 03
D3 CC
DB C8
E6 F0
FE E0
D2 71 41
3E 02
D3 CC
DB C8
E6 F0
FE D0
C2 B8 41
78
FE 10
C2 90 41
C3 A0 41
FE 20
C2 98 41
C3 A7 41
FE 40
C2 EF 42
C3 AE 41
3E 20
D3 C0
CD 19 43
3E 40
D3 C0
CD 19 43

FLR_C:

STAT:

REPT:

DOWN:

DOWN_B:

DOWN_A:

DWN_B:

DWN_A:

Vi Microsystems Pvt Ltd.,

VBMB - 022
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
MOV
MVI
OUT
CALL
MVI
OUT
IN
ANI
CPI
JNC
MVI
OUT
IN
ANI
CPI
JNZ
MOV
CPI
JNZ
JMP
CPI
JNZ
JMP
CPI
JNZ
JMP
MVI
OUT
CALL
MVI
OUT
CALL

LIFT1
DELAY
A,20H
LIFT1
STAT
A,40H
LIFT1
DELAY
A,20H
LIFT1
DELAY
A,10H
LIFT1
B,A
A,0BH
STAT_OU
DELAY
A , 03
STAT _OU
STAT_IN
F0H
E0H
REPT
A , 02
STAT_OU
STAT_IN
F0H
D0H
UP
A,B
10H
DOWN_B
DWN_B
20H
DOWN_A
DWN_A
40H
ERROR
DWN_GN
A,20H
LIFT1
DELAY
A,40H
LIFT1
DELAY

;2ND FLOOR

;3RD FLOOR

;TO OPEN THE DOOR OF LIFT1

[ 18 ]

ELEVATOR SIMULATOR
41AE
41B0
41B2
41B5
41B8
41BA
41BD
41BE
41C0
41C3
41C6
41C8
41CB
41CE
41D0
41D3
41D6
41D8
41DA
41DD
41DF
41E1
41E4
41E6
41E8
41EB
41ED
41EF
41F2
41F4
41F6
41F9
41FB
41FD
4200
4202
4204
4207
4209
420B
420E
4210
4212
4215
4217

3E
D3
CD
C3
FE
C2
78
FE
C2
C3
FE
C2
C3
FE
C2
C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
C3
3E
D3

80
DWN_GN:
C0
19 43
07 42
B0
UP:
EF 42
40
C6 41
DD 41
20
CE 41
E4 41
10
EF 42
EB 41
40
C0
19 43
20
C0
19 43
10
C0
19 43
08
C0
19 43
04
C0
19 43
02
C0
19 43
01
C0
19 43
0B
CC
19 43
03
CC
29 43
01
CC

UPP_B:

UPP_C:

UP_B:

UP_C:

UP_D:

STOP:

LIFTB:

Vi Microsystems Pvt Ltd.,

VBMB - 022
MVI
OUT
CALL
JMP
CPI
JNZ
MOV
CPI
JNZ
JMP
CPI
JNZ
JMP
CPI
JNZ
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUI
CALL
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT

A,80H
LIFT1
DELAY
STOP
BOH
ERROR
A,B
40H
UPP_B
UP_B
20H
UPP_C
UP_C
10H
ERROR
UP_D
A,40H
LIFT1
DELAY
A,20H
LIFT1
DELAY
A,10H
LIFT1
DELAY
A,08
LIFT1
DELAY
A,04
LIFT1
DELAY
A,02
LIFT1
DELAY
A,01
LIFT1
DELAY
A,0BH
STAT_OU
DELAY
A,01
STAT_OU
END
A,01
STAT_OU

;CHECK F0 UP KEY

;UP_A:

;UP_E:

;UP_F:

;UP_G:

[ 19 ]

ELEVATOR SIMULATOR
4219
421A
421C
421F
4221
4223
4226
4228
422B
422D
422F
4232
4234
4236
4239
423B
423D
4240
4242
4244
4247
4249
424B
424C
424E
4250
4253
4255
4257
4259
425B
425D
4260
4262
4264
4266
4268
426A
426D
426E
4270
4273
4276
4278
427B

78
FE
C2
3E
D3
C3
FE
C2
3E
D3
CD
3E
D3
C3
3E
D3
CD
3E
D3
CD
3E
D3
47
3E
D3
CD
3E
D3
DB
E6
FE
D2
3E
D3
DB
E6
FE
C2
78
FE
C2
C3
FE
C2
C3

09
26
02
C4
4B
0A
39
02
C4
19
04
C4
4B
02
C4
19
04
C4
19
08
C4

42

42
FLR_E:
42

43

42
FLR_D:
43

43

STAT_S:
0B
CC
19 43
03
CC
C8
F0
E0
57 42
01
CC
C8
F0
D0
AE 42

REPT_S:

DOWN_S:
02
76
81
04
7E
81

42
42
FLO_E:
42
42

Vi Microsystems Pvt Ltd.,

VBMB - 022
MOV
CPI
JNZ
MVI
OUT
JMP
CPI
JNZ
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
MOV
MVI
OUT
CALL
MVI
OUT
IN
ANI
CPI
JNC
MVI
OUT
IN
ANI
CPI
JNZ
MOV
CPI
JNZ
JMP
CPI
JNZ
JMP

A,B
09H
FLR_E
A,02
LIFT2
STAT_S
0AH
FLR_D
A,02
LIFT2
DELAY
A,04
LIFT2
STAT_S
A,02
LIFT2
DELAY
A,04
LIFT2
DELAY
A,08H
LIFT2
B, A
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
STAT_IN
F0H
E0H
REPT_S
A,01
STAT_OU
STAT_IN
F0H
D0H
UP_S
A,B
02
FLO_E
FL_E
04
FLO_D
FL_D

;FLOOR 6 OF LIFT2

;FLOOR 5 OF LIFT2

;FLOOR 4 OF LIFT2

;CLOSE DOOR OF LIFT2

[ 20 ]

ELEVATOR SIMULATOR
427E
4281
4283
4285
4288
428A
428C
428F
4291
4293
4296
4298
429A
429D
429F
42A1
42A4
42A6
42A8
42AB
42AE
42B0
42B3
42B4
42B6
42B9
42BC
42BE
42C1
42C4
42C6
42C9
42CC
42CE
42D0
42D3
42D5
42D7
42DA
42DC
42DE
42E1
42E3
42E5
42E8

C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
C3
FE
C2
78
FE
C2
C3
FE
C2
C3
FE
C2
C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E

8F
04
C4
19
08
C4
19
10
C4
19
20
C4
19
40
C4
19
80
C4
19
E1
B0
AE
08
BC
CC
04
C4
D3
02
EF
DA
04
C4
19
02
C4
19
01
C4
19
0B
CC
19
03

42

FLO_D:
FL_E:

43
FL_D:
43
FL_C:
43

43

43

43
42
UP_S:
42

42
42
U_E:
42
42
U_F:
42
42
UO_E:
43
UO_F:
43
UO_G:
43
STOP_S:
43

Vi Microsystems Pvt Ltd.,

VBMB - 022
JMP FL_C
MVI A,04
OUT LIFT2
CALL DELAY
MVI A,08
OUT LIFT2
CALL DELAY
MVI A,10H
OUT LIFT2
CALL DELAY
MVI A,20H
OUT LIFT2
CALL DELAY
MVI A,40H
OUT LIFT2
CALL DELAY
MVI A,80H
OUT LIFT2
CALL DELAY
JMP STOP_S
CPI B0H
JNZ UP_S
MOV A,B
CPI 08
JNZ U_E
JMP UO_E
CPI 04
JNZ U_F
JMP U0_F
CPI 02
JNZ ERROR
JMP UO_G
MVI A,04
OUT LIFT2
CALL DELAY
MVI A,02
OUT LIFT2
CALL DELAY
MVI A,01
OUT LIFT2
CALL DELAY
MVI A,0BH
OUT STAT_OU
CALL DELAY
MVI A,03

;FL_B

;FL_A

;FL_GN

[ 21 ]

ELEVATOR SIMULATOR
42EA
42EC
42EF
42F1
42F3
42F6
42F8
42FA
42FD
42FF
4301
4304
4306
4308
430B
430D
430F
4312
4314
4316
4319
431B
431E
431F
4320
4321
4324
4325
4328
4329
432A

D3 CC
C3 29 43
3E 0B
D3 CC
CD 19 43
3E 03
D3 CC
CD 19 43
3E 0B
D3 CC
CD 19 43
3E 03
D3 CC
CD 19 43
3E 0B
D3 CC
CD 19 43
3E 03
D3 CC
C3 29 43
0E 02
11 FE F9
1B
7A
B3
C2 1E 43
0D
C2 1B 43
C9
76

ERROR:

DELAY:
LOOP1:
LOOP2:

VBMB - 022
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
JMP
MVI
LXI
DCX
MOV
ORA
JNZ
DCR
JNZ
RET
END:
END

STAT_OU
END
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
DELAY
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
DELAY
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
END
C,02
D,F9FEH
D
A,D
E
LOOP2
C
LOOP1

;DELAY FOR 1 SECOND

HLT

EXERCISE:
Write a program to service a request from any floor to goto any floor.

Vi Microsystems Pvt Ltd.,

[ 22 ]

ELEVATOR SIMULATOR
3.4

VBMB - 022

EXAMPLE-4
To service a request using Interrupts in 8085 [Available only in VBMB-022/Rev.1]

DISCUSSION:
By proper jumper selection, we can connect the output of the Enter Key to the RST 5.5
(or) RST 6.5 (or) RST 7.5.
The initialisation for interrupt is done such that upon pressing Enter key, the
Microprocessor will go to the memory location 5000H.
The Interrupt Service Routine (ISR) placed at 5000H, inputs the data from the
thumbwheel switch and service the request as explained in the previous example.
PROCEDURE:
i)

Connect the card to the trainer as per the previous procedure.

ii)

Enter the following program starting from user RAM address 4100H. Also enter
the ISR starting from 5000H.

iii)

Place the shunt in position A for enabling RST 5.5.

iv)

Press the Enter Key after setting the thumbwheel switch.

v)

We can see the result in the LEDs as per the previous example.

Vi Microsystems Pvt Ltd.,

[ 23 ]

ELEVATOR SIMULATOR

VBMB - 022

PROGRAM:

4100
4100
4102
4104
4106
4108
410A
410C
410F
4110
4112
4113
4114
5000
5000
5002
5004
5006
5009
500B
500E
5011
5012
5014
5017
5019
501B
501C
501E
5021
5023
5025
5028
502A

C0
C4
C8
CC

00
00
00
00

LIFT1
LIFT2
STAT_IN
STAT_OU

3E
D3
3E
D3
3E
D3
CD
F3
3E
30
FB
76

03
CC
80
C0
01
C4
01 52

START:

CHECK:
08

DB
E6
FE
CA
FE
DA

C8
0F
0F
D7 51
08
D7 51

CA
47
FE
DA
3E
D3
78
FE
C2
3E
D3
C3
FE
C2

D7 51
0C
FD 50
02
CC
0E
28 50
40
C0
4D 50
0D
3B 50

START1:

FLR_A:

FLR _B:

Vi Microsystems Pvt Ltd.,

EQU
EQU
EQU
EQU
ORG
MVI
OUT
MVI
OUT
MVI
OUT
CALL
DI
MVI
SIM
EI
HLT
ORG
IN
ANI
CPI
JZ
CPI
JC
JZ
MOV
CPI
JC
MVI
OUT
MOV
CPI
JNZ
MVI
OUT
JMP
CPI
JNZ

;EXAMPLE-4
;SOFTWARE EXAMPLE TO STUDY
;ABOUT INTERRUPT BASED
;REQUEST SERVICE
0C0H
0C4H
0C8H
0CCH
4100H
A,03
;OPEN DOOR OF LIFT1 & 2
STAT_OU
A,80H
;ASSUME LIFT1 IS IN
LIFT1
;GROUND FLOOR
A,01H
;LIFT2 IS IN 7TH
LIFT2
;FLOOR
DELAY
A,08
;CHECK FOR RST5.5

5000H
STAT_IN
0FH
0FH
ERROR
08H
ERROR
ERROR
B,A
0CH
LIFTB
A,02
STAT_OU
A,B
0EH
FLR_B
A,40H
LIFT1
STAT
0DH
FLR_C

;CHECK IF IS GRUD FLR


;CHECK IF 8TH OR
;9TH FLOOR
;CHECK IF 7TH FLOOR
;FIND THE NEAREST LIFT
;CLOSE THE DOOR OF LIFT2

;1ST FLOOR

[ 24 ]

ELEVATOR SIMULATOR
502D
502F
5031
5034
5036
5038
503B
503D
503F
5042
5044
5046
5049
504B
504D
504E

3E
D3
CD
3E
D3
C3
3E
D3
CD
3E
D3
CD
3E
D3
47
3E

40
C0
01
20
C0
4D
40
C0
01
20
C0
01
10
C0

5050
5052
5055
5057
5059
505B
505D
505F
5062
5064
5066
5068
506A
506C
506F
5070
5072
5075
5078
507A
507D
5080
5082
5085
5088
508A
508C
508F

D3
CD
3E
D3
DB
E6
FE
D2
3E
D3
DB
E6
FE
C2
78
FE
C2
C3
FE
C2
C3
FE
C2
C3
3E
D3
CD
3E

CC
01 52
03
CC
C8
F0
E0
59 50
02
CC
C8
F0
D0
A0 50

52

50
FLR_C
52

52

STAT:
0B

REPT:

DOWN:
10
78
88
20
80
8F
40
D7
96
20
C0
01
40

50
50
DOWN_B:
50
50
DOWN_A:
51
50
DOWN_B:
52
DWN_A:

Vi Microsystems Pvt Ltd.,

VBMB - 022
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
MOV
MVI

A,40H
LIFT1
DELAY
A,20H
LIFT1
STAT
A,40H
LIFT1
DELAY
A,20H
LIFT1
DELAY
A,10H
LIFT1
B,A
A,0BH

OUT
CALL
MVI
OUT
IN
ANI
CPI
JNC
MVI
OUT
IN
ANI
CPI
JNZ
MOV
CPI
JNZ
JMP
CPI
JNZ
JMP
CPI
JNZ
JMP
MVI
OUT
CALL
MVI

STAT_OU
DELAY
A,03
STAT_OU
STAT_IN
F0H
E0H
REPT
A,02
STAT_OU
STAT_IN
F0H
D0H
UP
A,B
10H
DOWN_B
DWN_B
20H
DOWN_A
DWN_A
40H
ERROR
DWN_GN
A,20H
LIFT1
DELAY
A,40H

;2ND FLOOR

;3RD FLOOR

;TO OPEN THE DOOR


;OF LIFT1

;CHECK FOR UP OR DOWN


;KEY PRESS
;CLOSE DOOR OF LIFT1

[ 25 ]

ELEVATOR SIMULATOR
5091
5093
5096
5098
509A
509D
50A0
50A2
50A5
50A6
50A8
50AB
50AE
50B0
50B3
50B6
50B8
50BB
50BE
50C0
50C2
50C5
50C7
50C9
50CC
50CE
50D0
50D3
50D5
50D7
50DA
50DC
50DE
50E1
50E3
50E5
50E8
50EA
50EC
50EF
50F1
50F3
50F6
50F8
50FA

D3
CD
3E
D3
CD
C3
FE
C2
78
FE
C2
C3
FE
C2
C3
FE
C2
C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
C3

C0
01
80
C0
01
EF
B0
D7
40
AE
C5
20
B6
CC
10
D7
D3
40
C0
01
20
C0
01
10
C0
01
08
C0
01
04
C0
01
02
C0
01
01
C0
01
0B
CC
01
03
CC
11

52
DWN_GN:
52
50
UP:
51

50
50
UPP_B:
50
50
UPP_C:
51
50

52
UP_B:
52
UP_C:
52
UP_D:
52

52

52

52
STOP:
52

52

Vi Microsystems Pvt Ltd.,

VBMB - 022
OUT LIFT1
CALL DELAY
MVI A,80H
OUT LIFT1
CALL DELAY
JMP STOP
CPI B0H
JNZ ERROR
MOV A,B
CPI 40H
JNZ UPP_B
JMP UP_B
CPI 20H
JNZ UPP_C
JMP UP_C
CPI 10H
JNZ ERROR
JMP UP_D
MVI A,40H
OUT LIFT1
CALL DELAY
MVI A,20H
OUT LIFT1
CALL DELAY
MVI A,10H
OUT LIFT1
CALL DELAY
MVI A,08
OUT LIFT1
CALL DELAY
MVI A,04
OUT LIFT1
CALL DELAY
MVI A,02
OUT LIFT1
CALL DELAY
MVI A,01
OUT LIFT1
CALL DELAY
MVI A,0BH
OUT STAT_OU
CALL DELAY
MVI A,03
OUT STAT_OU
JMP END

;CHECK FOR UP KEY

;UP_A:

;UP_E:

;UP_F:

;UP_G:

;OPEN DOOR OF LIFT1


;& GIVE ONE BEEP SOUND

[ 26 ]

ELEVATOR SIMULATOR
50FD
50FF
5101
5102
5104
5107
5109
510B
510E
5110
5113
5115
5117
511A
511C
511E
5121
5123
5125
5128
512A
512C
512F
5131
5133
5134
5136
5138
513B
513D
513F
5141
5143
5145
5148
514A
514C
514E
5150
5152
5155
5156
5158
515B
515E

3E
D3
78
FE
C2
3E
D3
C3
FE
C2
3E
D3
CD
3E
D3
C3
3E
D3
CD
3E
D3
CD
3E
D3
47
3E
D3
CD
3E
D3
DB
E6
FE
D2
3E
D3
DB
E6
FE
C2
78
FE
C2
C3
FE

01
CC
09
0E
02
C4
33
0A
21
02
C4
01
04
C4
33
02
C4
01
04
C4
01
08
C4

LIFTB:

51

51
FLR_E:
51

52

51
FLR_D:
52

52

STAT_S:
0B
CC
01 52
03
CC
C8
F0
F0
3F 51
01
CC
C8
F0
D0
96 51

REPT_S:

DOWN_S:
02
5E 51
69 51
04

FLO_E:

Vi Microsystems Pvt Ltd.,

VBMB - 022
MVI
OUT
MOV
CPI
JNZ
MVI
OUT
JMP
CPI
JNZ
MVI
OUT
CALL
MVI
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
MOV
MVI
OUT
CALL
MVI
OUT
IN
ANI
CPI
JNC
MVI
OUT
IN
ANI
CPI
JNZ
MOV
CPI
JNZ
JMP
CPI

A,01
STAT_OU
A,B
09H
FLR_E
A,02
LIFT2
STAT_S
0AH
FLR_D
A,02
LIFT2
DELAY
A,04
LIFT2
STAT_S
A,02
LIFT2
DELAY
A,04
LIFT2
DELAY
A,08H
LIFT2
B,A
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
STAT_IN
F0H
E0H
REPT_S
A,01
STAT_OU
STAT_IN
F0H
DOH
UP_S
A,B
02
FLO_E
FL_E
04

;CLOSE DOOR OF LIFTB

;FLOOR 6 OF LIFT2

;FLOOR 5 OF LIFT2

;FLOOR4OF LIFT2
;FLOOR 4 OF LIFT2

;CLOSE DOOR OF LIFT 2

[ 27 ]

ELEVATOR SIMULATOR
5160
5163
5166
5169
516B
516D
5170
5172
5174
5177
5179
517B
517E
5180
5182
5185
5187
5189
518C
518E
5190
5193
5196
5198
519B
519C
519E
51A1
51A4
51A6
51A9
51AC
51AE
51B1
51B4
51B6
51B8
51BB
51BD
51BF
51C2
51C4
51C6
51C9
51CB

C2
C3
C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
C3
FE
C2
78
FE
C2
C3
FE
C2
C3
FE
C2
C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3

66 51
70 51
77 51
04
C4
01 52
08
C4
01 52
10
C4
01 52
20
C4
01 52
40
C4
01 52
80
C4
01 52
C9 51
BO
96 51
08
A4 51
B4 51
04
AC 51
BB 51
02
D7 51
C2 51
04
C4
01 52
02
C4
01 52
01
C4
01 52
0B
CC

FLO_D:
FL_E:

FL_D:

FL_C:

UP_S:

U_E:

U_F:

UO_E:

UO_F:

UO_G:

STOP_S:

Vi Microsystems Pvt Ltd.,

VBMB - 022
JNZ
JMP
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
JMP
CPI
JNZ
MOV
CPI
JNZ
JMP
CPI
JNZ
JMP
CPI
JNZ
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT

FLO_D
FL_D
FL_C
A,04
LIFT2
DELAY
A,08
LIFT2
DELAY
A,10H
LIFT2
DELAY
A,20H
;FL_B:
LIFT2
DELAY
A,40H
;FL_A:
LIFT2
DELAY
A,80H
;FL_GN
LIFT2
DELAY
STOP_S
B0H
UP_S
A,B
08
U_E
UO_E
04
U_F
UO_F
02
ERROR
UO_G
A,04
LIFT2
DELAY
A,02
LIFT2
DELAY
A,01
LIFT2
DELAY
A,0BH
STAT_OU
[ 28 ]

ELEVATOR SIMULATOR
51CD
51D0
51D2
51D4
51D7
51D9
51DB
51DE
51E0
51E2
51E5
51E7
51E9
51EC
51EE
51F0
51F3
51F5
51F7
51FA
51FC
51FE
5201
5203
5206
5207
5208
5209
520C
520D
5210
5211
5212

CD
3E
D3
C3
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
CD
3E
D3
C3
0E
11
1B
7A
B3
C2
0D
C2
C9
76

01
03
CC
11
0B
CC
01
03
CC
01
0B
CC
01
03
CC
01
0B
CC
01
03
CC
11
02
FE

52

52
ERROR:
52

52

52

52

52

52
F9

DELAY:
LOOP1:
LOOP2:

06 52
03 52
END:

Vi Microsystems Pvt Ltd.,

VBMB - 022
CALL
MVI
OUT
JMP
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
CALL
MVI
OUT
JMP
MVI
LXI
DCX
MOV
ORA
JNZ
DCR
JNZ
RET
HLT
END

DELAY
A,03
STAT_OU
END
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
DELAY
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
DELAY
A,0BH
STAT_OU
DELAY
A,03
STAT_OU
END
C,02
D,F9FEH
D
A,D
E
LOOP2
C
LOOP1

;ONE BEEP

;SECOND BEEP

;THIRD BEEP

;DELAY FOR 1SEC

[ 29 ]

ELEVATOR SIMULATOR
3.5

VBMB - 022

PROGRAM FOR VBMB-022 (ELEVATOR INTERFACE) IN 8086 ASSEMBLY


LANGUAGE:

EXAMPLE 1:
AIM:
TO MOVE THE LIFT1 TO 4TH FLOOR AND TO GIVE A BEEP.
PROGRAM:
00C0
00C4
00C8
00CC
1000

LIFT1
LIFT2
STIN
STOU
ORG

EQU
EQU
EQU
EQU
1000H

00C0H
00C4H
00C8H
00CCH

MOV
OUT
CALL
MOV
OUT
MOV
OUT
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
MOV
OUT
CALL
MOV
OUT
HLT

AL,03H
STOU,AL
DELAY
AL,02H
STOU,AL
AL,80H
LIFT1,AL
AL,01H
LIFT2,AL
DELAY
AL,40H
LIFT1,AL
DELAY
AL,20H
LIFT1,AL
DELAY
AL,10H
LIFT1,AL
DELAY
AL,08H
LIFT1,AL
AL,0BH
STOU,AL
DELAY
AL,03H
STOU,AL

START:
1000
1002
1004
1007
1009
100B
100D
100F
1011
1013
1016
1018
101A
101D
101F
1021
1024
1026
1028
102B
102D
102F
1031
1033
1036
1038
103A

B0
E6
E8
B0
E6
B0
E6
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
B0
E6
E8
B0
E6
F4

03
CC
34
02
CC
80
C0
01
C4
25
40
C0
1E
10
C0
17
10
C0
10
08
C0
0B
CC
05
03
CC

00

00

00

00

00

00

;DEFAULT OPEN
;DOORS OF LIFIT1
;AND LIFT2
;CLOSE DOOR OF
;INDICATE LIFT1
;IS IN GND FLOOR
;INDICATE LIFT2
;IS IN 7TH FLOOR
;LIFT IN FIRST FLOOR

;LIFT1 IN
;SECOND FLOOR AND FLOOR
;LIFT IN
;THIRD FLOOR
;LIFT1 IN
;FOURTH FLOOR
;BEEP FOR DOOR
;OPEN
;OPEN DOOR

DELAY:

Vi Microsystems Pvt Ltd.,

[ 30 ]

ELEVATOR SIMULATOR
103B

B1 02

MOV
LOOP1:
103D DB FE F9
MOV
LOOP:
1040 4B
DEC
1041 8A C3
MOV
1043 0A C7
OR
1045 75 F9
JNZ
1047 FE C9
DEC
1049 75 F2
JNZ
104B C3
RET
104C
END

Vi Microsystems Pvt Ltd.,

VBMB - 022
CL,02H

;DELAY FOR ONE

BX,0F9FEH
BX
AL,BL
AL,BH
LOOP
CL
LOOP1

[ 31 ]

ELEVATOR SIMULATOR

VBMB - 022

EXAMPLE 2
AIM:
TO FIND THE NEAREST LIST FOR A REQUEST FOR ANY FLOOR.
PROGRAM:
00C0
00C4
00C8
00CC
1000

LIFT1
LIFT2
LIFTIN
STOU

EQU
EQU
EQU
EQU
ORG

ADDRESS OPCODES

00C0H
00C4H
00C8H
00CCH
1000H

MNEMONICS

START:
1000
1002
1004
1006
1008
100A
100C
100F
1011
1013
1015
1017
1019
101B
101D
101F
1021
1023
1025

B0 03
E6 CC
B0 80

MOV AL,03
;DEFAULT OPEN
OUT STOU,AL ;DOORS OF LIFIT1AND LIFT2
MOV AL,80
;INDICATE LIFT1 IN GND FLOOR

C0
01
C4
CA 00

OUT
MOV
OUT
CALL

LIFT1,AL ;INDICATE LIFT2 IN 7TH FLOOR


AL,01
LIFT2,AL
DELAY

C8
F0
E0
F8
C8
0F
0F
08
08
04
02
03

IN
AND
CMP
JNZ
IN
AND
CMP
JZ
CMP
JB
JZ
JMP

AL,LIFTIN
AL,F0
AL,E0
CHECK
AL,LIFTIN
AL,0F
AL,0F
FIX0
AL,08
FIX0
FIX0
FIX1

E9 86 00

JMP

ERR

8A D8

MOV BL,AL

E6
B0
E6
E8
CHECK:
E4
24
3C
75
E4
24
3C
74
3C
72
74
EB
FIX0:

1027
FIX1:
102A

Vi Microsystems Pvt Ltd.,

[ 32 ]

ELEVATOR SIMULATOR
102C
102E

VBMB - 022

3C 0C
72 40

CMP AL,0C
JB
LIFTB

B0
E6
8A
3C
75
B0
E6
EB

02
CC
C3
0E
06
40
C0
23

MOV
OUT
MOV
CMP
JNZ
MOV
OUT
JMP

AL,02
STOU,AL
AL,BL
AL,0E
FLRB
AL,40
LIFT1,AL
STAT

3C
75
B0
E6
E8
B0
E6
EB

0D
0D
40
C0
8E 00
20
C0
12

CMP
JNZ
MOV
OUT
CALL
MOV
OUT
JMP

AL,0D
FLRC
AL,40
LIFT1,AL
DELAY
AL,20
LIFT1,AL
STAT

B0
E6
E8
B0
E6
E8
B0
E6

40
C0
81 00
20
C0
7A 00
10
C0

MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT

AL,40
LIFT1,AL
DELAY
AL,20
LIFT1,AL
DELAY
AL,10
LIFT1,AL

B0
E6
E8
B0
E6
EB

0B
CC
6F 00
03
CC
7A

MOV
OUT
CALL
MOV
OUT
JMP

AL,0B
STOU,AL
DELAY
AL,03
STOU,AL
STOP

B0
E6
8A
3C
75
B0
E6
EB

01
CC
C3
09
06
02
C4
23

MOV
OUT
MOV
CMP
JNZ
MOV
OUT
JMP

AL,01
STOU,AL
AL,BL
AL,09
FLRE
AL,02
LIFT2,AL
STAT1

FLR_A:
1030
1032
1034
1036
1038
103A
103C
103E

;CLOSE DOOR OF LIFT1

;LIFT1 IN FIRST FLOOR

FLR_B:
1040
1042
1044
1046
1048
104B
104D
104F

;LIFT1 IN 2ND FLOOR

FLR_C:
1051
1053
1055
1058
105A
105C
105F
1061

;LIFT1 IN 3RD FLOOR

STAT:
1063
1065
1067
106A
106C
106E
LIFTB:
1070
1072
1074
1076
1078
107A
107C
107E

Vi Microsystems Pvt Ltd.,

[ 33 ]

ELEVATOR SIMULATOR

VBMB - 022

FLRE:
1080
1082
1084
1086
1088
108B
108D
108F

3C
75
B0
E6
E8
B0
E6
EB

0A
0D
02
C4
4E 00
04
C4
12

CMP
JNZ
MOV
OUT
CALL
MOV
OUT
JMP

AL,0A
FLRD
AL,02
LIFT2,AL
DELAY
AL,04
LIFT2,AL
STAT1

1091
1093
1095
1098
109A
109C
109F
10A1

B0
E6
E8
B0
E6
E8
B0
E6

02
C4
41 00
04
C4
3A 00
08
C4

MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT

AL,02
LIFT2,AL
DELAY
AL,04
LIFT2,AL
DELAY
AL,08
;LIFT2 IN 4TH FLOOR
LIFT2,AL

STAT1:
10A3
10A5
10A7
10AA
10AC
10AE

B0
E6
E8
B0
E6
EB

0B
CC
2F 00
03
CC
3A

MOV
OUT
CALL
MOV
OUT
JMP

AL,0B
;BEEP FOR DOOR
STOU,AL
DELAY
AL,03
;OPEN DOOR
STOU,AL
STOP

B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
EB

0B
CC
22
03
CC
1B
0B
CC
14
03
CC
0D
0B
CC
06
03
CC
11

MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
JMP

AL,0B
STOU,AL
DELAY
AL,03
STOU,AL
DELAY
AL,0B
STOU,AL
DELAY
AL,03
STOU,AL
DELAY
AL,0B
STOU,AL
DELAY
AL,03
STOU,AL
STOP

FLRD:

ERR:
10B0
10B2
10B4
10B7
10B9
10BB
10BE
10C0
10C2
10C5
10C7
10C9
10CC
10CE
10D0
10D3
10D5
10D7

00

00

00

00

00

Vi Microsystems Pvt Ltd.,

[ 34 ]

ELEVATOR SIMULATOR
10D9
10DB
10DE
10DF
10E1
10E3
10E5
10E7
10E9
10EA

DELAY:
B1
LOOP1:
BB
LOOP2:
4B
8A
0A
75
FE
75
C3
STOP:
F4

VBMB - 022

02

MOV CL,02

FE F9

MOV BX,F9FE

C3
C7
F9
C9
F2

DEC
MOV
OR
JNZ
DEC
JNZ
RET

Vi Microsystems Pvt Ltd.,

BX
AL,BL
AL,BH
LOOP2
CL
LOOP1

HLT

[ 35 ]

ELEVATOR SIMULATOR

VBMB - 022

EXAMPLE-3:
AIM:
PROGRAM FOR SERVICE A REQUEST FROM ANY FLOOR TO GO GROUND FLOOR
OR 7TH FLOOR
PROGRAM:
00C0
00C4
00C8
00CC

1000
1000
1002
1004
1006
1008
100A
100C
100F
1011
1013
1015
1017
1019
101B
101D
101F
1021
1023
1025
1028
102B
102D
102F
1031
1034
1037
1039
103B

LIFT1
LIFT2
STIN
STOU

B0 03
E6 CC
B0 80
E6 C0
B0 01
E6 C4
E8 14 02
E4 C8
24 F0
3C E0
75 F8
E4 C8
24 0F
3C 0F
74 09
3C 08
72 05
74 03
EB 04 90
E9 CE 01
8A D8
3C 0C
72 03
EB 04 90
E9 E8 00
B0 02
E6 CC
8A C3

START:

CHECK:

FIX0:
FIX5:

FIX4:
FLRA:

Vi Microsystems Pvt Ltd.,

EQU
EQU
EQU
EQU

00C0H
00C4H
00C8H
00CCH

ORG
MOV
OUT
MOV
OUT
MOV
OUT
CALL
IN
AND
CMP
JNZ
IN
AND
CMP
JZ
CMP
JC
JZ
JMP
JMP
MOV
CMP
JC
JMP
JMP
MOV
OUT
MOV

1000H
AL,03
STOU,AL
AL,80H
LIFT1,AL
AL,01H
LIFT2,AL
DELAY
AL,STIN
AL,0F0H
AL,0E0H
CHECK
AL,STIN
AL,0FH
AL,0FH
FIX0
AL,08H
FIX0
FIX0
FIX5
ERR
BL,AL
AL,0CH
FIX4
FLRA
LIFTB
AL,02H
STOU,AL
AL,BL

;OPEN DOORS
;ASSUME LIFT1 IS IN
;GROUND FLOOR
;LIFT2 IS IN 7TH FLOOR

;CHECK FOR ENTER KEY

;CHECK IF 8TH OR 9TH FLOOR


;CHECK IF 7TH FLOOR

;FIND THE NEAREST FLOOR

;CLOSE THE DOOR OF LIFT1

[ 36 ]

ELEVATOR SIMULATOR
103D
103F
1041
1043
1045
1048
104A
104C
104E
1050
1053
1055
1057
105A
105C
105E
1061
1063
1065
1067
1069
106B
106D
106F
1072
1074
1076
1078
107A
107C
107E
1080
1082
1084
1086
1088
108A
108C
108E
1090
1093
1095
1097
109A
109C

3C
75
B0
E6
EB
3C
75
B0
E6
E8
B0
E6
EB
B0
E6
E8
B0
E6
B0
E6
8A
B0
E6
E8
B0
E6
E4
24
3C
73
B0
E6
E4
24
3C
75
8A
3C
75
EB
3C
75
EB
3C
75

0E
07
40
C0
22 90
0D
0E
40
C0
D0 01
20
C0
10 90
40
C0
C2 01
20
C0
10
C0
D8
0B
CC
B1 01
03
CC
C8
F0
0E
F8
02
CC
C8
F0
D0
32
C3
10
03
12 90
20
03
12 90
40
03

FLRB:

FLRC:

STAT:

REPT:

DOWN:

DOWNB:

DOWNA:

Vi Microsystems Pvt Ltd.,

VBMB - 022
CMP AL,0EH
JNZ FLRB
MOV AL,40H
OUT LIFT1,AL
JMP STAT
CMP AL,0DH
JNZ FLRC
MOV AL,40H
OUT LIFT1,AL
CALL DELAY
MOV AL,20H
OUT LIFT1,AL
JMP STAT
MOV AL,40H
OUT LIFT1,AL
CALL DELAY
MOV AL,20H
OUT LIFT1,AL
MOV AL,10H
OUT LIFT1,AL
MOV BL,AL
MOV AL,0BH
OUT STOU,AL
CALL DELAY
MOV AL,03H
OUT STOU,AL
IN
AL,STIN
AND AL,0F0H
CMP AL,0EH
JNC REPT
MOV AL,02H
OUT STOU,AL
IN
AL,STIN
AND AL,0F0H
CMP AL,0D0H
JNZ UP
MOV AL,BL
CMP AL,10H
JNZ DOWNB
JMP DWNB
CMP AL,20H
JNZ DOWNA
JMP DWNA
CMP AL,40H
JNZ FIX3

;1ST FLOOR

;2ND FLOOR

;3RD FLOOR

;TO OPEN THE DOOR OF LIFT1

[ 37 ]

ELEVATOR SIMULATOR
109E
10A1
10A4
10A6
10A8
10AB
10AD
10AF
10B2
10B4
10B6
10B9
10BC
10BE
10C0
10C3
10C6
10C8
10CA
10CC
10CF
10D1
10D3
114E
1150
1153
1155
1157
1159
115B
115D
1160
1162
1164
1166
1168
116A
116C
116E
1170
1172
1174
1176
1178
117A

EB
E9
B0
E6
E8
B0
E6
E8
B0
E6
E8
EB
3C
75
EB
E9
8A
3C
75
EB
3C
75
EB
E6
E8
B0
E6
8A
B0
E6
E8
B0
E6
E4
24
3C
73
B0
E6
E4
24
3C
75
8A
3C

12 90
55 01
20
C0
78 01
40
C0
71 01
80
C0
6A 01
56 90
B0
03
04 90
33 01
C3
40
03
19 90
20
03
19 90
C4
D0 00
08
C4
D8
0B
CC
C3 00
03
CC
C8
F0
E0
F8
01
CC
C8
F0
D0
40
C3
02

FIX3:
DWNB:

DWNA:

DWNGN:

UP:

FIX2:
FIX6:

UPPB:

STATS:

REPTS:

DOWNS:

Vi Microsystems Pvt Ltd.,

VBMB - 022
JMP
JMP
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
JMP
CMP
JNZ
JMP
JMP
MOV
CMP
JNZ
JMP
CMP
JNZ
JMP
OUT
CALL
MOV
OUT
MOV
MOV
OUT
CALL
MOV
OUT
IN
AND
CMP
JNC
MOV
OUT
IN
AND
CMP
JNZ
MOV
CMP

DWNGN
ERR
AL,20H
LIFT1,AL
DELAY
AL,40H
LIFT1,AL
DELAY
AL,80H
LIFT1,AL
DELAY
STOP
AL,0B0H
FIX2
FIX6
ERR
AL,BL
AL,40H
UPPB
UPB
AL,20H
UPPC
UPC
LIFT2,AL
DELAY
AL,08H
LIFT2,AL
BL,AL
AL,0BH
STOU,AL
DELAY
AL,03H
STOU,AL
AL,STIN
AL,0F0H
AL,0E0H
REPTS
AL,01H
STOU,AL
AL,STIN
AL,0F0H
AL,0D0H
UPS
AL,BL
AL,02H

;CHECK TO UP KEY

;FLOOR 4 OF LIFT2

;CLOSE DOOR OF LIFT2

[ 38 ]

ELEVATOR SIMULATOR
117C
117E
1181
1183
1185
1188
118B
118D
118F
1192
1194
1196
1199
119B
119D
11A0
11A2
11A4
11A7
11A9
11AB
11AE
11B0
11B2
11B5
11B8
11BA
11BC
11BE
11C0
11C2
11C5
11C7
11C9
11CC
11CE
11D0
11D3
11D5
11D7
11DA
11DC
11DE
11E1
11E3

75
EB
3C
75
EB
EB
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
EB
3C
75
8A
3C
5
EB
3C
75
EB
3C
75
EB
B0
E6
E8
B0
E6
E8
B0
E6

03
0B 90
04
FLOE:
03
0B 90
0F 90
FLOD
04
FLE:
C4
91 00
08
FLD:
C4
8A 00
10
FLC:
C4
83 00
20
C4
7C 00
40
C4
75 00
80
C4
6E 00
31 90
B0
UPS:
FC
C3
08
03
0F 90
04
UE:
03
0F 90
02
UF:
29
0F 90
04
UOE:
C4
49 00
02
UOF:
C4
42 00
01
UOG:
C4

Vi Microsystems Pvt Ltd.,

VBMB - 022
JNZ
JMP
CMP
JNZ
JMP
JMP
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
JMP
CMP
JNZ
MOV
CMP
JNZ
JMP
CMP
JNZ
JMP
CMP
JNZ
JMP
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT

FLOE
FLE
AL,04H
FLOD
FLD
FLC
AL,04H
LIFT2,AL
DELAY
AL,08H
LIFT2,AL
DELAY
AL,10H
LIFT2,AL
DELAY
AL,20H
LIFT2,AL
DELAY
AL,40H
LIFT2,AL
DELAY
AL,80H
LIFT2,AL
DELAY
STOPS
AL,0B0H
UPS
AL,BL
AL,80H
UE
UOE
AL,04H
UF
UOF
AL,02H
ERR
UOG
AL,04H
LIFT2,AL
DELAY
AL,02H
LIFT2,AL
DELAY
AL,01H
LIFT2,AL
[ 39 ]

ELEVATOR SIMULATOR
11E5
11E8
11EA
11EC
11EF
11F1
11F3
11F6
11F9
11FB
11FD
1200
1202
1204
1207
1209
120B
120E
1210
1212
1215
1217
1219
121C
121E
1220
1223
1223

E8
B0
E6
E8
B0
E6
E8
EB
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
E8
B0
E6
EB

3B
0B
CC
34
03
CC
2D
3C
0B
CC
23
03
CC
1C
OB
CC
15
03
CC
0E
0B
CC
07
03
CC
12

00
STOPS:
00

00
00
ERR:
00

00

00

00

00

90

VBMB - 022
CALL
MOV
OUT
CALL
MOV
OUT
CALL
JMP
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
CALL
MOV
OUT
JMP

DELAY
AL,0BH
STOU,AL
DELAY
AL,03H
STOU,AL
DELAY
END
AL,0BH
STOU,AL
DELAY
AL,03H
STOU,AL
DELAY
AL,0BH
STOU,AL
DELAY
AL,03H
STOU,AL
DELAY
AL,0BH
STOU,AL
DELAY
AL,03H
STOU,AL
END

DELAY:
B1 02

MOV CL,02H ;DELAY FOR ONE SECOND 1225


LOOP1:

1225
1228
1228
1229
122B
122D
122F
1231
1233
1234

BB FE F9

MOV BX,0F9FEH
LOOP2:

4B
8A
0A
75
FE
75
C3

C3
C7
F9
C9
F2
END:

Vi Microsystems Pvt Ltd.,

DEC
MOV
OR
JNZ
DEC
JNZ
RET
HLT

BX
AL,BL
AL,BH
LOOP2
CL
LOOP1

[ 40 ]

ELEVATOR SIMULATOR
3.6

VBMB - 022

PROGRAMS IN 8051 ASSEMBLY LANGUAGE

EXAMPLE-1:
PROGRAM FOR MOVING THE LIFT1 TO 4 FLOOR FROM GROUND FLOOR.
AIM:
To move to 4th floor ground floor and give a beep.
DISCUSSION:
* Assume and initialize Lift1 in ground floor and Lift2 in 7th floor.
* Keep the doors of both the lifts in open condition.
* To move Lift1 from ground floor to 4th floor, output the flowing sequence, with some delay.
80,40,20,10,08
* After going to 4th floor the door of the lift1 should be opened. This is done by outputting data,
03" to port CCH.
* To generate a beep sound, output data 0BH to port address CCH and after a delay output
data 03".

PROCEDURE:
i) Connect VBMB-022 board to any of our microcontroller Trainer.
ii) Enter the following program from user RAM address 4100H.
iii) After checking the program, execute the same.
iv) We can see the movement of the lift1 from ground floor to 4th floor.

Vi Microsystems Pvt Ltd.,

[ 41 ]

ELEVATOR SIMULATOR

VBMB - 022

PROGRAM:
0001
0030
0031
FFC0
FFC4
FFC8
FFCC

T0_M1
COUNT
COUNT1
LIFT1
LIFT2
STAT_IN
STAT_OU

EQU
EQU
EQU
EQU
EQU
EQU
EQU

4100
4100
4100

74 03

MOV

4102

90 FF CC

MOV

4105
4106
4109
410B
410C
410E
4111
4112
4114
4117
4118
411B
411E
4120
4121
4124
4126
4127
412A
412C
412D
4130
4132
4133
4135
4138
4139
413C
413E

F0
12
74
F0
74
90
F0
74
90
F0
12
90
74
F0
12
74
F0
12
74
F0
12
74
F0
74
90
F0
12
74
F0

MOVX
CALL
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
CALL
MOV
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOVX
MOV
MOV
MOVX
CALL
MOV
MOVX

01H
30H
31H
0FFC0H
0FFC4H
0FFC8H
0FFCCH

ORG 4100H
START:

41 41
02
80
FF C0
01
FF C4
41 41
FF C0
40
41 41
20
41 41
10
41 41
08
0B
FF CC
41 41
03

Vi Microsystems Pvt Ltd.,

A,#03H

;DEFAULT OPEN
DOORS
DPTR,#STAT_OU ; O F L I F T 1 &
LIFT2
@DPTR,A
DELAY
A,#02H
;CLOSE DOOR OF LIFT1
@DPTR,A
A,#80H
;INDICATES LIFT1 IS
DPTR,#LIFT1 ;IN GND FLOOR
@DPTR,A
A,#01H
;INDICATES LIFT2 IS
DPTR,#LIFT2 ;IN 7TH FLOOR
@DPTR,A
DELAY
DPTR,#LIFT1
A,#40H
@DPTR,A
DELAY
A,#20H
@DPTR,A
DELAY
A,#10H
@DPTR,A
DELAY
A,#08H
@DPTR,A
A,#0BH
;BEEP FOR DOOR OPEN
DPTR,#STAT_OU
@DPTR,A
DELAY
A,#03H
;OPEN DOORS
@DPTR,A
[ 42 ]

ELEVATOR SIMULATOR
413F
413F
4141
4141

VBMB - 022

HERE:
80 FE

SJMP

HERE

DELAY:
75 31 0A

MOV

COUNT1,#10 ; F O R 1 S E C O N D S
DELAY
COUNT,#100

4144
4144
4147
4147
414A
414D
4150
4151
4151

75 30 64
MOV
DL2:
12 41 51
CALL
D2:
D5 30 FA
DJNZ
D5 31 F4
DJNZ
22
RET
DELAY 1 MS:
75 8A 17
MOV

4154

75 8C FC

MOV

4157

12 41 5B

CALL

415A

22

RET

415B
415B
415D
415F
4161
4163
4165

E5 89
54 F0
44 01
F5 89
D2 8C
30 8D FD

4168
416A

C2 8C
C2 8D

CLR
CLR

416C

22

RET

T0DELAY:
MOV
ANL
ORL
MOV
SETB
JNB

DELAY 1 MS
COUNT,D2
COUNT1,DL2

T10,#017H

;TL0=17H, THE LOW


BYTE
;OF TIMER0
TH0,#0FCH ;TH0=FCH, THE HIGH
BYTE
;OF TIMER0
T0DELAY
;ACTIVATE THE
TIMER0, AND
;WAIT UPTO
; T IM ER OVER FLO W
OCCURS.
A,TMOD
A,#0F0H
A,#T0_M1
TMOD,A
TR0
TF0,$

TR0
TF0

;2 TIMER 0, MODE1
;1 START THE TIMER0
;0FFFF-(16 BIT TIMER
;VALUE)+1
;MONITOR TIMER FLAG 0
;1 STOP THE TIMER 0
;1 CLEAR TIMER FLAG
0
;1 RETURN FROM
SUBROUTINE

END

Vi Microsystems Pvt Ltd.,

[ 43 ]

ELEVATOR SIMULATOR

VBMB - 022

EXAMPLE-2:
PROGRAM TO FIND THE NEAREST LIFT FOR A REQUEST FROM ANY FLOOR
AND SERVICE THE REQUEST USING 8051.
AIM:
To find the nearest Lift for a request from any floor and service the request.
DISCUSSION:
* As per the previous discussion the lifts are to be initialised.
* The request will be given by the user by setting the thumbwheel switch and will be confirmed
by pressing the ENTER key.
* This will be sensed by the program by polling the port address C8H.
* By an algorithm find the nearest Lift to the requested floor.
* Now move the Lift to the requested floor and give a beep, by standard procedures, already
explained.
* Give 3 beeps in case of an error condition.
PROCEDURE:
i) As per the previous example connect the card to the trainer.
ii) Enter the program starting from user RAM address 4100H and execute the same.
iii) Now, set the required floor number in the thumbwheel switch and press the ENTER key
for confirmation.
iv) See that the nearest lift will move to the requested floor, and the Lift door will be opened with
a beep.

Vi Microsystems Pvt Ltd.,

[ 44 ]

ELEVATOR SIMULATOR

VBMB - 022

PROGRAM:
0001
0030
0031
FFC0
FFC4
FFC8
FFCC
4100
4100
4100

T0_M1
COUNT
COUNT1
LIFT1
LIFT2
STAT_IN
STAT_OU

4102
4105
4106
4108
410B
410C
410E
4111
4112
4115
4115
4118
4119
411B
411E
411F
4121
4122
4125
4128
4128
4129
412A
412C
412E
4130
4131
4132
4134
4136
4136
4138

90
F0
74
90
F0
74
90
F0
12

FF CC

90
E0
54
B4
E0
54
FF
B4
02

FF C8

74 03

EF
C3
94
40
60
EF
C3
94
40

80
FF C0
01
FF C4
41 CD

F0
E0 F7
0F
0F 03
41 AA

08
7C
7A

EQU
EQU
EQU
EQU
EQU
EQU
EQU
ORG
START:
MOV

01H
30H
31H
0FFC0H
0FFC4H
0FFC8H
0FFCCH
4100H
A,#03H

;DEFAULT DOORS IS IN

MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
CALL
CHECK:
MOV
MOVX
ANL
CJNE
MOVX
ANL
MOV
CJNE
LJMP
ER_1
MOV
CLR
SUBB
JC
JZ
MOV
CLR
SUBB
JC L_B

DPTR,#STAT_OU
@DPTR,A
A,#80H
DPTR,#LIFT1
@DPTR,A
A,#01H
DPTR,#LIFT2
@DPTR,A
DELAY

;OPEN CONDITION

0C
3A
FLR_A:
74 02
MOV
90 FF CC
MOV

Vi Microsystems Pvt Ltd.,

DPTR,#STAT_IN
A,@DPTR
A,#0F0H
A,#0E0H,CHECK
A,@DPTR
A,#0FH
R7,A
A,#0FH,ER_1
ERROR
A,R7
C
A,#08H
ERROR
ERROR
A,R7
C
A,#0CH

;INDICATES LIFT1 IS
;IN GND FLOOR
;INDICATES LIFT2 IS
;IN 7TH FLOOR

;CHECK FOR ENTER KEY

;CHECK IF IS GND FLOOR

;CHECK IF 8TH OR 9TH FLOOR


;CHECK IF 7TH FLOOR

;FIND THE NEAREST LIFT


A,#02H
DPTR,#STAT_OU

;CLOSE THE DOOR

[ 45 ]

ELEVATOR SIMULATOR
413B
413C
413D
4140
4142
4145
4146
4149
4149
414C
414E
4151
4152
4155
4157
4158
415B
415B
415D
4160
4161
4164
4166
4167
416A
416C
416D
4170
4170
4172
4175
4176
4177
417A
417C
417F
4180
4183
4183
4186
4188
418B
418C
418F
4191

F0
EF
B4
74
90
F0
02

0E 09
40
FF C0

MOVX
MOV
CJNE
MOV
MOV
MOVX
LJMP

41 BF
FLR_B:
B4 0D 0F
CJNE
74 40
MOV
90 FF C0
MOV
F0
MOVX
12 41 CD
LCALL
74 20
MOV
F0
MOVX
02 41 BF
LJMP
FLR_C:
74 40
MOV
90 FF C0
MOV
F0
MOVX
12 41 CD
LCALL
74 20
MOV
F0
MOVX
12 41 CD
LCALL
74 10
MOV
F0
MOVX
02 41 BF
LJMP
L_B:
74 01
MOV
90 FF CC
F0
MOVX
EF
MOV
B4 09 09
CJNE
74 02
MOV
90 FF CC
MOV
F0
MOVX
02 41 BF
LJMP
FLR_E:
B4 0A 0F
CJNE
74 02
MOV
90 FF C4
MOV
F0
MOVX
12 41 CD
CALL
74 04
MOV
F0
MOVX

Vi Microsystems Pvt Ltd.,

VBMB - 022
@DPTR,A
A,R7
A,#0EH,FLR_B
A,#40H
DPTR,#LIFT1
@DPTR,A
STAT
A,#0DH,FLR_C
A,#40H
DPTR,#LIFT1
@DPTR,A
DELAY
A,#20H
@DPTR,A
STAT

;1ST FLOOR

;1ST FLOOR

;2ND FLOOR

A,#40H
DPTR,#LIFT1
@DPTR,A
DELAY
A,#20H
@DPTR,A
DELAY
A,#10H
@DPTR,A
SAT

;1ST FLOOR

A,#01H

;CLOSE DOOR OF LIFT2

@DPTR,A
A,R7
A,#09H,FLR_E
A,#02H
DPTR,#LIFT2
@DPTR,A
STAT

;FLOOR 6 OF LIFT2

A,#0AH,FLR_D
A,#02H
DPTR,#LIFT2
@DPTR,A
DELAY
A,#04H
@DPTR,A

;2ND FLOOR

;3RD FLOOR

;FOOR 6 OF LIFT2

;FLOOR 5 OF LIFT2

[ 46 ]

ELEVATOR SIMULATOR
4192
4195
4195
4197
419A
419B
419E
41A0
41A1
41A4
41A6
41A7
41AA
41AA
41AC
41AC

02 41 BF
FLR_D:
74 02
90 FF C4
F0
12 41 CD
74 04
F0
12 41 CD
74 08
F0
02 41 BF
ERROR:
78 03
ERR:
74 0B

VBMB - 022

LJMP

STAT

MOV
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOVX
LJMP

A,#02H
DPTR,#LIFT2
@DPTR,A
DELAY
A,#04H
@DPTR,A
DELAY
A,#08H
@DPTR,A
STAT

MOV

R0,#03H

MOV

A,#OBH

41AE 90 FF CC

MOV

DPTR,#STAT_OU

41B1
41B2
41B5
41B7
41B8
41BB
41BF
41BF

MOVX
CALL
MOV
MOVX
CALL
DJNZ

@DPTR,A
DELAY
A,#03H
@DPTR,A
DELAY
R0,ERR

MOV

A,#0BH

41C1 90 FF CC

MOV

DPTR,#STAT_OU

41C4
41C5
41C8
41CA
41CB
41CB
41CD
41CD

F0
12 41 CD
74 03
F0
STOP:
80 FE

MOVX
LCALL
MOV
MOVX

@DPTR,A
DELAY
A,#03H
@DPTR,A

SJMP
DELAY:
MOV

STOP

41D0
41D0
41D3
41D3
41D6
41D9

75 30 64

MOV
DL2:
CALL
D2:
DJNZ
DJNZ

COUNT,#100

F0
12
74
F0
12
D8

41 CD
03

41 CD
EF
STAT:
74 0B

75 31 0A

12 41 DD
D5 30 FA
D5 31 F4

Vi Microsystems Pvt Ltd.,

COUNT,#10

;FLOOR 6 OF LIFT2

;FLOOR 4 OF LIFT2

; G IV E T H R E E B E E P
SOUND
; INDIC ATES ER R OR
CONDITION

;TO OPEN THE DOOR


OF LIFT1
;AND GIVE BEEP FOR
1SEC

;FOR 1 SECONDS
DELAY

DELAY 1 MS
COUNT,D2
COUNT1,DL2
[ 47 ]

ELEVATOR SIMULATOR
41DC 22
RET
41DD
DELAY 1 MS:
41DD 75 8C FC
MOV
41E0 75 8C FC

MOV

41E3 12 41 E7

CALL

41E6
41E7
41E7
41E9
41EB
41ED
41EF
41F1

22
E5
54
44
F5
D2
30

89
F0
01
89
8C
8D

41F4 C2 8C
41F6 C2 8D
41F8 22

RET
T0DELAY:
MOV
ANL
ORL
MOV
SETB
FD
JNB

CLR
CLR
RET

VBMB - 022
;1 MILLI SECOND
T10,#017H ;TL0=17H, THE LOW
;BYTE OF TIMER0
TH0,#0FCH ;TH0=FCH,THE HIGH
;BYTE OF TIMER0
T0DELAY
;ACTIVATE THE TIMER0,AND
;WAIT UPTO
;TIMER OVERFLOW OCCURS
A,TMOD
A,#0F0H
A,#T0_M1
TMOD,A
TR0
TF0,$

TR0
TR0

;2 TIMER 0, MODE1
;1 START THE TIMER 0
0FFFF-(16 BIT TIMER
;VALUE)+1
;MONITOR TIMER FLAG0
;1 STOP THE TIMER 0
;1 CLEAR TIMER FLAG 0
;1 RETURN FROM SUBROUTINE

END

Vi Microsystems Pvt Ltd.,

[ 48 ]

ELEVATOR SIMULATOR

VBMB - 022

EXAMPLE-3:
PROGRAM TO SERVICE A REQUEST FROM ANY FLOOR TO GO TO GROUND
FLOOR OR 7TH FLOOR USING 8051
AIM:
To service a request from any floor to go to ground floor or 7th floor.
DISCUSSION:
* As per the previous discussion the lifts are to be initialised.
* The request will be given by the user by setting the thumbwheel switch and will be confirmed
by pressing the ENTER key.
* This will be sensed by the program by polling the port address C8H.
* By an algorithm find the nearest Lift to the requested floor.
* Now move the Lift to the requested floor and give a beep, by standard procedures, already
explained
* Now polling the address C8H for an input from UP or DOWN key.
* Now move the Lift to 7th floor by standard procedure if UP key is pressed and to Ground
floor if DOWN key is pressed.

PROCEDURE:
i) As per the previous example connect the card to the trainer.
ii) Enter the program starting from user RAM address 4100H and execute the same.
iii) Now, set the required floor number in the thumbwheel switch and press the ENTER key
for confirmation.
iv) See that the nearest lift will move to the requested floor, and the Lift door will be opened with
a beep.

Vi Microsystems Pvt Ltd.,

[ 49 ]

ELEVATOR SIMULATOR

VBMB - 022

PROGRAM:
0001
0030
0031
FFC0
FFC4
FFC8
FFCC
4100
4100
4100
4102
4105
4106
4108
410B
410C
410E
4111
4112
4115
4115
4118
4119
411B
411E
411F
4121
4122

T0_M1
COUNT
COUNT1
LIFT1
LIFT2
STAT_IN
STAT_OU

EQU
EQU
EQU
EQU
EQU
EQU
EQU
ORG

01H
30H
31H
0FFC0H
0FFC4H
0FFC8H
0FFCCH
4100H

MOV

A,#03H

MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
CALL

@DPTR,A
A,#80H
;INDICATES LIFT1 IS
DPTR,#LIFT1 ;IN GND FLOOR
@DPTR,A
A,#01H
;INDICATES LIFT2 IS
DPTR,#LIFT1 ;IN 7TH FLOOR
@DPTR,A
DELAY

MOV
MOVX
ANL
CJNE
MOVX
ANL
MOV
CJNE

DPTR,#STAT_IN
A,@DPTR
A,#0F0H
A,#0E0H,CHECK ;CHECK FOR ENTER KEY
A,@DPTR
A,#0FH
R7,A
A,#0FH,ER_1
;CHECK IF IS GND
FLOOR

4125
4125
4128
4128
4129
412A
412C

ER1:
02 42 E1

ERROR

EF
C3
94 08
40 F7

LJMP
ER_1
MOV
CLR
SUBB
JC

412E
4130
4131
4132
4134

60 F5
EF
C3
94 0C
40 03

JZ
MOV
CLR
SUBB
JC

ER1
A,R7
C
A,#0CH
LIFT_B

START:
74
90
F0
74
90
F0
74
90
F0
12
90
E0
54
B4
E0
54
FF
B4

03
FF CC
80
FF C0
01
FF C4
42

F6
CHECK:
FF C8

F0
E0 F7
0F
0F 03

Vi Microsystems Pvt Ltd.,

A,R7
C
A,#08H
ER1

;DEFAULT DOORS IS IN

;CHECK IF 8 T H OR 9 T H
FLOOR
;CHECK IF 7TH FLOOR

;FIND THE NEAREST


LIFT
[ 50 ]

ELEVATOR SIMULATOR
4136
4139
4139
413C
413C
413E
4141
4142
4143
4146
4148
414B
414C
414D
4150
4150
4153
4155
4158
4159
415C
415E
415F
4160
4163
4163
4165
4168
4169
416C
416E
416F
4172
4174
4175
4176
4176

02 41 3C
LIFT_B:
02 42 12
FLR_A:
74 02
90 FF CC
F0
EF
B4 0E 0A
74 40
90 FF C0
F0
FE
02 41 76
FLR_B:
B4 0D 10
74 40
90 FF CC
F0
12 42 F6
74 20
F0
FE
02 41 76

VBMB - 022

JMP

FLR_A

LJMP

L_B

MOV
MOV
MOVX
MOV
CJNE
MOV
MOV
MOVX
MOV
LJMP

A,#02H
DPTR,#STAT_OU
@DPTR,A
A,R7
A,#0EH,FLR_B
A,#40H
DPTR,#LIFT1
@DPTR,A
R6,A
STAT
A,#0DH,FLR_C
A,#40H
DPTR,#LIFT1
@DPTR,A
DELAY
A,#20H
@DPTR,A
R6,A
STAT

74 0B

CJNE
MOV
MOV
MOVX
LCALL
MOV
MOVX
MOV
LJMP
FLR_C:
MOV
MOV
MOVX
LCALL
MOV
MOVX
LCALL
MOV
MOVX
MOV
STAT:
MOV

4178

90 FF CC

MOV

DPTR,#STAT_OU

417B
417C
417F
4181
4182

F0
12 42 F6
74 03
F0

MOVX
LCALL
MOV
MOVX
REPT:

@DPTR,A
DELAY
A,#03H
@DPTR,A

74
90
F0
12
74
F0
12
74
F0
FE

40
FF C0
42 F6
20
42 F6
10

Vi Microsystems Pvt Ltd.,

;CLOSE THE DOOR

;1ST FLOOR

;1ST FLOOR

;2ND FLOOR

A,#40H
DPTR,#LIFT1
@DPTR
DELAY
A,#20H
@DPTR,A
DELAY
A,#10H
@DPTR,A
R6,A

;1ST FLOOR

A,#0BH

;TO OPE THE DOOR OF


LIFT1
;AND GIVE BEEP FOR
1SEC

;2ND FLOOR

;3RD FLOOR

[ 51 ]

ELEVATOR SIMULATOR
4182
4185
4186
4188
4189
418A
418C
418E
4190
4193
4194
4195
4198
4198
419B
419C
419F
41A2
41A2
41A5
41A8
41A8
41AB
41AE
41AE
41B0
41B1
41B4
41B4
41B6
41B7
41BA
41BA
41BC
41BD
41C0
41C3
41C3
41C6
41C6
41C9
41CC
41CD
41D0
41D3

90
E0
54
FF
C3
94
50
74
90
F0
EF
B4

FF C8
F0

E0
F4
02
FF CC

D0 2E

90 FF C0
EE
B4 10 03
02 41 AE
B4 20 03
02 41 B4
B4 40 18
02 41 BA
74 20
F0
12 42 F6
74 40
F0
12 42 F6
74 80
F0
12 42 F6
02 42 D3
02 41 E1
B4
90
EE
B4
02

40 FA
FF C0
40 03
41 DF

MOV
MOVX
ANL
MOV
CLR
SUBB
JNC
MOV
MOV
MOVX
MOV
CJNE
DOWN:
MOV
MOV
CJNE
JMP
DOWN_B:
CJNE
JMP
DOWN_A:
CJNE
JMP
DWN_B:
MOV
MOVX
CALL
DWN_A:
MOV
MOVX
CALL
DWN_GN:
MOV
MOVX
CALL
JMP
ER2:
LJMP
UP:
CJNE
MOV
MOV
CJNE
JMP
UPP_B:

Vi Microsystems Pvt Ltd.,

VBMB - 022
DPTR,#STAT_IN
A,@DPTR
A,#0F0H
R7,A
C
A,#0E0H
REPT
A,#02H
DPTR,#STAT_OU
@DPTR,A
A,R7
A,#0D0H,UP
DPTR,#LIFT1
A,R6
A,#10H,DOWN_B
DWN_B
A,#20H,DOWN_A
DWN_A
A,#40H,ER2
DWN_GN
A,#20H
@DPTR,A
DELAY
A,#40H
@DPTR,A
DELAY
A,#80H
@DPTR,A
DELAY
STOP_S
ERROR
A,#0B0H,ER2
DPTR,#LIFT1
A,R6
A,#40H,UPP_B
UP_B

;CHECK FOR UP KEY

[ 52 ]

ELEVATOR SIMULATOR
41D3
41D6
41D9
41D9
41DC
41DF
41DF
41E1
41E2
41E5
41E7
41E8
41EB
41EB
41ED
41EE
41F1
41F3
41F4
41F7
41F9
41FA
41FD
41FF
4200
4203

B4 20 03
02 41 E5

4205

90 FF CC

4208
4209
420C
420E
420F
4212
4212
4214
4217
4218
4219
421C
421E
4221
4222
4223

F0
12 42 F6
74 03
F0
02 42 F4

B4 10 E7
02 41 EB
74 20
F0
12 42 F6
F0
12 42 F6
74
F0
12
74
F0
12
74
F0
12
74
F0
12
74

74
90
F0
EF
B4
74
90
F0
FE
02

08
42 F6
04
42 F6
02
41 F6
01
42 F6
0B

01
FF CC

09 0A
02
FF C4

42 4C

CJNE
JMP
UPP_C:
CJNE
JMP
UP_B:
MOV
MOVX
CALL
UP_C:
MOVX
CALL
UP_D:
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOV
MOVX
LCALL
MOV
MOVX
LJMP
L_B:
MOV
MOV
MOVX
MOV
CJNE
MOV
MOV
MOVX
MOV
LJMP

Vi Microsystems Pvt Ltd.,

VBMB - 022
A,#20H,UPP_C
UP_C
A,#10H,ER2
UP_D
A,#20H
@DPTR,A
DELAY
A,#10H
DELAY
A,#08H
@DPTR,A
DELAY
A,#04H
@DPTR,A
DELAY
A,#02H
@DPTR,A
DELAY
A,#01H
@DPTR,A
DELAY
A,#0BH
DPTR,#STAT_OU

;UP_E

;UP_F

;UP_G

;TO OPEN THE DOOR


OF LIFT1
;AND GIVE BEEP FOR
1SEC

@DPTR,A
DELAY
A,#03H
@DPTR,A
STOP
A,#01H
DPTR,#STAT_OU
@DPTR,A
A,R7
A,#09H,FLR_E
A,#02H
DPTR,#LIFT2
@DPTR,A
R6,A
STAT_S

;CLOSE DOOR OF LIFT2

;FLOOR 6 OF LIFT2

[ 53 ]

ELEVATOR SIMULATOR
4226
4226
4299
422B
422E
422F
4232
4234
4235
4236
4239
4239
423B
423E
423F
4242
4244
4245
4248
424A
424B
424C
424C

B4 0A 10
74 02
90 FF C4
F0
12 42 F6
74 04
F0
FE
02 42 4C
74
90
F0
12
74
F0
12
74
F0
FE

02
FF C4
42 F6
04
42 F6
08

74 0B

FLR_E:
CJNE
MOV
MOV
MOVX
CALL
MOV
MOVX
MOV
LJMP
FLR_D:
MOV
MOV
MOVX
CALL
MOV
MOVX
CALL
MOV
MOVX
MOV
STAT_S:
MOV

424E 90 FF CC
4251
4252
4255
4257
4258
4258
425B
425C
425E
425F
4260
4262
4264
4266
4269
426A
426B
426E
426E

F0
12 42 F6
74 03
F0
90
E0
54
FF
C3
94
50
74
90
F0
EF
B4

FF C8
F0

E0
F4
01
FF CC

D0 3A

90 FF C4

MOV
MOVX
LCALL
MOV
MOVX
REPT_S:
MOV
MOVX
ANL
MOV
CLR
SUBB
JNC
MOV
MOV
MOVX
MOV
CJNE
DOWN_S:
MOV

Vi Microsystems Pvt Ltd.,

VBMB - 022
A,#0AH,FLR_D
A,#02H
DPTR,#LIFT2
@DPTR,A
DELAY
A,#04H
@DPTR,A
R6,A
STAT_S

;FLOOR 6 OF LIFT2

;FLOOR 5 OF LIFT2

A,#02H
DPTR,#LIFT2
@DPTR,A
DELAY
A,#04H
@DPTR,A
DELAY
A,#08H
@DPTR,A
R6,A

;FLOOR 5 OF LIFT2

A,#0BH

;TO OPEN THE DOOR


OF LIFT1
;AND GIVE BEEP FOR 1
SEC

DPTR,#STAT_OU

;FLOOR4 OF LIFT2

@DPTR,A
DELAY
A,#03H
@DPTR,A
DPTR,#STAT_IN
A,@DPTR
A,#0F0H
R7,A
C
A,#0E0H
REPT_S
A,#01H
DPTR,#STAT_OU
@DPTR,A
A,R7
A,#0D0H,UP_S
DPTR,#LIFT2
[ 54 ]

ELEVATOR SIMULATOR
4271
4272
4275
4278
4278
427B
427E
427E
4281
4281
4283
4284
4287
4287
4289
428A
428D
428D
428F
4290
4293
4295
4296
4299
429B
429C
429F
42A1
42A2
42A5
42A8
42A8
42AB
42AE
42AF
42B2
42B5
42B5
42B8
42BB
42BB
42BE
42C1
42C1
42C3

EE
B4 02 03
02 42 81

MOV
CJNE
JMP
FLO_E:
B4 04 03
CJNE
02 42 87
JMP
02 42 8D
JMP
FLO_D:
FL_E:
74 04
MOV
F0
MOVX
12 42 F6
CALL
FL_D:
74 08
MOV
F0
MOVX
12 42 F6
CALL
FL_C:
74 10
MOV
F0
MOVX
12 42 F6
CALL
74 20
MOV
F0
MOVX
12 42 F6
CALL
74 40
MOV
F0
MOVX
12 42 F6
CALL
74 80
MOV
F0
MOVX
12 42 F6
CALL
02 42 D3
JMP
UP_S:
B4 B0 36
CJNE
90 FF C4
MOV
EE
MOV
B4 08 03
CJNE
02 42 C1
JMP
U_E:
B4 04 03
CJNE
02 42 C1
JMP
U_F:
B4 02 23
CJNE
02 42 CD
JMP
UO_E:
74 04
MOV
F0
MOVX

Vi Microsystems Pvt Ltd.,

VBMB - 022
A,R6
A,#02H,FLO_E
FL_E
A,#04H,FLO_D
FL_D
FL_C

A,#04H
@DPTR,A
DELAY
A,#08H
@DPTR,A
DELAY
A,#10H
@DPTR,A
DELAY
A,#20H
@DPTR,A
DELAY
A,#040H
@DPTR,A
DELAY
A,#80H
@DPTR,A
DELAY
STOP_S
A,#0B0H,ERROR
DPTR,#LIFT2
A,R6
A,#08H,U_E
UO_E
A,#04H,U_F
UO_F
A,#02H,ERROR
UO_G
A,#04H
@DPTR,A
[ 55 ]

ELEVATOR SIMULATOR
42C4
42C7
42C7
42C9
42CA
42CD
42CD
42CF
42D0
42D3
42D3

12 42 F6

CALL

DELAY

MOV
MOVX
CALL

A,#02H
@DPTR,A
DELAY

MOV
MOVX
CALL
STOP_S:
MOV

A,#01H
@DPTR,A
DELAY

UO_F:
74 02
F0
12 42 F6
UO_G:
74 01
F0
12 42 F6
74 0B

42D5 90 FF CC
42D8
42D9
42DC
42DE
42DF
42E1
42E1
42E3
42E3

VBMB - 022

F0
12 42 F6
74 03
F0
80 13
78

03

74 0B

MOV
MOVX
LCALL
MOV
MOVX
SJMP
ERROR:
MOV
ERR:
MOV

A,#0BH
DPTR,#STAT_OU
@DPTR,A
DELAY
A,#03H
@DPTR,A
STOP
R0,#03H
A,#0BH

42E5 90 FF CC

MOV

DPTR,#STAT_OU

42E8
42E9
42EC
42EE
42EF
42F2
42F4
42F4
42F6
42F6

F0
12
74
F0
12
D8

MOVX
CALL
MOV
MOVX
CALL
DJNZ

@DPTR,A
DELAY
A,#03H
@DPTR,A
DELAY
R0,ERR

42F9
42F9
42FC
42FF
4302
4305
4306
4306

75 30 64

42 F6
03
42 F6
EF

;TO OPEN THE DOOR


OF LIFT1
;AND GIVE BEEP FOR 1
SEC

;GIVE THE BEEP


SOUND
; INDIC ATES ER R OR
CONDITION

STOP:
80 FE
75 31 0A

SJMP
DELAY:
MOV

STOP
COUNT1,#10

MOV

COUNT,#100

CALL

DELAY1 MS

;FOR 1 SECONDS
DELAY

DL2:
12 43 06
D2:
D5 30 FA
D5 31 F4
75 8A 17

DJNZ
DJNZ
DELAY1 MS:
MOV

Vi Microsystems Pvt Ltd.,

COUNT,D2
COUNT1,DL2
T10,#017H

;1MILLI SECOND
;TLO=17H, THE LOW
[ 56 ]

ELEVATOR SIMULATOR

4309

75

8C FC

430C 12 43 10
430F
4310
4310
4312
4314
4316
4318
431A

MOV
CALL

RET
T0DELAY:
E5 89
MOV
54 F0
ANL
44 01
ORL
F5 89
MOV
D2 8C
SETB
30 8D FD
JNB

VBMB - 022
BYTE OF
;TIMER0
TH0,#0FCH ;TH0=FCH, THE HIGH BYTE OF
;TIMER0
T0DELAY
;ACTIVATE THE TIMER 0, AND WAIT
;UPTO

22

431D C2 8C
431F C2 8D
4321 22

CLR
CLR
RET

A,TMOD
A,#0F0H
A,#T0_M1
TMOD,A
TR0
TF0,$

TR0
TF0

;2 TIMER 0, MODE1
;1 START THE TIMER 0
;0FFFF-(16 BIT TIMER
;VALUE)+1
;MONITOR TIMER FLAG 0
;1 STOP THE TIMER 0
;1 CLEAR TIMER FLAG 0
;1 RETURN FROM SUBROUTINE

END

Vi Microsystems Pvt Ltd.,

[ 57 ]

ELEVATOR SIMULATOR

VBMB - 022

APPENDIX - A
CIRCUIT DIAGRAM

Vi Microsystems Pvt Ltd.,

[ 58 ]

11

LFT2-

RST-

RST-

VCC
GND

Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8

20
10

2
5
6
9
12
15
16
19

VCC
GND

Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8

74LS273

CLR

74LS273

CLR

U4

CLK

D1
D2
D3
D4
D5
D6
D7
D8

U5

CLK

D1
D2
D3
D4
D5
D6
D7
D8

D0
D1
D2
D3
D4
D5
D6
D7

11

LFT1-

3
4
7
8
13
14
17
18

3
4
7
8
13
14
17
18

D0
D1
D2
D3
D4
D5
D6
D7

20
10

2
5
6
9
12
15
16
19

DC5
0.1MFD

VCC

DC4
0.1MFD

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

R16

R15

R14

R13

R12

R11

R10

R9

R8

R7

R6

R5

R4

R3

R2

R1

330E

330E

330E

330E

330E

330E

330E

330E

LED

LED
L16

LED
L15

LED
L14

LED
L13

LED
L12

LED
L11

LED
L10

L9

330E

330E

330E

330E

330E

330E

330E

330E

LED

LED
L8

LED
L7

LED
L6

LED
L5

LED
L4

LED
L3

LED
L2

L1

RST-

STATOUT-

D0
D1
D2
D3
D4
D5
D6
D7

Date:

Size
A

Title

20
10

2
5
6
9
12
15
16
19

Q1
SL100

L21

LED

R19

R18

R17

VCC

330E

330E

330E

Sheet

MODEL : VBMB-022
Thursday, December 01, 2011

Document Number

LED

LED
L19

LED
L18

L17

1
1

of

CHK BY : Mrs.R.K
ELEVATOR INTERFACE

DRN BY : Mrs.R.V

BUZZER

DC6
0.1MFD

VCC

VCC

VCC

VCC

Vi Microsystems Pvt. Ltd.,

220E

R24
330E

VCC
GND

Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8

74LS273

CLR

CLK

D1
D2
D3
D4
D5
D6
D7
D8

R25

11

3
4
7
8
13
14
17
18

U6

Rev

VCC

10

R29
330E

7400

U1C

VCC

VCC

VCC

R27
3.3K

R26
3.3K

SW4

SW3

J1

SW2

4
3

VCC

Sheet

MODEL : VBMB-022

ELEVATOR INTERFACE

2
1

of

CHK BY : Mrs.R.K

Vi Microsystems Pvt. Ltd.,

DC3
0.1MFD

D0
D1
D2
D3
D4
D5
D6
D7

DRN BY : Mrs.R.V

20
10

18
16
14
12
9
7
5
3

Thursday, December 01, 2011

74LS244

VCC
GND

1Y1
1Y2
1Y3
1Y4
2Y1
2Y2
2Y3
2Y4

R23
3.3K

Date:

1G
2G

U3

R22
3.3K

VCC

Document Number

1
19

1A1
1A2
1A3
1A4
2A1
2A2
2A3
2A4

R21
3.3K

VCC

Size
A

SWIN1-

2
4
6
8
11
13
15
17

R20
3.3K

VCC

TACTILE SWITCH

RST 5.5

1
2
3
4
5
6

VCC

Title

1
2
4
C
B
C
THUMBWHEEL SWITCH

SW1

4
3

1
2

SW5

1
2
3

6
5
4

LED

LIMIT SWITCH

1
2
3

1
2
3

TACTILE SWITCH

RST 5.5

1
2

3.3K

RST 6.5

R28

L20

Rev

A6

IOW-

A7

DC1
0.1MFD

IOR-

U1A
7400

14

7400

U1B

VCC

DC2
0.1MFD

VCC

A5

A2
A3
A4

1
2
3
6
5
4
8
16
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

74LS138

A
B
C
G1
G2B
G2A
GND
VCC

U2

15
14
13
12
11
10
9
7

LFT1LFT2SWIN1STATOUT-

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
A8
A9
A10
A11
A12
A13
A14
A15
ALE
+30V
VCC
-12V

CMOS VCC
VCC
A0
A1
A2
A3
A4
A5
A6
A7

Thursday, December 01, 2011

Date:

Sheet

3
1

of

CHK BY : Mrs.R.K

MODEL : VBMB-022

Document Number

P1

ELEVATOR INTERFACE
Size
A

Title

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Vi Microsystems Pvt. Ltd.,

RST
VCC
D0
D1
D2
D3
D4
D5
D6
D7
RSTIORIOWPCLK
MWMRINTAINTR
RST 7.5
RST 6.5
RST 5.5
VCC
+12V

DRN BY : Mrs.R.V

Rev

ELEVATOR SIMULATOR

VBMB - 022

APPENDIX - B
COMPONENT LAYOUT

Vi Microsystems Pvt Ltd.,

[ 62 ]

You might also like