Professional Documents
Culture Documents
Application Manual
Version 1.0
CONTENTS
CHAPTER
CHAPTER 1:
1:1
1:2
Introduction ............................................................................... 1
Hardware specification and description ................................... 1
CHAPTER 2.
2:1
2:2
2:3
APPENDIX-A
APPENDIX-B
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]
ELEVATOR SIMULATOR
VBMB - 022
CHAPTER 2
[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
[3]
ELEVATOR SIMULATOR
A7
A6
VBMB - 022
A5
0
A4
0
A3
0
A2
1
A2
X
A1
X
A7
A6
A5
0
A4
0
A3
1
A2
0
A2
X
A1
X
A6
A5
0
A4
0
A3
1
A2
1
A2
X
A1
X
[4]
ELEVATOR SIMULATOR
VBMB - 022
NOTE: Place the shunt in position A for connecting RST 5.5 to the switch .
This option available for only VBMB -022 /Rev.1.
[5]
ELEVATOR SIMULATOR
VBMB - 022
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.
[6]
ELEVATOR SIMULATOR
VBMB - 022
The following flow chart gives the details of request acknowledging and servicing method
clearly.
[7]
ELEVATOR SIMULATOR
VBMB - 022
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.
[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)
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)
iv)
We can see the movement of the Lift1 from ground floor to 4th floor.
[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:
;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.
[ 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)
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
;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
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
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:
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.
[ 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)
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
[ 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
;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:
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
[ 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:
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
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
[ 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
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
HLT
EXERCISE:
Write a program to service a request from any floor to goto any floor.
[ 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)
ii)
Enter the following program starting from user RAM address 4100H. Also enter
the ISR starting from 5000H.
iii)
iv)
v)
We can see the result in the LEDs as per the previous example.
[ 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:
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
;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:
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
[ 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
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
;UP_A:
;UP_E:
;UP_F:
;UP_G:
[ 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:
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
;FLOOR 6 OF LIFT2
;FLOOR 5 OF LIFT2
;FLOOR4OF LIFT2
;FLOOR 4 OF LIFT2
[ 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:
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:
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
[ 29 ]
ELEVATOR SIMULATOR
3.5
VBMB - 022
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:
[ 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
VBMB - 022
CL,02H
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
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
[ 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
FLR_B:
1040
1042
1044
1046
1048
104B
104D
104F
FLR_C:
1051
1053
1055
1058
105A
105C
105F
1061
STAT:
1063
1065
1067
106A
106C
106E
LIFTB:
1070
1072
1074
1076
1078
107A
107C
107E
[ 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
[ 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
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:
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
[ 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:
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
[ 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:
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
[ 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
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
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:
DEC
MOV
OR
JNZ
DEC
JNZ
RET
HLT
BX
AL,BL
AL,BH
LOOP2
CL
LOOP1
[ 40 ]
ELEVATOR SIMULATOR
3.6
VBMB - 022
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.
[ 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
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
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
[ 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.
[ 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
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
[ 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
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
@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
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
;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
[ 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.
[ 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
A,R7
C
A,#08H
ER1
;DEFAULT DOORS IS IN
;CHECK IF 8 T H OR 9 T H
FLOOR
;CHECK IF 7TH FLOOR
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
;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
;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:
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
[ 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
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
@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
;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
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
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
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
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
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
[ 57 ]
ELEVATOR SIMULATOR
VBMB - 022
APPENDIX - A
CIRCUIT DIAGRAM
[ 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
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
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
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
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
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
[ 62 ]