Purpose and Objectives The objective of this project is to design a

Purpose and Objectives
The objective of this project is to design a functioning 3-story elevator control. This
elevator control will have the following 6 inputs:
1. Start: Enables operation of the elevator. Before Start is activated, the elevator is at an
idle state on the first floor with the doors open
2. Up: Doors shut, Elevator goes up a floor, doors open. Repeats while input is 1 until the
elevator reaches the 3rd floor
3. Down: Doors shut, Elevator goes down a floor, doors open. Repeats while input is 1
until the elevator reaches the 1st floor
4. Run: Doors shut, Elevator goes up or down a floor, doors open. Repeats while input is 1
until the elevator reaches the 3rd or 1st floor then continues in the opposite direction
5. Reset: Resets the elevator to the idle state on the first floor with the doors open
6. SetAlarm: Asynchronously closes the door and triggers an LED to flash with the clock.
Elevator with remain on it’s current floor
This elevator control will have the following 3 outputs:
1. Door: Closes (0) before an elevator leaves for the next floor, Opens (1) after it arrives
2. Alarm: Flashes synchronously with the clock while the SetAlarm input is 1
3. Floor: A 2-digit binary output that indicates what floor the elevator is currently on. 01 =
1st floor, 10 = 2nd floor, 11 = 3rd floor. These inputs run into a 7-segment display and
Binary-BCD Decoder (74LS247N)
We will simulate this circuit in Logisim, Verilog, and on a breadboard. The purpose of this
project is to use all of the logic design knowledge we have accumulated over the semester to
make a complex real-world sequential circuit, and also to learn about and implement a 7segment display with a Binary-BCD Decoder.
Components Used
Breadboard
Connecting wires
4 LEDS
5 Volt power Supply
We used seven different 7400 digital logic gates:
● 7404 Hex Inverter
● 7408 2 input AND Gate
● 7411 3 input AND Gate
● 7432 2 input OR Gate
● 7474 D Flip Flop
● 7476 JK Flip Flop
7486 2 input XOR
Design Description
First, we made a Moore logic diagram in order to visualize our design. We made an UP
side and a DOWN side with three levels each representing the three floors. Each floor has two
states: door open (1) and door closed(0). We then connected the two sides with RUN arrows to
represent the alternating RUN toggle.
We then translated this into four different next-state tables:
1. Floor A and B toggles: represent the two-digit binary floor selector
2. Door A and B D-flip-flops: a shift register for the door mechanism
3. Run toggle: Chooses whether the elevator is going up or down during RUN
4. UP and DOWN: Uses the up, down, and run inputs to determine if the elevator is going
up or down
We then made K-maps to find the simplified Boolean equations for each output.
Inputs
Outputs
Up_Input
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Down_Input
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
Run
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
Run_T
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
UP
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
DOWN
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
UP+
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
DOWN+
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
Once we found every needed Boolean equation, we made the complete circuit in Logisim. From
here we implemented the Start, SetAlarm, and Reset inputs. For start we just used AND gates
with the inputs. For reset, we ran the input into the presets of the Door flip-flops and the Floor
toggles. For SetAlarm, we ran the input into the clear inputs for the Door flip-flops and into and
LED. We also ran the floor outputs into a BCD binary decoder.
Finally, we made the circuit on our breadboard using the Logisim design.
Observations and Data Analysis
In this final project we were supposed to make a 3 floor elevator. what we expected
going into this lab was that we were going to be able to get it done on logic but due to the
difficulty and the extended number of gates it was going to be hard to put on the breadboard. At
the end of the project we was able to get it work on logisim but was never able to get it going up
floor to floor on the breadboard. The alarm would blink when its on and deactivate all other
inputs. the picture below would show you are completed work on the breadboard.
Discussion and Conclusions
In conclusion, we designed a 3-story elevator control with 6 inputs and 3 outputs. We
had to apply everything we learned over the semester to accomplish this task including
sequential logic, finite-state machines, truth and next-state tables, Logic diagrams, and Logisim
skills. We were able to make our machine simple and efficient while still retaining the
specifications listed in the beginning of this report. We had some trouble implementing the
circuit on our breadboard mainly because of the large scale of the project. Next time we will do a
better job of translating the Logisim circuit onto the breadboard. After taking this class we are
ready to design larger circuits like an even more complex elevator with many more floors and an
LED display.