The Idea
The idea for our final project for Digital Logic Design was to make
a device that accepts two numbers formatted in morse code, add them, and
display the output as morse code on seven segment displays.
A brief explanation of morse code is necessary to understand this project.
A component in morse code can be either a short beep, represented
by a dot, or a long beep, represented by a dash. A combination of
the dots and dashes is termed a word. The components must
be entered in a specific manner: a dot must consist of one time unit, while
a dash must consist of three. The words in morse code that represent
the numbers from zero to nine are:
Thus the number is inputted via a push button switch, which interprets
the dots and dashes as ones and zeros respectively.
My partner for this assignment was Martin
Raphan, 1 BSE. His page
contains his contribution to our writeup (INTERNAL PAGE ONLY).
Back to Top
The Steps Taken
We divided this project into a couple of sections as follows:
Inputting the Morse
Code
-
Set up a 4 bit shift register (74194) shifting right with a 555 timer
providing the clock.
-
The "." and "_" is provided by a push button switch, which gives a low
when pressed, and default (High) otherwise.
-
Invert the input from the push button switch and put it in the serial right
data input of the 74194.
-
Take the first 3 parallel outputs from the shift register and AND them
together. The reasoning behind this is to detect when an input consisting
of 3 time units is entered.
-
Separately, invert the first and third output and AND these together.
This detects a 010 input, signalling that a "." has been entered.
-
Display the result on a seven segment display, which lights up the "."
when a "." has been entered, and a segment if the "_" has been entered.
Back to Top
LOGIC DIAGRAM
Back to Top
Translating
the Input to Binary
-
Feed the output from the AND gate that produces a High for a "." into a
separate shift register which is clocked when either of the results from
the AND gates is a 1.
-
Connect a D type flip flop to the shift register to allow for the fifth
bit of input, providing it with the same clock as that of the shift register.
-
Display the output of the 5 bits on a seven segment display, which lights
up a segment when the input is a "_" and turns off a segment when the input
is a "."
-
Translating the input involves the use of 5 variable karnaugh maps where
the function generated is a four bit number from the five inputted bits
of morse code.
TRUTH TABLE
Back to Top
KARNAUGH MAPS
PLEASE MAXIMIZE YOUR WINDOW
FOR PROPER LAYOUT OF THE IMAGES.




Back to Top
BOOLEAN EQUATIONS
Since the equation for A was quite complex, the function was generated
using an 8-1 line multiplexer (74151).
The address lines for the MUX were Ma, Mb, and
Mc (most significant to least significant) and the data inputs
were constructed from the following tables:
PLEASE MAXIMIZE YOUR WINDOW
FOR PROPER LAYOUT OF THE IMAGES.





The functions generated for the data inputs of the MUX are as follows:
Back to Top
LOGIC DIAGRAM
Back to Top
Storing the Numbers and Performing
Addition
-
To use a single clock to store the numbers in two separate shift registers,
we used a JK flip flop that toggles on the input of the send button and
ANDed two distinct combinations which induced rising edges for the 74194.
REFER TO THE CIRCUIT DIAGRAM BELOW FOR THE LOGIC/CIRCUIT OF THIS
UNIT
Circuit Diagram
Board Diagram
Click here
for PART II
Click here
for PART II
This page was created by Vikas Anant
with Netscape Navigator Gold.
This page was last updated on May 12, 1998.
BACK TO MAIN PAGE