Page 1
ELEVATOR SIMULATORModel 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 : [email protected] ,
Web : www.vimicrosystem.com
Page 2
CONTENTS
CHAPTER
CHAPTER 1:
1:1 Introduction ............................................................................... 1
1:2 Hardware specification and description ................................... 1
CHAPTER 2.
2:1 Circuit Implementation .............................................................. 2
2:2 Interrupt Driven Request Service .............................................. 5
2:3 Assignments and Operating Sequence ...................................... 6
CHAPTER 3. Examples and Exercises.
3.1 Example 1 - To move lift 1 to 4th floor
from ground floor ...................................................................... 9
3.2 Example 2 - To find the nearest lift for a
request from any floor ............................................................... 12
3.3 Example 3 - To service a request from any
floor to go to ground floor or 7th floor ....................................... 16
3.4 Example 4 - Interrupt Based Request
Service ...................................................................................... 23
3.5 Program in 8086 Assembly Language........................................ 30
3.6 Program in 8051 Assembly Language....................................... 41
LIST OF APPENDICES
APPENDIX-A CIRCUIT DIAGRAM ...................................................58
APPENDIX-B COMPONENT LAYOUT ............................................. 59
Page 3
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 1 ]
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.
Page 4
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 2 ]
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
Page 5
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 3 ]
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
gate’s 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 A4 A3 A2 A1 A0
1 1 0 0 0 0 X X
With I/O address COH.
The lift2 control register is selected for I/O address C4H.
Page 6
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 4 ]
A7 A6 A5 A4 A3 A2 A2 A1
1 1 0 0 0 1 X X
The Request input register is selected for I/O address C8H
A7 A6 A5 A4 A3 A2 A2 A1
1 1 0 0 1 0 X X
The Status/Error output register is selected for I/O address CCH.
A7 A6 A5 A4 A3 A2 A2 A1
1 1 0 0 1 1 X 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.
Page 7
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 5 ]
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.
Page 8
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 6 ]
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 Lift Position
80
40
20
10
08
04
02
01
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.
Page 9
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 7 ]
The following flow chart gives the details of request acknowledging and servicing method
clearly.
Page 10
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 8 ]
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.
Page 11
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 9 ]
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 Micro-
85 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.
Page 12
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 10 ]
PROGRAM:
;EXAMPLE-1
;SOFTWARE EXAMPLE TO MOVE
;LIFT1 TO 4TH FLOOR FROM
;GROUND FLOOR & OPEN THE DOOR
4100 ORG 4100H
C0 00 LIFT1 EQU 0C0H
C4 00 LIFT2 EQU 0C4H
C8 00 STAT _IN EQU 0C8H
CC 00 STAT_OU EQU 0CCH
4100 3E 03 START : MVI A,03 ; D E F A U L T O P E N
DOORS
4102 D3 CC OUT STA_OU ;OF LIFT1 & LIFT2
4104 CD 3B 41 CALL DELAY
4107 3E 02 MVI A,02 ;CLOSE DOOR OF LIFT1
4109 D3 CC OUT STA_OU
410B 3E 80 MVI A,80H ;INDICATES LIFT1 IS
410D D3 C0 OUT LIFT1 ;IN GROUND FLOOR
410F 3E 01 MVI A,01 ; INDICATES LIFT2 IS
4111 D3 C4 OUT LIFT2 ;IN 7TH FLOOR
4113 CD 3B 41 CALL DELAY
4116 3E 40 MVI A,40H
4118 D3 CO OUT LIFT1
411A CD 3B 41 CALL DELAY
411D 3E 20 MVI A,20H
411F D3 C0 OUT LIFT1
4121 CD 3B 41 CALL DELAY
4124 3E 10 MOV A,10H
4126 D3 C0 OUT LIFT1
4128 CD 3B 41 CALL DELAY
412B 3E 08 MVI A,08H
412D D3 C0 OUT LIFT1
412F 3E 0B MVI A,0BH ;BEEP FOR DOOR OPEN
4131 D3 CC OUT STAT_OU
4133 CD 3B 41 CALL DELAY
4136 3E 03 MVI A,03 ;OPEN DOORS
4138 D3 CC OUT STAT_OU
413A 76 HLT
413B 0E 02 DELAY: MVI C,02H ; D E L A Y F O R 1
SECOND
413D 11 FE F9 LOOP1: LXI D,F9FEH
4140 1B LOOP2: DCX D
4141 7A MOV A,D
Page 13
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 11 ]
4142 B3 ORA E
4143 C2 40 41 JNZ LOOP2
4146 0D DCR C
4147 C2 3D 41 JNZ LOOP1
414A C9 RET
414B END
EXERCISE:
Write a program to move the Lift2 to 4th floor from 7th floor.
Page 14
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 12 ]
3.2 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:
;EXAMPLE-2
;SOFTWARE EXAMPLE TO FIND
;THE NEAREST LIFT FOR A
;REQUEST FROM ANY FLOOR
C0 00 LIFT1 EQU 0C0H
C4 00 LIFT2 EQU 0C4H
C8 00 STAT_IN EQU 0C8H
CC 00 STAT_OU EQU 0CCH
4100 ORG 4100H
Page 15
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 13 ]
4100 3E 03 START : MVI A,03 ;DEFAULT DOORS IS IN
4102 D3 CC OUT STAT_OU ;OPEN CONDITION
4104 3E 80 MVI A,80H ;ASSUME LIFT1 IS IN
4106 D3 C0 OUT LIFT1 ;GROUND FLOOR
4108 3E 01 MVI A,01H ;LIFT2 IS IN 7TH
410A D3 C4 OUT LIFT2 ;FLOOR
410C CD E1 41 CALL DELAY
410F DB C8 CHECK: IN STAT_IN
4111 E6 F0 ANI F0H
4113 FE E0 CPI E0H ;CHECK FOR ENTER
KEY.
4115 C2 0F 41 JNZ CHECK
4118 DB C8 IN STAT_IN
411A E6 0F ANI 0FH
411C FE 0F CPI 0FH ;CHECK IF IS GROUND
FLOOR
411E CA B7 41 JZ ERROR
4121 FE 08 CPI 08H
4123 DA B7 41 JC ERROR ;CHECK IF 8TH OR 9TH
;FLOOR
4126 CA B7 41 JZ ERROR ;CHECK IF 7TH FLOOR
4129 47 MOV B,A
412A FE 0C CPI 0CH ;FIND THE NEAREST
LIFT
412C DA 73 41 JC LIFTB
412F 3E 02 FLR_A: MVI A,02 ;CLOSE DOOR OF
LIFT1
4131 D3 CC OUT STAT_OU
4133 78 MOV A,B
4134 FE 0E CPI 0EH
4136 C2 40 41 JNZ FLR_B
4139 3E 40 MVI A,40H ;1ST FLOOR
413B D3 C0 OUT LIFT1
413D C3 65 41 JMP STAT
4140 FE 0D FLR_B: CPI ODH
4142 C2 53 41 JNZ FLR_C
4145 3E 40 MVI A,40H
4147 D3 C0 OUT LIFT1
4149 CD E1 41 CALL DELAY
414C 3E 20 MVI A,20H ;2ND FLOOR
414E D3 C0 OUT LIFT1
4150 C3 65 41 JMP STAT
4153 3E 40 FLR_C: MVI A,40H
4155 D3 C0 OUT LIFT1
4157 CD E1 41 CALL DELAY
Page 16
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 14 ]
415A 3E 20 MVI A,20H
415C D3 C0 OUT LIFT1
415E CD E1 41 CALL DELAY
4161 3E 10 MVI A,10H ;3RD FLOOR
4163 D3 C0 KYOUT LIFT1
4165 3E 0B STAT: MVI A,0BH ;TO OPEN THE DOOR
;OF LIFT1
4167 D3 CC OUT STA_OU ;& GIVE BEEP FOR 1
SEC
4169 CD E1 41 CALL DELAY
416C 3E 03 MVI A,03
416E D3 CC OUT STAT_OU
4173 3E 01 LIFTB: MVI A,01 ;CLOSE DOOR OF LIFT2
4175 D3 CC OUT STAT_OU
4177 78 MOV A,B
4178 FE 09 CPI 09H
417A C2 84 41 JNZ FLR_E
417D 3E 02 MVI A,02 ;FLOOR 6 OF LIFT2
417F D3 C4 OUT LIFT2
4181 C3 A9 41 JMP STAT1
4184 FE 0A FLR_E CPI 0AH
4186 C2 97 41 JNZ FLR_D
4189 3E 02 MVI A,02 ;FLOOR 6 OF LIFT2
418B D3 C4 OUT LIFT2
418D CD E1 41 CALL DELAY
4190 3E 04 MVI A,O4 ;FLOOR 5 0F LIFT2
4192 D3 C4 OUT LIFT2
4194 C3 A9 41 JMP STAT1
4197 3E 02 FLR_D MVI A,02
4199 D3 C4 OUT LIFT2
419B CD E1 41 CALL DELAY
419E 3E 04 MVI A,04
41A0 D3 C4 OUT LIFT2
41A2 CD E1 41 CALL DELAY
41A5 3E 08 MVI A,08H ;FLOOR 4 OF LIFT2
41A7 D3 C4 OUT LIFT2
41A9 3E 0B START1: MVI A,0BH ;OPEN DOOR OF LIFT2
41AB D3 CC OUT STAT_OU ;& GIVE BEEP SOUND
41AD CD E1 41 CALL DELAY
41B0 3E 03 MVI A,03
41B2 D3 CC OUT STAT_OU
41B4 C3 F1 41 JMP STOP
41B7 3E 0B ERROR: MVI A,0BH ;GIVE THREE BEEP
41B9 D3 CC OUT STAT_OU ;SOUND INDICATES
41BB CD E1 41 CALL DELAY ;ERROR CONDITION
Page 17
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 15 ]
41BE 3E 03 MVI A,03
41C0 D3 CC OUT STAT_OU
41C2 CD E1 41 CALL DELAY
41C5 3E 0B MVI A,OBH
41C7 D3 CC OUT STAT_OU
41C9 CD E1 41 CALL DELAY
41CC 3E 03 MVI A,03
41CE D3 CC OUT STAT_OU
41D0 CD E1 41 CALL DELAY
41D3 3E 0B MVI A,0BH
41D5 D3 CC OUT STAT_OU
41D7 CD E1 41 CALL DELAY
41DA 3E 03 MVI A,03
41DC D3 CC OUT STAT_OU
41DE C3 F1 41 JMP STOP
41E1 0E 02 DELAY: MVI C,02 ;DELAY FOR 1SEC
41E3 11 FE F9 LOOP1: LXI D,F9FEH
41E6 1B LOOP2 DCX D
41E7 7A MOV A,D
41E8 B3 ORA E
41E9 C2 E6 41 JNZ LOOP2
41EC 0D DCR C
41ED C2 E3 41 JNZ LOOP1
41F0 C9 RET
41F1 76 STOP: HLT
41F2 END
EXERCISE:
Write a program to find the nearest lift for a request from any floor and go to ground floor.
Page 18
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 16 ]
3.3 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
Page 19
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 17 ]
PROGRAM:
;EXAMPLE-3
;SOFTWARE EXAMPLE TO SERVICE
;A REQUEST FROM 5TH FLOOR
;TO GO TO GROUND FLOOR
C0 00 LIFT1 EQU 0C0H
C4 00 LIFT2 EQU 0C4H
C8 00 STAT_IN EQU 0C8H
CC 00 STAT_OU EQU 0CCH
4100 ORG 4100H
4100 3E 03 START: MVI A,03 ;OPEN DOORS
4102 D3 CC OUT STAT_OU
4104 3E 80 MVI A,80H ;ASSUME LIFT IS IN
4106 D3 C0 OUT LIFT1 ;GROUND FLOOR
4108 3E 01 MVI A,01H ;LIFT2 IS IN 7TH
410A D3 C4 OUT LIFT2 ;FLOOR
410C CD 19 43 CALL DELAY
410F DB C8 CHECK: IN STAT_IN
4111 E6 F0 ANI F0H
4113 FE E0 CPI E0H ;CHECK FOR ENTER KEY
4115 C2 0F 41 JNZ CHECK
4118 DB C8 IN STAT_IN
411A E6 0F ANI 0FH
411C FE 0F CPI 0FH ;CHECK IF IS GRD FLR
411E CA EF 42 JZ ERROR
4121 FE 08 CPI 08H
4123 DA EF 42 JC ERROR ;CHECK IF 8TH OR
;9TH FLOOR
4126 CA EF 42 JZ ERROR ;CHECK IF 7TH FLOOR
4129 47 MOV B,A
412A FE 0C CPI 0CH ;FIND THE NEAREST LIFT
412C DA 15 42 JC LIFTB
412F 3E 02 FLR_A: MVI A,02 ;CLOSE THE DOOR OF LIFT
4131 D3 CC OUT STAT_OU
4133 78 MOV A,B
4134 FE 0E CPI 0EH
4136 C2 40 41 JNZ FLR_B
4139 3E 40 MVI A,40H ;1ST FLOOR
413B D3 C0 OUT LIFT1
413D C3 65 41 JMP STAT
4140 FE 0D FLR_B: CPI 0DH
4142 C2 53 41 JNZ FLR_C
4145 3E 40 MVI A,40H
Page 20
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 18 ]
4147 D3 C0 OUT LIFT1
4149 CD 19 43 CALL DELAY
414C 3E 20 MVI A,20H ;2ND FLOOR
414E D3 C0 OUT LIFT1
4150 C3 65 41 JMP STAT
4153 3E 40 FLR_C: MVI A,40H
4155 D3 C0 OUT LIFT1
4157 CD 19 43 CALL DELAY
415A 3E 20 MVI A,20H
415C D3 C0 OUT LIFT1
415E CD 19 43 CALL DELAY
4161 3E 10 MVI A,10H ;3RD FLOOR
4163 D3 C0 OUT LIFT1
4165 47 STAT: MOV B,A
4166 3E 0B MVI A,0BH ;TO OPEN THE DOOR OF LIFT1
4168 D3 CC OUT STAT_OU
416A CD 19 43 CALL DELAY
416D 3E 03 MVI A , 03
416F D3 CC OUT STAT _OU
4171 DB C8 REPT: IN STAT_IN
4173 E6 F0 ANI F0H
4175 FE E0 CPI E0H
4177 D2 71 41 JNC REPT
417A 3E 02 MVI A , 02
417C D3 CC OUT STAT_OU
417E DB C8 IN STAT_IN
4180 E6 F0 ANI F0H
4182 FE D0 CPI D0H
4184 C2 B8 41 JNZ UP
4187 78 DOWN: MOV A,B
4188 FE 10 CPI 10H
418A C2 90 41 JNZ DOWN_B
418D C3 A0 41 JMP DWN_B
4190 FE 20 DOWN_B: CPI 20H
4192 C2 98 41 JNZ DOWN_A
4195 C3 A7 41 JMP DWN_A
4198 FE 40 DOWN_A: CPI 40H
419A C2 EF 42 JNZ ERROR
419D C3 AE 41 JMP DWN_GN
41A0 3E 20 DWN_B: MVI A,20H
41A2 D3 C0 OUT LIFT1
41A4 CD 19 43 CALL DELAY
41A7 3E 40 DWN_A: MVI A,40H
41A9 D3 C0 OUT LIFT1
41AB CD 19 43 CALL DELAY
Page 21
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 19 ]
41AE 3E 80 DWN_GN: MVI A,80H
41B0 D3 C0 OUT LIFT1
41B2 CD 19 43 CALL DELAY
41B5 C3 07 42 JMP STOP
41B8 FE B0 UP: CPI BOH ;CHECK F0 UP KEY
41BA C2 EF 42 JNZ ERROR
41BD 78 MOV A,B
41BE FE 40 CPI 40H
41C0 C2 C6 41 JNZ UPP_B
41C3 C3 DD 41 JMP UP_B
41C6 FE 20 UPP_B: CPI 20H
41C8 C2 CE 41 JNZ UPP_C
41CB C3 E4 41 JMP UP_C
41CE FE 10 UPP_C: CPI 10H
41D0 C2 EF 42 JNZ ERROR
41D3 C3 EB 41 JMP UP_D
41D6 3E 40 MVI A,40H ;UP_A:
41D8 D3 C0 OUT LIFT1
41DA CD 19 43 CALL DELAY
41DD 3E 20 UP_B: MVI A,20H
41DF D3 C0 OUT LIFT1
41E1 CD 19 43 CALL DELAY
41E4 3E 10 UP_C: MVI A,10H
41E6 D3 C0 OUT LIFT1
41E8 CD 19 43 CALL DELAY
41EB 3E 08 UP_D: MVI A,08
41ED D3 C0 OUT LIFT1
41EF CD 19 43 CALL DELAY
41F2 3E 04 MVI A,04 ;UP_E:
41F4 D3 C0 OUT LIFT1
41F6 CD 19 43 CALL DELAY
41F9 3E 02 MVI A,02 ;UP_F:
41FB D3 C0 OUT LIFT1
41FD CD 19 43 CALL DELAY
4200 3E 01 MVI A,01 ;UP_G:
4202 D3 C0 OUI LIFT1
4204 CD 19 43 CALL DELAY
4207 3E 0B STOP: MVI A,0BH
4209 D3 CC OUT STAT_OU
420B CD 19 43 CALL DELAY
420E 3E 03 MVI A,01
4210 D3 CC OUT STAT_OU
4212 C3 29 43 JMP END
4215 3E 01 LIFTB: MVI A,01
4217 D3 CC OUT STAT_OU
Page 22
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 20 ]
4219 78 MOV A,B
421A FE 09 CPI 09H
421C C2 26 42 JNZ FLR_E
421F 3E 02 MVI A,02 ;FLOOR 6 OF LIFT2
4221 D3 C4 OUT LIFT2
4223 C3 4B 42 JMP STAT_S
4226 FE 0A FLR_E: CPI 0AH
4228 C2 39 42 JNZ FLR_D
422B 3E 02 MVI A,02
422D D3 C4 OUT LIFT2
422F CD 19 43 CALL DELAY
4232 3E 04 MVI A,04 ;FLOOR 5 OF LIFT2
4234 D3 C4 OUT LIFT2
4236 C3 4B 42 JMP STAT_S
4239 3E 02 FLR_D: MVI A,02
423B D3 C4 OUT LIFT2
423D CD 19 43 CALL DELAY
4240 3E 04 MVI A,04
4242 D3 C4 OUT LIFT2
4244 CD 19 43 CALL DELAY
4247 3E 08 MVI A,08H ;FLOOR 4 OF LIFT2
4249 D3 C4 OUT LIFT2
424B 47 STAT_S: MOV B, A
424C 3E 0B MVI A,0BH
424E D3 CC OUT STAT_OU
4250 CD 19 43 CALL DELAY
4253 3E 03 MVI A,03
4255 D3 CC OUT STAT_OU
4257 DB C8 REPT_S: IN STAT_IN
4259 E6 F0 ANI F0H
425B FE E0 CPI E0H
425D D2 57 42 JNC REPT_S
4260 3E 01 MVI A,01 ;CLOSE DOOR OF LIFT2
4262 D3 CC OUT STAT_OU
4264 DB C8 IN STAT_IN
4266 E6 F0 ANI F0H
4268 FE D0 CPI D0H
426A C2 AE 42 JNZ UP_S
426D 78 DOWN_S: MOV A,B
426E FE 02 CPI 02
4270 C2 76 42 JNZ FLO_E
4273 C3 81 42 JMP FL_E
4276 FE 04 FLO_E: CPI 04
4278 C2 7E 42 JNZ FLO_D
427B C3 81 42 JMP FL_D
Page 23
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 21 ]
427E C3 8F 42 FLO_D: JMP FL_C
4281 3E 04 FL_E: MVI A,04
4283 D3 C4 OUT LIFT2
4285 CD 19 43 CALL DELAY
4288 3E 08 FL_D: MVI A,08
428A D3 C4 OUT LIFT2
428C CD 19 43 CALL DELAY
428F 3E 10 FL_C: MVI A,10H
4291 D3 C4 OUT LIFT2
4293 CD 19 43 CALL DELAY
4296 3E 20 MVI A,20H ;FL_B
4298 D3 C4 OUT LIFT2
429A CD 19 43 CALL DELAY
429D 3E 40 MVI A,40H ;FL_A
429F D3 C4 OUT LIFT2
42A1 CD 19 43 CALL DELAY
42A4 3E 80 MVI A,80H ;FL_GN
42A6 D3 C4 OUT LIFT2
42A8 CD 19 43 CALL DELAY
42AB C3 E1 42 JMP STOP_S
42AE FE B0 UP_S: CPI B0H
42B0 C2 AE 42 JNZ UP_S
42B3 78 MOV A,B
42B4 FE 08 CPI 08
42B6 C2 BC 42 JNZ U_E
42B9 C3 CC 42 JMP UO_E
42BC FE 04 U_E: CPI 04
42BE C2 C4 42 JNZ U_F
42C1 C3 D3 42 JMP U0_F
42C4 FE 02 U_F: CPI 02
42C6 C2 EF 42 JNZ ERROR
42C9 C3 DA 42 JMP UO_G
42CC 3E 04 UO_E: MVI A,04
42CE D3 C4 OUT LIFT2
42D0 CD 19 43 CALL DELAY
42D3 3E 02 UO_F: MVI A,02
42D5 D3 C4 OUT LIFT2
42D7 CD 19 43 CALL DELAY
42DA 3E 01 UO_G: MVI A,01
42DC D3 C4 OUT LIFT2
42DE CD 19 43 CALL DELAY
42E1 3E 0B STOP_S: MVI A,0BH
42E3 D3 CC OUT STAT_OU
42E5 CD 19 43 CALL DELAY
42E8 3E 03 MVI A,03
Page 24
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 22 ]
42EA D3 CC OUT STAT_OU
42EC C3 29 43 JMP END
42EF 3E 0B ERROR: MVI A,0BH
42F1 D3 CC OUT STAT_OU
42F3 CD 19 43 CALL DELAY
42F6 3E 03 MVI A,03
42F8 D3 CC OUT STAT_OU
42FA CD 19 43 CALL DELAY
42FD 3E 0B MVI A,0BH
42FF D3 CC OUT STAT_OU
4301 CD 19 43 CALL DELAY
4304 3E 03 MVI A,03
4306 D3 CC OUT STAT_OU
4308 CD 19 43 CALL DELAY
430B 3E 0B MVI A,0BH
430D D3 CC OUT STAT_OU
430F CD 19 43 CALL DELAY
4312 3E 03 MVI A,03
4314 D3 CC OUT STAT_OU
4316 C3 29 43 JMP END
4319 0E 02 DELAY: MVI C,02 ;DELAY FOR 1 SECOND
431B 11 FE F9 LOOP1: LXI D,F9FEH
431E 1B LOOP2: DCX D
431F 7A MOV A,D
4320 B3 ORA E
4321 C2 1E 43 JNZ LOOP2
4324 0D DCR C
4325 C2 1B 43 JNZ LOOP1
4328 C9 RET
4329 76 END: HLT
432A END
EXERCISE:
Write a program to service a request from any floor to goto any floor.
Page 25
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 23 ]
3.4 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.
Page 26
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 24 ]
PROGRAM:
;EXAMPLE-4
;SOFTWARE EXAMPLE TO STUDY
;ABOUT INTERRUPT BASED
;REQUEST SERVICE
C0 00 LIFT1 EQU 0C0H
C4 00 LIFT2 EQU 0C4H
C8 00 STAT_IN EQU 0C8H
CC 00 STAT_OU EQU 0CCH
4100 ORG 4100H
4100 3E 03 START: MVI A,03 ;OPEN DOOR OF LIFT1 & 2
4102 D3 CC OUT STAT_OU
4104 3E 80 MVI A,80H ;ASSUME LIFT1 IS IN
4106 D3 C0 OUT LIFT1 ;GROUND FLOOR
4108 3E 01 MVI A,01H ;LIFT2 IS IN 7TH
410A D3 C4 OUT LIFT2 ;FLOOR
410C CD 01 52 CALL DELAY
410F F3 CHECK: DI
4110 3E 08 MVI A,08
4112 30 SIM ;CHECK FOR RST5.5
4113 FB EI
4114 76 HLT
5000 ORG 5000H
5000 DB C8 START1: IN STAT_IN
5002 E6 0F ANI 0FH
5004 FE 0F CPI 0FH
5006 CA D7 51 JZ ERROR ;CHECK IF IS GRUD FLR
5009 FE 08 CPI 08H
500B DA D7 51 JC ERROR ;CHECK IF 8TH OR
;9TH FLOOR
500E CA D7 51 JZ ERROR ;CHECK IF 7TH FLOOR
5011 47 MOV B,A
5012 FE 0C CPI 0CH ;FIND THE NEAREST LIFT
5014 DA FD 50 JC LIFTB
5017 3E 02 FLR_A: MVI A,02 ;CLOSE THE DOOR OF LIFT2
5019 D3 CC OUT STAT_OU
501B 78 MOV A,B
501C FE 0E CPI 0EH
501E C2 28 50 JNZ FLR_B
5021 3E 40 MVI A,40H ;1ST FLOOR
5023 D3 C0 OUT LIFT1
5025 C3 4D 50 JMP STAT
5028 FE 0D FLR _B: CPI 0DH
502A C2 3B 50 JNZ FLR_C
Page 27
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 25 ]
502D 3E 40 MVI A,40H
502F D3 C0 OUT LIFT1
5031 CD 01 52 CALL DELAY
5034 3E 20 MVI A,20H ;2ND FLOOR
5036 D3 C0 OUT LIFT1
5038 C3 4D 50 JMP STAT
503B 3E 40 FLR_C MVI A,40H
503D D3 C0 OUT LIFT1
503F CD 01 52 CALL DELAY
5042 3E 20 MVI A,20H
5044 D3 C0 OUT LIFT1
5046 CD 01 52 CALL DELAY
5049 3E 10 MVI A,10H ;3RD FLOOR
504B D3 C0 OUT LIFT1
504D 47 STAT: MOV B,A
504E 3E 0B MVI A,0BH ;TO OPEN THE DOOR
;OF LIFT1
5050 D3 CC OUT STAT_OU
5052 CD 01 52 CALL DELAY
5055 3E 03 MVI A,03
5057 D3 CC OUT STAT_OU
5059 DB C8 REPT: IN STAT_IN
505B E6 F0 ANI F0H
505D FE E0 CPI E0H ;CHECK FOR UP OR DOWN
505F D2 59 50 JNC REPT ;KEY PRESS
5062 3E 02 MVI A,02 ;CLOSE DOOR OF LIFT1
5064 D3 CC OUT STAT_OU
5066 DB C8 IN STAT_IN
5068 E6 F0 ANI F0H
506A FE D0 CPI D0H
506C C2 A0 50 JNZ UP
506F 78 DOWN: MOV A,B
5070 FE 10 CPI 10H
5072 C2 78 50 JNZ DOWN_B
5075 C3 88 50 JMP DWN_B
5078 FE 20 DOWN_B: CPI 20H
507A C2 80 50 JNZ DOWN_A
507D C3 8F 50 JMP DWN_A
5080 FE 40 DOWN_A: CPI 40H
5082 C2 D7 51 JNZ ERROR
5085 C3 96 50 JMP DWN_GN
5088 3E 20 DOWN_B: MVI A,20H
508A D3 C0 OUT LIFT1
508C CD 01 52 CALL DELAY
508F 3E 40 DWN_A: MVI A,40H
Page 28
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 26 ]
5091 D3 C0 OUT LIFT1
5093 CD 01 52 CALL DELAY
5096 3E 80 DWN_GN: MVI A,80H
5098 D3 C0 OUT LIFT1
509A CD 01 52 CALL DELAY
509D C3 EF 50 JMP STOP
50A0 FE B0 UP: CPI B0H ;CHECK FOR UP KEY
50A2 C2 D7 51 JNZ ERROR
50A5 78 MOV A,B
50A6 FE 40 CPI 40H
50A8 C2 AE 50 JNZ UPP_B
50AB C3 C5 50 JMP UP_B
50AE FE 20 UPP_B: CPI 20H
50B0 C2 B6 50 JNZ UPP_C
50B3 C3 CC 50 JMP UP_C
50B6 FE 10 UPP_C: CPI 10H
50B8 C2 D7 51 JNZ ERROR
50BB C3 D3 50 JMP UP_D
50BE 3E 40 MVI A,40H ;UP_A:
50C0 D3 C0 OUT LIFT1
50C2 CD 01 52 CALL DELAY
50C5 3E 20 UP_B: MVI A,20H
50C7 D3 C0 OUT LIFT1
50C9 CD 01 52 CALL DELAY
50CC 3E 10 UP_C: MVI A,10H
50CE D3 C0 OUT LIFT1
50D0 CD 01 52 CALL DELAY
50D3 3E 08 UP_D: MVI A,08
50D5 D3 C0 OUT LIFT1
50D7 CD 01 52 CALL DELAY
50DA 3E 04 MVI A,04 ;UP_E:
50DC D3 C0 OUT LIFT1
50DE CD 01 52 CALL DELAY
50E1 3E 02 MVI A,02 ;UP_F:
50E3 D3 C0 OUT LIFT1
50E5 CD 01 52 CALL DELAY
50E8 3E 01 MVI A,01 ;UP_G:
50EA D3 C0 OUT LIFT1
50EC CD 01 52 CALL DELAY
50EF 3E 0B STOP: MVI A,0BH ;OPEN DOOR OF LIFT1
50F1 D3 CC OUT STAT_OU ;& GIVE ONE BEEP SOUND
50F3 CD 01 52 CALL DELAY
50F6 3E 03 MVI A,03
50F8 D3 CC OUT STAT_OU
50FA C3 11 52 JMP END
Page 29
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 27 ]
50FD 3E 01 LIFTB: MVI A,01 ;CLOSE DOOR OF LIFTB
50FF D3 CC OUT STAT_OU
5101 78 MOV A,B
5102 FE 09 CPI 09H
5104 C2 0E 51 JNZ FLR_E
5107 3E 02 MVI A,02 ;FLOOR 6 OF LIFT2
5109 D3 C4 OUT LIFT2
510B C3 33 51 JMP STAT_S
510E FE 0A FLR_E: CPI 0AH
5110 C2 21 51 JNZ FLR_D
5113 3E 02 MVI A,02
5115 D3 C4 OUT LIFT2
5117 CD 01 52 CALL DELAY
511A 3E 04 MVI A,04 ;FLOOR 5 OF LIFT2
511C D3 C4 OUT LIFT2
511E C3 33 51 JMP STAT_S
5121 3E 02 FLR_D: MVI A,02
5123 D3 C4 OUT LIFT2
5125 CD 01 52 CALL DELAY
5128 3E 04 MVI A,04
512A D3 C4 OUT LIFT2
512C CD 01 52 CALL DELAY ;FLOOR4OF LIFT2
512F 3E 08 MVI A,08H ;FLOOR 4 OF LIFT2
5131 D3 C4 OUT LIFT2
5133 47 STAT_S: MOV B,A
5134 3E 0B MVI A,0BH
5136 D3 CC OUT STAT_OU
5138 CD 01 52 CALL DELAY
513B 3E 03 MVI A,03
513D D3 CC OUT STAT_OU
513F DB C8 REPT_S: IN STAT_IN
5141 E6 F0 ANI F0H
5143 FE F0 CPI E0H
5145 D2 3F 51 JNC REPT_S
5148 3E 01 MVI A,01 ;CLOSE DOOR OF LIFT 2
514A D3 CC OUT STAT_OU
514C DB C8 IN STAT_IN
514E E6 F0 ANI F0H
5150 FE D0 CPI DOH
5152 C2 96 51 JNZ UP_S
5155 78 DOWN_S: MOV A,B
5156 FE 02 CPI 02
5158 C2 5E 51 JNZ FLO_E
515B C3 69 51 JMP FL_E
515E FE 04 FLO_E: CPI 04
Page 30
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 28 ]
5160 C2 66 51 JNZ FLO_D
5163 C3 70 51 JMP FL_D
5166 C3 77 51 FLO_D: JMP FL_C
5169 3E 04 FL_E: MVI A,04
516B D3 C4 OUT LIFT2
516D CD 01 52 CALL DELAY
5170 3E 08 FL_D: MVI A,08
5172 D3 C4 OUT LIFT2
5174 CD 01 52 CALL DELAY
5177 3E 10 FL_C: MVI A,10H
5179 D3 C4 OUT LIFT2
517B CD 01 52 CALL DELAY
517E 3E 20 MVI A,20H ;FL_B:
5180 D3 C4 OUT LIFT2
5182 CD 01 52 CALL DELAY
5185 3E 40 MVI A,40H ;FL_A:
5187 D3 C4 OUT LIFT2
5189 CD 01 52 CALL DELAY
518C 3E 80 MVI A,80H ;FL_GN
518E D3 C4 OUT LIFT2
5190 CD 01 52 CALL DELAY
5193 C3 C9 51 JMP STOP_S
5196 FE BO UP_S: CPI B0H
5198 C2 96 51 JNZ UP_S
519B 78 MOV A,B
519C FE 08 CPI 08
519E C2 A4 51 JNZ U_E
51A1 C3 B4 51 JMP UO_E
51A4 FE 04 U_E: CPI 04
51A6 C2 AC 51 JNZ U_F
51A9 C3 BB 51 JMP UO_F
51AC FE 02 U_F: CPI 02
51AE C2 D7 51 JNZ ERROR
51B1 C3 C2 51 JMP UO_G
51B4 3E 04 UO_E: MVI A,04
51B6 D3 C4 OUT LIFT2
51B8 CD 01 52 CALL DELAY
51BB 3E 02 UO_F: MVI A,02
51BD D3 C4 OUT LIFT2
51BF CD 01 52 CALL DELAY
51C2 3E 01 UO_G: MVI A,01
51C4 D3 C4 OUT LIFT2
51C6 CD 01 52 CALL DELAY
51C9 3E 0B STOP_S: MVI A,0BH
51CB D3 CC OUT STAT_OU
Page 31
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 29 ]
51CD CD 01 52 CALL DELAY
51D0 3E 03 MVI A,03
51D2 D3 CC OUT STAT_OU
51D4 C3 11 52 JMP END
51D7 3E 0B ERROR: MVI A,0BH ;ONE BEEP
51D9 D3 CC OUT STAT_OU
51DB CD 01 52 CALL DELAY
51DE 3E 03 MVI A,03
51E0 D3 CC OUT STAT_OU
51E2 CD 01 52 CALL DELAY
51E5 3E 0B MVI A,0BH ;SECOND BEEP
51E7 D3 CC OUT STAT_OU
51E9 CD 01 52 CALL DELAY
51EC 3E 03 MVI A,03
51EE D3 CC OUT STAT_OU
51F0 CD 01 52 CALL DELAY
51F3 3E 0B MVI A,0BH ;THIRD BEEP
51F5 D3 CC OUT STAT_OU
51F7 CD 01 52 CALL DELAY
51FA 3E 03 MVI A,03
51FC D3 CC OUT STAT_OU
51FE C3 11 52 JMP END
5201 0E 02 DELAY: MVI C,02 ;DELAY FOR 1SEC
5203 11 FE F9 LOOP1: LXI D,F9FEH
5206 1B LOOP2: DCX D
5207 7A MOV A,D
5208 B3 ORA E
5209 C2 06 52 JNZ LOOP2
520C 0D DCR C
520D C2 03 52 JNZ LOOP1
5210 C9 RET
5211 76 END: HLT
5212 END
Page 32
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 30 ]
3.5 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 LIFT1 EQU 00C0H
00C4 LIFT2 EQU 00C4H
00C8 STIN EQU 00C8H
00CC STOU EQU 00CCH
1000 ORG 1000H
START:
1000 B0 03 MOV AL,03H ;DEFAULT OPEN
1002 E6 CC OUT STOU,AL ;DOORS OF LIFIT1
1004 E8 34 00 CALL DELAY ;AND LIFT2
1007 B0 02 MOV AL,02H ;CLOSE DOOR OF
1009 E6 CC OUT STOU,AL
100B B0 80 MOV AL,80H ;INDICATE LIFT1
100D E6 C0 OUT LIFT1,AL ;IS IN GND FLOOR
100F B0 01 MOV AL,01H ;INDICATE LIFT2
1011 E6 C4 OUT LIFT2,AL ;IS IN 7TH FLOOR
1013 E8 25 00 CALL DELAY
1016 B0 40 MOV AL,40H ;LIFT IN FIRST FLOOR
1018 E6 C0 OUT LIFT1,AL
101A E8 1E 00 CALL DELAY
101D B0 10 MOV AL,20H ;LIFT1 IN
101F E6 C0 OUT LIFT1,AL ;SECOND FLOOR AND FLOOR
1021 E8 17 00 CALL DELAY
1024 B0 10 MOV AL,10H ;LIFT IN
1026 E6 C0 OUT LIFT1,AL ;THIRD FLOOR
1028 E8 10 00 CALL DELAY
102B B0 08 MOV AL,08H ;LIFT1 IN
102D E6 C0 OUT LIFT1,AL ;FOURTH FLOOR
102F B0 0B MOV AL,0BH ;BEEP FOR DOOR
1031 E6 CC OUT STOU,AL ;OPEN
1033 E8 05 00 CALL DELAY
1036 B0 03 MOV AL,03H ;OPEN DOOR
1038 E6 CC OUT STOU,AL
103A F4 HLT
DELAY:
Page 33
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 31 ]
103B B1 02 MOV CL,02H ;DELAY FOR ONE
LOOP1:
103D DB FE F9 MOV BX,0F9FEH
LOOP:
1040 4B DEC BX
1041 8A C3 MOV AL,BL
1043 0A C7 OR AL,BH
1045 75 F9 JNZ LOOP
1047 FE C9 DEC CL
1049 75 F2 JNZ LOOP1
104B C3 RET
104C END
Page 34
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 32 ]
EXAMPLE 2
AIM:
TO FIND THE NEAREST LIST FOR A REQUEST FOR ANY FLOOR.
PROGRAM:
00C0 LIFT1 EQU 00C0H
00C4 LIFT2 EQU 00C4H
00C8 LIFTIN EQU 00C8H
00CC STOU EQU 00CCH
1000 ORG 1000H
ADDRESS OPCODES MNEMONICS
START:
1000 B0 03 MOV AL,03 ;DEFAULT OPEN
1002 E6 CC OUT STOU,AL ;DOORS OF LIFIT1AND LIFT2
1004 B0 80 MOV AL,80 ;INDICATE LIFT1 IN GND FLOOR
1006 E6 C0 OUT LIFT1,AL ;INDICATE LIFT2 IN 7TH FLOOR
1008 B0 01 MOV AL,01
100A E6 C4 OUT LIFT2,AL
100C E8 CA 00 CALL DELAY
CHECK:
100F E4 C8 IN AL,LIFTIN
1011 24 F0 AND AL,F0
1013 3C E0 CMP AL,E0
1015 75 F8 JNZ CHECK
1017 E4 C8 IN AL,LIFTIN
1019 24 0F AND AL,0F
101B 3C 0F CMP AL,0F
101D 74 08 JZ FIX0
101F 3C 08 CMP AL,08
1021 72 04 JB FIX0
1023 74 02 JZ FIX0
1025 EB 03 JMP FIX1
FIX0:
1027 E9 86 00 JMP ERR
FIX1:
102A 8A D8 MOV BL,AL
Page 35
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 33 ]
102C 3C 0C CMP AL,0C
102E 72 40 JB LIFTB
FLR_A:
1030 B0 02 MOV AL,02 ;CLOSE DOOR OF LIFT1
1032 E6 CC OUT STOU,AL
1034 8A C3 MOV AL,BL
1036 3C 0E CMP AL,0E
1038 75 06 JNZ FLRB
103A B0 40 MOV AL,40 ;LIFT1 IN FIRST FLOOR
103C E6 C0 OUT LIFT1,AL
103E EB 23 JMP STAT
FLR_B:
1040 3C 0D CMP AL,0D
1042 75 0D JNZ FLRC
1044 B0 40 MOV AL,40
1046 E6 C0 OUT LIFT1,AL
1048 E8 8E 00 CALL DELAY
104B B0 20 MOV AL,20 ;LIFT1 IN 2ND FLOOR
104D E6 C0 OUT LIFT1,AL
104F EB 12 JMP STAT
FLR_C:
1051 B0 40 MOV AL,40
1053 E6 C0 OUT LIFT1,AL
1055 E8 81 00 CALL DELAY
1058 B0 20 MOV AL,20 ;LIFT1 IN 3RD FLOOR
105A E6 C0 OUT LIFT1,AL
105C E8 7A 00 CALL DELAY
105F B0 10 MOV AL,10
1061 E6 C0 OUT LIFT1,AL
STAT:
1063 B0 0B MOV AL,0B
1065 E6 CC OUT STOU,AL
1067 E8 6F 00 CALL DELAY
106A B0 03 MOV AL,03
106C E6 CC OUT STOU,AL
106E EB 7A JMP STOP
LIFTB:
1070 B0 01 MOV AL,01
1072 E6 CC OUT STOU,AL
1074 8A C3 MOV AL,BL
1076 3C 09 CMP AL,09
1078 75 06 JNZ FLRE
107A B0 02 MOV AL,02
107C E6 C4 OUT LIFT2,AL
107E EB 23 JMP STAT1
Page 36
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 34 ]
FLRE:
1080 3C 0A CMP AL,0A
1082 75 0D JNZ FLRD
1084 B0 02 MOV AL,02
1086 E6 C4 OUT LIFT2,AL
1088 E8 4E 00 CALL DELAY
108B B0 04 MOV AL,04
108D E6 C4 OUT LIFT2,AL
108F EB 12 JMP STAT1
FLRD:
1091 B0 02 MOV AL,02
1093 E6 C4 OUT LIFT2,AL
1095 E8 41 00 CALL DELAY
1098 B0 04 MOV AL,04
109A E6 C4 OUT LIFT2,AL
109C E8 3A 00 CALL DELAY
109F B0 08 MOV AL,08 ;LIFT2 IN 4TH FLOOR
10A1 E6 C4 OUT LIFT2,AL
STAT1:
10A3 B0 0B MOV AL,0B ;BEEP FOR DOOR
10A5 E6 CC OUT STOU,AL
10A7 E8 2F 00 CALL DELAY
10AA B0 03 MOV AL,03 ;OPEN DOOR
10AC E6 CC OUT STOU,AL
10AE EB 3A JMP STOP
ERR:
10B0 B0 0B MOV AL,0B
10B2 E6 CC OUT STOU,AL
10B4 E8 22 00 CALL DELAY
10B7 B0 03 MOV AL,03
10B9 E6 CC OUT STOU,AL
10BB E8 1B 00 CALL DELAY
10BE B0 0B MOV AL,0B
10C0 E6 CC OUT STOU,AL
10C2 E8 14 00 CALL DELAY
10C5 B0 03 MOV AL,03
10C7 E6 CC OUT STOU,AL
10C9 E8 0D 00 CALL DELAY
10CC B0 0B MOV AL,0B
10CE E6 CC OUT STOU,AL
10D0 E8 06 00 CALL DELAY
10D3 B0 03 MOV AL,03
10D5 E6 CC OUT STOU,AL
10D7 EB 11 JMP STOP
Page 37
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 35 ]
DELAY:
10D9 B1 02 MOV CL,02
LOOP1:
10DB BB FE F9 MOV BX,F9FE
LOOP2:
10DE 4B DEC BX
10DF 8A C3 MOV AL,BL
10E1 0A C7 OR AL,BH
10E3 75 F9 JNZ LOOP2
10E5 FE C9 DEC CL
10E7 75 F2 JNZ LOOP1
10E9 C3 RET
STOP:
10EA F4 HLT
Page 38
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 36 ]
EXAMPLE-3:
AIM:
PROGRAM FOR SERVICE A REQUEST FROM ANY FLOOR TO GO GROUND FLOOR
OR 7TH FLOOR
PROGRAM:
00C0 LIFT1 EQU 00C0H
00C4 LIFT2 EQU 00C4H
00C8 STIN EQU 00C8H
00CC STOU EQU 00CCH
1000 ORG 1000H
1000 B0 03 START: MOV AL,03 ;OPEN DOORS
1002 E6 CC OUT STOU,AL
1004 B0 80 MOV AL,80H ;ASSUME LIFT1 IS IN
1006 E6 C0 OUT LIFT1,AL ;GROUND FLOOR
1008 B0 01 MOV AL,01H ;LIFT2 IS IN 7TH FLOOR
100A E6 C4 OUT LIFT2,AL
100C E8 14 02 CALL DELAY
100F E4 C8 CHECK: IN AL,STIN
1011 24 F0 AND AL,0F0H ;CHECK FOR ENTER KEY
1013 3C E0 CMP AL,0E0H
1015 75 F8 JNZ CHECK
1017 E4 C8 IN AL,STIN
1019 24 0F AND AL,0FH
101B 3C 0F CMP AL,0FH
101D 74 09 JZ FIX0
101F 3C 08 CMP AL,08H
1021 72 05 JC FIX0 ;CHECK IF 8TH OR 9TH FLOOR
1023 74 03 JZ FIX0 ;CHECK IF 7TH FLOOR
1025 EB 04 90 JMP FIX5
1028 E9 CE 01 FIX0: JMP ERR
102B 8A D8 FIX5: MOV BL,AL
102D 3C 0C CMP AL,0CH ;FIND THE NEAREST FLOOR
102F 72 03 JC FIX4
1031 EB 04 90 JMP FLRA
1034 E9 E8 00 FIX4: JMP LIFTB
1037 B0 02 FLRA: MOV AL,02H ;CLOSE THE DOOR OF LIFT1
1039 E6 CC OUT STOU,AL
103B 8A C3 MOV AL,BL
Page 39
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 37 ]
103D 3C 0E CMP AL,0EH
103F 75 07 JNZ FLRB
1041 B0 40 MOV AL,40H ;1ST FLOOR
1043 E6 C0 OUT LIFT1,AL
1045 EB 22 90 JMP STAT
1048 3C 0D FLRB: CMP AL,0DH
104A 75 0E JNZ FLRC
104C B0 40 MOV AL,40H
104E E6 C0 OUT LIFT1,AL
1050 E8 D0 01 CALL DELAY
1053 B0 20 MOV AL,20H ;2ND FLOOR
1055 E6 C0 OUT LIFT1,AL
1057 EB 10 90 JMP STAT
105A B0 40 FLRC: MOV AL,40H
105C E6 C0 OUT LIFT1,AL
105E E8 C2 01 CALL DELAY
1061 B0 20 MOV AL,20H
1063 E6 C0 OUT LIFT1,AL
1065 B0 10 MOV AL,10H ;3RD FLOOR
1067 E6 C0 OUT LIFT1,AL
1069 8A D8 STAT: MOV BL,AL
106B B0 0B MOV AL,0BH ;TO OPEN THE DOOR OF LIFT1
106D E6 CC OUT STOU,AL
106F E8 B1 01 CALL DELAY
1072 B0 03 MOV AL,03H
1074 E6 CC OUT STOU,AL
1076 E4 C8 REPT: IN AL,STIN
1078 24 F0 AND AL,0F0H
107A 3C 0E CMP AL,0EH
107C 73 F8 JNC REPT
107E B0 02 MOV AL,02H
1080 E6 CC OUT STOU,AL
1082 E4 C8 IN AL,STIN
1084 24 F0 AND AL,0F0H
1086 3C D0 CMP AL,0D0H
1088 75 32 JNZ UP
108A 8A C3 DOWN: MOV AL,BL
108C 3C 10 CMP AL,10H
108E 75 03 JNZ DOWNB
1090 EB 12 90 JMP DWNB
1093 3C 20 DOWNB: CMP AL,20H
1095 75 03 JNZ DOWNA
1097 EB 12 90 JMP DWNA
109A 3C 40 DOWNA: CMP AL,40H
109C 75 03 JNZ FIX3
Page 40
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 38 ]
109E EB 12 90 JMP DWNGN
10A1 E9 55 01 FIX3: JMP ERR
10A4 B0 20 DWNB: MOV AL,20H
10A6 E6 C0 OUT LIFT1,AL
10A8 E8 78 01 CALL DELAY
10AB B0 40 DWNA: MOV AL,40H
10AD E6 C0 OUT LIFT1,AL
10AF E8 71 01 CALL DELAY
10B2 B0 80 DWNGN: MOV AL,80H
10B4 E6 C0 OUT LIFT1,AL
10B6 E8 6A 01 CALL DELAY
10B9 EB 56 90 JMP STOP
10BC 3C B0 UP: CMP AL,0B0H ;CHECK TO UP KEY
10BE 75 03 JNZ FIX2
10C0 EB 04 90 JMP FIX6
10C3 E9 33 01 FIX2: JMP ERR
10C6 8A C3 FIX6: MOV AL,BL
10C8 3C 40 CMP AL,40H
10CA 75 03 JNZ UPPB
10CC EB 19 90 JMP UPB
10CF 3C 20 UPPB: CMP AL,20H
10D1 75 03 JNZ UPPC
10D3 EB 19 90 JMP UPC
114E E6 C4 OUT LIFT2,AL
1150 E8 D0 00 CALL DELAY
1153 B0 08 MOV AL,08H ;FLOOR 4 OF LIFT2
1155 E6 C4 OUT LIFT2,AL
1157 8A D8 STATS: MOV BL,AL
1159 B0 0B MOV AL,0BH
115B E6 CC OUT STOU,AL
115D E8 C3 00 CALL DELAY
1160 B0 03 MOV AL,03H
1162 E6 CC OUT STOU,AL ;CLOSE DOOR OF LIFT2
1164 E4 C8 REPTS: IN AL,STIN
1166 24 F0 AND AL,0F0H
1168 3C E0 CMP AL,0E0H
116A 73 F8 JNC REPTS
116C B0 01 MOV AL,01H
116E E6 CC OUT STOU,AL
1170 E4 C8 IN AL,STIN
1172 24 F0 AND AL,0F0H
1174 3C D0 CMP AL,0D0H
1176 75 40 JNZ UPS
1178 8A C3 DOWNS: MOV AL,BL
117A 3C 02 CMP AL,02H
Page 41
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 39 ]
117C 75 03 JNZ FLOE
117E EB 0B 90 JMP FLE
1181 3C 04 FLOE: CMP AL,04H
1183 75 03 JNZ FLOD
1185 EB 0B 90 JMP FLD
1188 EB 0F 90 FLOD JMP FLC
118B B0 04 FLE: MOV AL,04H
118D E6 C4 OUT LIFT2,AL
118F E8 91 00 CALL DELAY
1192 B0 08 FLD: MOV AL,08H
1194 E6 C4 OUT LIFT2,AL
1196 E8 8A 00 CALL DELAY
1199 B0 10 FLC: MOV AL,10H
119B E6 C4 OUT LIFT2,AL
119D E8 83 00 CALL DELAY
11A0 B0 20 MOV AL,20H
11A2 E6 C4 OUT LIFT2,AL
11A4 E8 7C 00 CALL DELAY
11A7 B0 40 MOV AL,40H
11A9 E6 C4 OUT LIFT2,AL
11AB E8 75 00 CALL DELAY
11AE B0 80 MOV AL,80H
11B0 E6 C4 OUT LIFT2,AL
11B2 E8 6E 00 CALL DELAY
11B5 EB 31 90 JMP STOPS
11B8 3C B0 UPS: CMP AL,0B0H
11BA 75 FC JNZ UPS
11BC 8A C3 MOV AL,BL
11BE 3C 08 CMP AL,80H
11C0 5 03 JNZ UE
11C2 EB 0F 90 JMP UOE
11C5 3C 04 UE: CMP AL,04H
11C7 75 03 JNZ UF
11C9 EB 0F 90 JMP UOF
11CC 3C 02 UF: CMP AL,02H
11CE 75 29 JNZ ERR
11D0 EB 0F 90 JMP UOG
11D3 B0 04 UOE: MOV AL,04H
11D5 E6 C4 OUT LIFT2,AL
11D7 E8 49 00 CALL DELAY
11DA B0 02 UOF: MOV AL,02H
11DC E6 C4 OUT LIFT2,AL
11DE E8 42 00 CALL DELAY
11E1 B0 01 UOG: MOV AL,01H
11E3 E6 C4 OUT LIFT2,AL
Page 42
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 40 ]
11E5 E8 3B 00 CALL DELAY
11E8 B0 0B STOPS: MOV AL,0BH
11EA E6 CC OUT STOU,AL
11EC E8 34 00 CALL DELAY
11EF B0 03 MOV AL,03H
11F1 E6 CC OUT STOU,AL
11F3 E8 2D 00 CALL DELAY
11F6 EB 3C 00 JMP END
11F9 B0 0B ERR: MOV AL,0BH
11FB E6 CC OUT STOU,AL
11FD E8 23 00 CALL DELAY
1200 B0 03 MOV AL,03H
1202 E6 CC OUT STOU,AL
1204 E8 1C 00 CALL DELAY
1207 B0 OB MOV AL,0BH
1209 E6 CC OUT STOU,AL
120B E8 15 00 CALL DELAY
120E B0 03 MOV AL,03H
1210 E6 CC OUT STOU,AL
1212 E8 0E 00 CALL DELAY
1215 B0 0B MOV AL,0BH
1217 E6 CC OUT STOU,AL
1219 E8 07 00 CALL DELAY
121C B0 03 MOV AL,03H
121E E6 CC OUT STOU,AL
1220 EB 12 90 JMP END
1223 DELAY:
1223 B1 02 MOV CL,02H ;DELAY FOR ONE SECOND 1225
LOOP1:
1225 BB FE F9 MOV BX,0F9FEH
1228 LOOP2:
1228 4B DEC BX
1229 8A C3 MOV AL,BL
122B 0A C7 OR AL,BH
122D 75 F9 JNZ LOOP2
122F FE C9 DEC CL
1231 75 F2 JNZ LOOP1
1233 C3 RET
1234 END: HLT
Page 43
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 41 ]
3.6 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.
Page 44
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 42 ]
PROGRAM:
0001 T0_M1 EQU 01H
0030 COUNT EQU 30H
0031 COUNT1 EQU 31H
FFC0 LIFT1 EQU 0FFC0H
FFC4 LIFT2 EQU 0FFC4H
FFC8 STAT_IN EQU 0FFC8H
FFCC STAT_OU EQU 0FFCCH
4100 ORG 4100H
4100 START:
4100 74 03 MOV A,#03H ; D E F A U L T O P E N
DOORS
4102 90 FF CC MOV DPTR,#STAT_OU ; O F L I F T 1 &
LIFT2
4105 F0 MOVX @DPTR,A
4106 12 41 41 CALL DELAY
4109 74 02 MOV A,#02H ;CLOSE DOOR OF LIFT1
410B F0 MOVX @DPTR,A
410C 74 80 MOV A,#80H ;INDICATES LIFT1 IS
410E 90 FF C0 MOV DPTR,#LIFT1 ;IN GND FLOOR
4111 F0 MOVX @DPTR,A
4112 74 01 MOV A,#01H ;INDICATES LIFT2 IS
4114 90 FF C4 MOV DPTR,#LIFT2 ;IN 7TH FLOOR
4117 F0 MOVX @DPTR,A
4118 12 41 41 CALL DELAY
411B 90 FF C0 MOV DPTR,#LIFT1
411E 74 40 MOV A,#40H
4120 F0 MOVX @DPTR,A
4121 12 41 41 CALL DELAY
4124 74 20 MOV A,#20H
4126 F0 MOVX @DPTR,A
4127 12 41 41 CALL DELAY
412A 74 10 MOV A,#10H
412C F0 MOVX @DPTR,A
412D 12 41 41 CALL DELAY
4130 74 08 MOV A,#08H
4132 F0 MOVX @DPTR,A
4133 74 0B MOV A,#0BH ;BEEP FOR DOOR OPEN
4135 90 FF CC MOV DPTR,#STAT_OU
4138 F0 MOVX @DPTR,A
4139 12 41 41 CALL DELAY
413C 74 03 MOV A,#03H ;OPEN DOORS
413E F0 MOVX @DPTR,A
Page 45
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 43 ]
413F HERE:
413F 80 FE SJMP HERE
4141 DELAY:
4141 75 31 0A MOV COUNT1,#10 ; F O R 1 S E C O N D S
DELAY
4144 75 30 64 MOV COUNT,#100
4144 DL2:
4147 12 41 51 CALL DELAY 1 MS
4147 D2:
414A D5 30 FA DJNZ COUNT,D2
414D D5 31 F4 DJNZ COUNT1,DL2
4150 22 RET
4151 DELAY 1 MS:
4151 75 8A 17 MOV T10,#017H ;TL0=17H, THE LOW
BYTE
;OF TIMER0
4154 75 8C FC MOV TH0,#0FCH ;TH0=FCH, THE HIGH
BYTE
;OF TIMER0
4157 12 41 5B CALL T0DELAY ; A C T I V A T E T H E
TIMER0, AND
;WAIT UPTO
415A 22 RET ;TIMER OVERFLOW
OCCURS.
415B T0DELAY:
415B E5 89 MOV A,TMOD
415D 54 F0 ANL A,#0F0H
415F 44 01 ORL A,#T0_M1
4161 F5 89 MOV TMOD,A ;2 TIMER 0, MODE1
4163 D2 8C SETB TR0 ;1 START THE TIMER0
4165 30 8D FD JNB TF0,$ ;0FFFF-(16 BIT TIMER
;VALUE)+1
;MONITOR TIMER FLAG 0
4168 C2 8C CLR TR0 ;1 STOP THE TIMER 0
416A C2 8D CLR TF0 ;1 CLEAR TIMER FLAG
0
416C 22 RET ;1 RETURN FROM
SUBROUTINE
END
Page 46
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 44 ]
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.
Page 47
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 45 ]
PROGRAM:
0001 T0_M1 EQU 01H
0030 COUNT EQU 30H
0031 COUNT1 EQU 31H
FFC0 LIFT1 EQU 0FFC0H
FFC4 LIFT2 EQU 0FFC4H
FFC8 STAT_IN EQU 0FFC8H
FFCC STAT_OU EQU 0FFCCH
4100 ORG 4100H
4100 START:
4100 74 03 MOV A,#03H ;DEFAULT DOORS IS IN
4102 90 FF CC MOV DPTR,#STAT_OU ;OPEN CONDITION
4105 F0 MOVX @DPTR,A
4106 74 80 MOV A,#80H ;INDICATES LIFT1 IS
4108 90 FF C0 MOV DPTR,#LIFT1 ;IN GND FLOOR
410B F0 MOVX @DPTR,A
410C 74 01 MOV A,#01H ;INDICATES LIFT2 IS
410E 90 FF C4 MOV DPTR,#LIFT2 ;IN 7TH FLOOR
4111 F0 MOVX @DPTR,A
4112 12 41 CD CALL DELAY
4115 CHECK:
4115 90 FF C8 MOV DPTR,#STAT_IN
4118 E0 MOVX A,@DPTR
4119 54 F0 ANL A,#0F0H
411B B4 E0 F7 CJNE A,#0E0H,CHECK ;CHECK FOR ENTER KEY
411E E0 MOVX A,@DPTR
411F 54 0F ANL A,#0FH
4121 FF MOV R7,A
4122 B4 0F 03 CJNE A,#0FH,ER_1 ;CHECK IF IS GND FLOOR
4125 02 41 AA LJMP ERROR
4128 ER_1
4128 EF MOV A,R7
4129 C3 CLR C
412A 94 08 SUBB A,#08H
412C 40 7C JC ERROR ;CHECK IF 8TH OR 9TH FLOOR
412E 60 7A JZ ERROR ;CHECK IF 7TH FLOOR
4130 EF MOV A,R7
4131 C3 CLR C
4132 94 0C SUBB A,#0CH
4134 40 3A JC L_B ;FIND THE NEAREST LIFT
4136 FLR_A:
4136 74 02 MOV A,#02H ;CLOSE THE DOOR
4138 90 FF CC MOV DPTR,#STAT_OU
Page 48
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 46 ]
413B F0 MOVX @DPTR,A
413C EF MOV A,R7
413D B4 0E 09 CJNE A,#0EH,FLR_B
4140 74 40 MOV A,#40H ;1ST FLOOR
4142 90 FF C0 MOV DPTR,#LIFT1
4145 F0 MOVX @DPTR,A
4146 02 41 BF LJMP STAT
4149 FLR_B:
4149 B4 0D 0F CJNE A,#0DH,FLR_C
414C 74 40 MOV A,#40H ;1ST FLOOR
414E 90 FF C0 MOV DPTR,#LIFT1
4151 F0 MOVX @DPTR,A
4152 12 41 CD LCALL DELAY
4155 74 20 MOV A,#20H ;2ND FLOOR
4157 F0 MOVX @DPTR,A
4158 02 41 BF LJMP STAT
415B FLR_C:
415B 74 40 MOV A,#40H ;1ST FLOOR
415D 90 FF C0 MOV DPTR,#LIFT1
4160 F0 MOVX @DPTR,A
4161 12 41 CD LCALL DELAY
4164 74 20 MOV A,#20H ;2ND FLOOR
4166 F0 MOVX @DPTR,A
4167 12 41 CD LCALL DELAY
416A 74 10 MOV A,#10H ;3RD FLOOR
416C F0 MOVX @DPTR,A
416D 02 41 BF LJMP SAT
4170 L_B:
4170 74 01 MOV A,#01H ;CLOSE DOOR OF LIFT2
4172 90 FF CC
4175 F0 MOVX @DPTR,A
4176 EF MOV A,R7
4177 B4 09 09 CJNE A,#09H,FLR_E
417A 74 02 MOV A,#02H ;FLOOR 6 OF LIFT2
417C 90 FF CC MOV DPTR,#LIFT2
417F F0 MOVX @DPTR,A
4180 02 41 BF LJMP STAT
4183 FLR_E:
4183 B4 0A 0F CJNE A,#0AH,FLR_D
4186 74 02 MOV A,#02H ;FOOR 6 OF LIFT2
4188 90 FF C4 MOV DPTR,#LIFT2
418B F0 MOVX @DPTR,A
418C 12 41 CD CALL DELAY
418F 74 04 MOV A,#04H ;FLOOR 5 OF LIFT2
4191 F0 MOVX @DPTR,A
Page 49
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 47 ]
4192 02 41 BF LJMP STAT
4195 FLR_D:
4195 74 02 MOV A,#02H ;FLOOR 6 OF LIFT2
4197 90 FF C4 MOV DPTR,#LIFT2
419A F0 MOVX @DPTR,A
419B 12 41 CD CALL DELAY
419E 74 04 MOV A,#04H
41A0 F0 MOVX @DPTR,A
41A1 12 41 CD CALL DELAY
41A4 74 08 MOV A,#08H ;FLOOR 4 OF LIFT2
41A6 F0 MOVX @DPTR,A
41A7 02 41 BF LJMP STAT
41AA ERROR:
41AA 78 03 MOV R0,#03H
41AC ERR:
41AC 74 0B MOV A,#OBH ;GIVE THREE BEEP
SOUND
41AE 90 FF CC MOV DPTR,#STAT_OU ;INDICATES ERROR
CONDITION
41B1 F0 MOVX @DPTR,A
41B2 12 41 CD CALL DELAY
41B5 74 03 MOV A,#03H
41B7 F0 MOVX @DPTR,A
41B8 12 41 CD CALL DELAY
41BB D8 EF DJNZ R0,ERR
41BF STAT:
41BF 74 0B MOV A,#0BH ;TO OPEN THE DOOR
OF LIFT1
41C1 90 FF CC MOV DPTR,#STAT_OU ;AND GIVE BEEP FOR
1SEC
41C4 F0 MOVX @DPTR,A
41C5 12 41 CD LCALL DELAY
41C8 74 03 MOV A,#03H
41CA F0 MOVX @DPTR,A
41CB STOP:
41CB 80 FE SJMP STOP
41CD DELAY:
41CD 75 31 0A MOV COUNT,#10 ; F O R 1 S E C O N D S
DELAY
41D0 75 30 64 MOV COUNT,#100
41D0 DL2:
41D3 12 41 DD CALL DELAY 1 MS
41D3 D2:
41D6 D5 30 FA DJNZ COUNT,D2
41D9 D5 31 F4 DJNZ COUNT1,DL2
Page 50
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 48 ]
41DC 22 RET
41DD DELAY 1 MS: ;1 MILLI SECOND
41DD 75 8C FC MOV T10,#017H ;TL0=17H, THE LOW
;BYTE OF TIMER0
41E0 75 8C FC MOV TH0,#0FCH ;TH0=FCH,THE HIGH
;BYTE OF TIMER0
41E3 12 41 E7 CALL T0DELAY ;ACTIVATE THE TIMER0,AND
;WAIT UPTO
41E6 22 RET ;TIMER OVERFLOW OCCURS
41E7 T0DELAY:
41E7 E5 89 MOV A,TMOD
41E9 54 F0 ANL A,#0F0H
41EB 44 01 ORL A,#T0_M1
41ED F5 89 MOV TMOD,A ;2 TIMER 0, MODE1
41EF D2 8C SETB TR0 ;1 START THE TIMER 0
41F1 30 8D FD JNB TF0,$ 0FFFF-(16 BIT TIMER
;VALUE)+1
;MONITOR TIMER FLAG0
41F4 C2 8C CLR TR0 ;1 STOP THE TIMER 0
41F6 C2 8D CLR TR0 ;1 CLEAR TIMER FLAG 0
41F8 22 RET ;1 RETURN FROM SUBROUTINE
END
Page 51
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 49 ]
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.
Page 52
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 50 ]
PROGRAM:
0001 T0_M1 EQU 01H
0030 COUNT EQU 30H
0031 COUNT1 EQU 31H
FFC0 LIFT1 EQU 0FFC0H
FFC4 LIFT2 EQU 0FFC4H
FFC8 STAT_IN EQU 0FFC8H
FFCC STAT_OU EQU 0FFCCH
4100 ORG 4100H
4100 START:
4100 74 03 MOV A,#03H ;DEFAULT DOORS IS IN
4102 90 FF CC
4105 F0 MOVX @DPTR,A
4106 74 80 MOV A,#80H ;INDICATES LIFT1 IS
4108 90 FF C0 MOV DPTR,#LIFT1 ;IN GND FLOOR
410B F0 MOVX @DPTR,A
410C 74 01 MOV A,#01H ;INDICATES LIFT2 IS
410E 90 FF C4 MOV DPTR,#LIFT1 ;IN 7TH FLOOR
4111 F0 MOVX @DPTR,A
4112 12 42 F6 CALL DELAY
4115 CHECK:
4115 90 FF C8 MOV DPTR,#STAT_IN
4118 E0 MOVX A,@DPTR
4119 54 F0 ANL A,#0F0H
411B B4 E0 F7 CJNE A,#0E0H,CHECK ;CHECK FOR ENTER KEY
411E E0 MOVX A,@DPTR
411F 54 0F ANL A,#0FH
4121 FF MOV R7,A
4122 B4 0F 03 CJNE A,#0FH,ER_1 ; C H E C K I F I S G N D
FLOOR
4125 ER1:
4125 02 42 E1 LJMP ERROR
4128 ER_1
4128 EF MOV A,R7
4129 C3 CLR C
412A 94 08 SUBB A,#08H
412C 40 F7 JC ER1 ;CHECK IF 8TH OR 9TH
FLOOR
412E 60 F5 JZ ER1 ;CHECK IF 7TH FLOOR
4130 EF MOV A,R7
4131 C3 CLR C
4132 94 0C SUBB A,#0CH
4134 40 03 JC LIFT_B ;FIND THE NEAREST
LIFT
Page 53
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 51 ]
4136 02 41 3C JMP FLR_A
4139 LIFT_B:
4139 02 42 12 LJMP L_B
413C FLR_A:
413C 74 02 MOV A,#02H ;CLOSE THE DOOR
413E 90 FF CC MOV DPTR,#STAT_OU
4141 F0 MOVX @DPTR,A
4142 EF MOV A,R7
4143 B4 0E 0A CJNE A,#0EH,FLR_B
4146 74 40 MOV A,#40H ;1ST FLOOR
4148 90 FF C0 MOV DPTR,#LIFT1
414B F0 MOVX @DPTR,A
414C FE MOV R6,A
414D 02 41 76 LJMP STAT
4150 FLR_B:
4150 B4 0D 10 CJNE A,#0DH,FLR_C
4153 74 40 MOV A,#40H ;1ST FLOOR
4155 90 FF CC MOV DPTR,#LIFT1
4158 F0 MOVX @DPTR,A
4159 12 42 F6 LCALL DELAY
415C 74 20 MOV A,#20H ;2ND FLOOR
415E F0 MOVX @DPTR,A
415F FE MOV R6,A
4160 02 41 76 LJMP STAT
4163 FLR_C:
4163 74 40 MOV A,#40H ;1ST FLOOR
4165 90 FF C0 MOV DPTR,#LIFT1
4168 F0 MOVX @DPTR
4169 12 42 F6 LCALL DELAY
416C 74 20 MOV A,#20H ;2ND FLOOR
416E F0 MOVX @DPTR,A
416F 12 42 F6 LCALL DELAY
4172 74 10 MOV A,#10H ;3RD FLOOR
4174 F0 MOVX @DPTR,A
4175 FE MOV R6,A
4176 STAT:
4176 74 0B MOV A,#0BH ;TO OPE THE DOOR OF
LIFT1
4178 90 FF CC MOV DPTR,#STAT_OU ;AND GIVE BEEP FOR
1SEC
417B F0 MOVX @DPTR,A
417C 12 42 F6 LCALL DELAY
417F 74 03 MOV A,#03H
4181 F0 MOVX @DPTR,A
4182 REPT:
Page 54
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 52 ]
4182 90 FF C8 MOV DPTR,#STAT_IN
4185 E0 MOVX A,@DPTR
4186 54 F0 ANL A,#0F0H
4188 FF MOV R7,A
4189 C3 CLR C
418A 94 E0 SUBB A,#0E0H
418C 50 F4 JNC REPT
418E 74 02 MOV A,#02H
4190 90 FF CC MOV DPTR,#STAT_OU
4193 F0 MOVX @DPTR,A
4194 EF MOV A,R7
4195 B4 D0 2E CJNE A,#0D0H,UP
4198 DOWN:
4198 90 FF C0 MOV DPTR,#LIFT1
419B EE MOV A,R6
419C B4 10 03 CJNE A,#10H,DOWN_B
419F 02 41 AE JMP DWN_B
41A2 DOWN_B:
41A2 B4 20 03 CJNE A,#20H,DOWN_A
41A5 02 41 B4 JMP DWN_A
41A8 DOWN_A:
41A8 B4 40 18 CJNE A,#40H,ER2
41AB 02 41 BA JMP DWN_GN
41AE DWN_B:
41AE 74 20 MOV A,#20H
41B0 F0 MOVX @DPTR,A
41B1 12 42 F6 CALL DELAY
41B4 DWN_A:
41B4 74 40 MOV A,#40H
41B6 F0 MOVX @DPTR,A
41B7 12 42 F6 CALL DELAY
41BA DWN_GN:
41BA 74 80 MOV A,#80H
41BC F0 MOVX @DPTR,A
41BD 12 42 F6 CALL DELAY
41C0 02 42 D3 JMP STOP_S
41C3 ER2:
41C3 02 41 E1 LJMP ERROR
41C6 UP:
41C6 B4 40 FA CJNE A,#0B0H,ER2 ;CHECK FOR UP KEY
41C9 90 FF C0 MOV DPTR,#LIFT1
41CC EE MOV A,R6
41CD B4 40 03 CJNE A,#40H,UPP_B
41D0 02 41 DF JMP UP_B
41D3 UPP_B:
Page 55
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 53 ]
41D3 B4 20 03 CJNE A,#20H,UPP_C
41D6 02 41 E5 JMP UP_C
41D9 UPP_C:
41D9 B4 10 E7 CJNE A,#10H,ER2
41DC 02 41 EB JMP UP_D
41DF UP_B:
41DF 74 20 MOV A,#20H
41E1 F0 MOVX @DPTR,A
41E2 12 42 F6 CALL DELAY
41E5 UP_C:
41E7 F0 MOVX A,#10H
41E8 12 42 F6 CALL DELAY
41EB UP_D:
41EB 74 08 MOV A,#08H
41ED F0 MOVX @DPTR,A
41EE 12 42 F6 CALL DELAY
41F1 74 04 MOV A,#04H ;UP_E
41F3 F0 MOVX @DPTR,A
41F4 12 42 F6 CALL DELAY
41F7 74 02 MOV A,#02H ;UP_F
41F9 F0 MOVX @DPTR,A
41FA 12 41 F6 CALL DELAY
41FD 74 01 MOV A,#01H ;UP_G
41FF F0 MOVX @DPTR,A
4200 12 42 F6 CALL DELAY
4203 74 0B MOV A,#0BH ;TO OPEN THE DOOR
OF LIFT1
4205 90 FF CC MOV DPTR,#STAT_OU ;AND GIVE BEEP FOR
1SEC
4208 F0 MOVX @DPTR,A
4209 12 42 F6 LCALL DELAY
420C 74 03 MOV A,#03H
420E F0 MOVX @DPTR,A
420F 02 42 F4 LJMP STOP
4212 L_B:
4212 74 01 MOV A,#01H ;CLOSE DOOR OF LIFT2
4214 90 FF CC MOV DPTR,#STAT_OU
4217 F0 MOVX @DPTR,A
4218 EF MOV A,R7
4219 B4 09 0A CJNE A,#09H,FLR_E
421C 74 02 MOV A,#02H ;FLOOR 6 OF LIFT2
421E 90 FF C4 MOV DPTR,#LIFT2
4221 F0 MOVX @DPTR,A
4222 FE MOV R6,A
4223 02 42 4C LJMP STAT_S
Page 56
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 54 ]
4226 FLR_E:
4226 B4 0A 10 CJNE A,#0AH,FLR_D
4299 74 02 MOV A,#02H ;FLOOR 6 OF LIFT2
422B 90 FF C4 MOV DPTR,#LIFT2
422E F0 MOVX @DPTR,A
422F 12 42 F6 CALL DELAY
4232 74 04 MOV A,#04H ;FLOOR 5 OF LIFT2
4234 F0 MOVX @DPTR,A
4235 FE MOV R6,A
4236 02 42 4C LJMP STAT_S
4239 FLR_D:
4239 74 02 MOV A,#02H ;FLOOR 5 OF LIFT2
423B 90 FF C4 MOV DPTR,#LIFT2
423E F0 MOVX @DPTR,A
423F 12 42 F6 CALL DELAY
4242 74 04 MOV A,#04H
4244 F0 MOVX @DPTR,A
4245 12 42 F6 CALL DELAY
4248 74 08 MOV A,#08H ;FLOOR4 OF LIFT2
424A F0 MOVX @DPTR,A
424B FE MOV R6,A
424C STAT_S:
424C 74 0B MOV A,#0BH ;TO OPEN THE DOOR
OF LIFT1
424E 90 FF CC MOV DPTR,#STAT_OU ;AND GIVE BEEP FOR 1
SEC
4251 F0 MOVX @DPTR,A
4252 12 42 F6 LCALL DELAY
4255 74 03 MOV A,#03H
4257 F0 MOVX @DPTR,A
4258 REPT_S:
4258 90 FF C8 MOV DPTR,#STAT_IN
425B E0 MOVX A,@DPTR
425C 54 F0 ANL A,#0F0H
425E FF MOV R7,A
425F C3 CLR C
4260 94 E0 SUBB A,#0E0H
4262 50 F4 JNC REPT_S
4264 74 01 MOV A,#01H
4266 90 FF CC MOV DPTR,#STAT_OU
4269 F0 MOVX @DPTR,A
426A EF MOV A,R7
426B B4 D0 3A CJNE A,#0D0H,UP_S
426E DOWN_S:
426E 90 FF C4 MOV DPTR,#LIFT2
Page 57
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 55 ]
4271 EE MOV A,R6
4272 B4 02 03 CJNE A,#02H,FLO_E
4275 02 42 81 JMP FL_E
4278 FLO_E:
4278 B4 04 03 CJNE A,#04H,FLO_D
427B 02 42 87 JMP FL_D
427E 02 42 8D JMP FL_C
427E FLO_D:
4281 FL_E:
4281 74 04 MOV A,#04H
4283 F0 MOVX @DPTR,A
4284 12 42 F6 CALL DELAY
4287 FL_D:
4287 74 08 MOV A,#08H
4289 F0 MOVX @DPTR,A
428A 12 42 F6 CALL DELAY
428D FL_C:
428D 74 10 MOV A,#10H
428F F0 MOVX @DPTR,A
4290 12 42 F6 CALL DELAY
4293 74 20 MOV A,#20H
4295 F0 MOVX @DPTR,A
4296 12 42 F6 CALL DELAY
4299 74 40 MOV A,#040H
429B F0 MOVX @DPTR,A
429C 12 42 F6 CALL DELAY
429F 74 80 MOV A,#80H
42A1 F0 MOVX @DPTR,A
42A2 12 42 F6 CALL DELAY
42A5 02 42 D3 JMP STOP_S
42A8 UP_S:
42A8 B4 B0 36 CJNE A,#0B0H,ERROR
42AB 90 FF C4 MOV DPTR,#LIFT2
42AE EE MOV A,R6
42AF B4 08 03 CJNE A,#08H,U_E
42B2 02 42 C1 JMP UO_E
42B5 U_E:
42B5 B4 04 03 CJNE A,#04H,U_F
42B8 02 42 C1 JMP UO_F
42BB U_F:
42BB B4 02 23 CJNE A,#02H,ERROR
42BE 02 42 CD JMP UO_G
42C1 UO_E:
42C1 74 04 MOV A,#04H
42C3 F0 MOVX @DPTR,A
Page 58
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 56 ]
42C4 12 42 F6 CALL DELAY
42C7 UO_F:
42C7 74 02 MOV A,#02H
42C9 F0 MOVX @DPTR,A
42CA 12 42 F6 CALL DELAY
42CD UO_G:
42CD 74 01 MOV A,#01H
42CF F0 MOVX @DPTR,A
42D0 12 42 F6 CALL DELAY
42D3 STOP_S:
42D3 74 0B MOV A,#0BH ;TO OPEN THE DOOR
OF LIFT1
42D5 90 FF CC MOV DPTR,#STAT_OU ;AND GIVE BEEP FOR 1
SEC
42D8 F0 MOVX @DPTR,A
42D9 12 42 F6 LCALL DELAY
42DC 74 03 MOV A,#03H
42DE F0 MOVX @DPTR,A
42DF 80 13 SJMP STOP
42E1 ERROR:
42E1 78 03 MOV R0,#03H
42E3 ERR:
42E3 74 0B MOV A,#0BH ; G I V E T H E B E E P
SOUND
42E5 90 FF CC MOV DPTR,#STAT_OU ;INDICATES ERROR
CONDITION
42E8 F0 MOVX @DPTR,A
42E9 12 42 F6 CALL DELAY
42EC 74 03 MOV A,#03H
42EE F0 MOVX @DPTR,A
42EF 12 42 F6 CALL DELAY
42F2 D8 EF DJNZ R0,ERR
42F4 STOP:
42F4 80 FE SJMP STOP
42F6 DELAY:
42F6 75 31 0A MOV COUNT1,#10 ; F O R 1 S E C O N D S
DELAY
42F9 75 30 64 MOV COUNT,#100
42F9 DL2:
42FC 12 43 06 CALL DELAY1 MS
42FF D2:
4302 D5 30 FA DJNZ COUNT,D2
4305 D5 31 F4 DJNZ COUNT1,DL2
4306 DELAY1 MS: ;1MILLI SECOND
4306 75 8A 17 MOV T10,#017H ;TLO=17H, THE LOW
Page 59
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 57 ]
BYTE OF
;TIMER0
4309 75 8C FC MOV TH0,#0FCH ;TH0=FCH, THE HIGH BYTE OF
;TIMER0
430C 12 43 10 CALL T0DELAY ;ACTIVATE THE TIMER 0, AND WAIT
;UPTO
430F 22 RET
4310 T0DELAY:
4310 E5 89 MOV A,TMOD
4312 54 F0 ANL A,#0F0H
4314 44 01 ORL A,#T0_M1
4316 F5 89 MOV TMOD,A ;2 TIMER 0, MODE1
4318 D2 8C SETB TR0 ;1 START THE TIMER 0
431A 30 8D FD JNB TF0,$ ;0FFFF-(16 BIT TIMER
;VALUE)+1
;MONITOR TIMER FLAG 0
431D C2 8C CLR TR0 ;1 STOP THE TIMER 0
431F C2 8D CLR TF0 ;1 CLEAR TIMER FLAG 0
4321 22 RET ;1 RETURN FROM SUBROUTINE
END
Page 60
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 58 ]
APPENDIX - A
CIRCUIT DIAGRAM
Page 61
5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
VC
CV
CC
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
VC
C
LFT1
-
RS
T-D0
D1
D2
D3
D4
D5
D6
D7
STA
TOU
T-
RS
T-D0
D1
D2
D3
D4
D5
D6
D7
LFT2
-
RS
T-D0
D1
D2
D3
D4
D5
D6
D7
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
13
Thur
sday
, Dec
embe
r 01,
201
1
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
13
Thur
sday
, Dec
embe
r 01,
201
1
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
13
Thur
sday
, Dec
embe
r 01,
201
1
DC
40.
1MFD
DC
40.
1MFD
L7 LED
L7 LED
R3
330E
R3
330E
R12
330E
R12
330E
R6
330E
R6
330E
L19
LED
L19
LED
L16
LED
L16
LED
L3 LED
L3 LED
L12
LED
L12
LED
L6 LED
L6 LED
R17
330E
R17
330E
R9
330E
R9
330E
U6
74LS
273
U6
74LS
273
D1
3
D2
4
D3
7
D4
8
D5
13
D6
14
D7
17
D8
18
CLK
11
CLR
1
Q1
2
Q2
5
Q3
6
Q4
9
Q5
12
Q6
15
Q7
16
Q8
19
VC
C20
GN
D10
Q1
SL1
00Q
1S
L100
R13
330E
R13
330E
R2
330E
R2
330E
U5
74LS
273
U5
74LS
273
D1
3
D2
4
D3
7
D4
8
D5
13
D6
14
D7
17
D8
18
CLK
11
CLR
1
Q1
2
Q2
5
Q3
6
Q4
9
Q5
12
Q6
15
Q7
16
Q8
19
VC
C20
GN
D10
L2 LED
L2 LED
L13
LED
L13
LED
DC
60.
1MFD
DC
60.
1MFD
R1
330E
R1
330E
R5
330E
R5
330E
DC
50.
1MFD
DC
50.
1MFD
L9 LED
L9 LED
L14
LED
L14
LED
L5 LED
L5 LED
R14
330E
R14
330E
R4
330E
R4
330E
L10
LED
L10
LED
R24
330E
R24
330E
R8
330E
R8
330E
L17
LED
L17
LED
L4 LED
L4 LED
L21
LED
L21
LED
R10
330E
R10
330E
R18
330E
R18
330E
L8 LED
L8 LED
R15
330E
R15
330E
R25
220E
R25
220E
L18
LED
L18
LED
L15
LED
L15
LED
BU
ZZE
RB
UZZ
ER
12
L1 LED
L1 LED
U4
74LS
273
U4
74LS
273
D1
3
D2
4
D3
7
D4
8
D5
13
D6
14
D7
17
D8
18
CLK
11
CLR
1
Q1
2
Q2
5
Q3
6
Q4
9
Q5
12
Q6
15
Q7
16
Q8
19
VC
C20
GN
D10
R11
330E
R11
330E
L11
LED
L11
LED
R19
330E
R19
330E
R16
330E
R16
330E
R7
330E
R7
330E
Page 62
5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
VC
C
VC
C VC
C
VC
C
VC
CV
CC
VC
CV
CC
VC
C
SW
IN1-
D0
D2
D6
D1
D5
D4
D3
D7
RS
T 5.
5
RS
T 6.
5
RS
T 5.
5
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
23
Thur
sday
, Dec
embe
r 01,
201
1
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
23
Thur
sday
, Dec
embe
r 01,
201
1
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
23
Thur
sday
, Dec
embe
r 01,
201
1
1 2 3 4 5 6
R27
3.3K
R27
3.3K
R20
3.3K
R20
3.3K
SW
5
TAC
TILE
SW
ITC
H
SW
5
TAC
TILE
SW
ITC
H
13
24
J1J11 2 3
4
DC
30.
1MFD
DC
30.
1MFD
R21
3.3K
R21
3.3K
L20
LED
L20
LED
SW
4
TAC
TILE
SW
ITC
H
SW
4
TAC
TILE
SW
ITC
H
13
24
R22 3.
3KR
22 3.3K
R26
3.3K
R26
3.3K
R23
3.3K
R23
3.3K
U3
74LS
244
U3
74LS
244
1A1
2
1A2
4
1A3
6
1A4
8
2A1
11
2A2
13
2A3
15
2A4
17
1G1
2G19
1Y1
18
1Y2
16
1Y3
14
1Y4
12
2Y1
9
2Y2
7
2Y3
5
2Y4
3
VC
C20
GN
D10
SW
2S
W2
4561 2 3
SW
1
THU
MB
WH
EE
L S
WIT
CH
SW
1
THU
MB
WH
EE
L S
WIT
CH
1 2 4 C B C
R29
330E
R29
330E
R28
3.3K
R28
3.3K
U1C
7400
U1C
7400
9 108
SW
3
LIM
IT S
WIT
CH
SW
3
LIM
IT S
WIT
CH
1 2 3
Page 63
5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
VC
C
+12V
VC
C
VC
C
VC
C
CM
OS
VC
C
+30V
-12V
VC
C
VC
CA
0A
1A
2A
3A
4A
5A
6A
7
A8
A9
A10
A11
A12
A13
A14
A15
ALE
RS
T
D0
D1
D2
D3
D4
D5
D6
D7
RS
T-IO
R-
IOW
-P
CLK
MW
-M
R-
INTA
-IN
TRR
ST
7.5
RS
T 6.
5R
ST
5.5
A5
IOW
-
IOR
-
LFT1
-
SW
IN1-
STA
TOU
T-A
4A
3A
2
A6
A7
LFT2
-
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
33
Thur
sday
, Dec
embe
r 01,
201
1
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
33
Thur
sday
, Dec
embe
r 01,
201
1
Title
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
MO
DEL
: V
BMB-
022
2
ELEV
ATO
R IN
TER
FAC
E
Vi Mi
crosy
stems
Pvt.
Ltd.,
DR
N B
Y : M
rs.R
.V
CH
K B
Y : M
rs.R
.K
A
33
Thur
sday
, Dec
embe
r 01,
201
1
U1A
7400
U1A
7400
1 23
14 7
U2
74LS
138
U2
74LS
138
A1
B2
C3
Y015
Y114
Y213
Y312
Y411
Y510
Y69
Y77
VC
C16
GN
D8
G1
6
G2A
4G
2B5
DC
10.
1MFD
DC
10.
1MFD
U1B
7400
U1B
7400
4 56
DC
20.
1MFD
DC
20.
1MFD
P1
P1
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
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
Page 64
ELEVATOR SIMULATOR VBMB - 022
Vi Microsystems Pvt Ltd., [ 62 ]
APPENDIX - B
COMPONENT LAYOUT