Purpose of the Experiment
The purpose of this experiment is to fix the nonsensical
display chracters from a hex keyboard that are between the values of A
and F. And reimpliment the value of the number six to read differently
so as not to get it confused with a hex display character of B.
Theory
The theory behind changing the characters is to
change the value's corresponding display bits in each of the functions.
Each function stands for one segment of the LED display module in an eight
segment display module. The 'dot' segment will not be used in this experiment
at all. Hence, there are only a total of seven functions for each of their
corresponding display segments.
Each of the functions, once a truth table is drawn
up for them, will be Kmapped. An algebraic function will be derived from
the Kmap. Once simpilfied, this algebraic function will be implimented
into a circuit. Each function will be a subcircuit that will each segment
of the display module.
Data
-
Truth Table 1:
The Current Configuration of the Non-Working Display
|
A
|
B
|
C
|
D
|
f(a)
|
f(b)
|
f(c)
|
f(d)
|
f(e)
|
f(f)
|
f(g)
|
value |
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0 |
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
8 |
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
4 |
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
c |
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
2 |
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
a |
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
6 |
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
e |
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
1 |
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
9 |
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
5 |
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
d |
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
3 |
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
b |
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
7 |
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
f |
-
Truth Table 2:
The Modified Configuration
|
A
|
B
|
C
|
D
|
f(a)
|
f(b)
|
f(c)
|
f(d)
|
f(e)
|
f(f)
|
f(g)
|
values
|
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
8
|
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
4
|
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
c
|
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
2
|
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
a
|
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
6
|
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
e
|
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
9
|
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
5
|
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
d
|
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
3
|
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
b
|
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
7
|
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
f
|
-
Kmaps for f(a) - f(g):
KMAP of f(a)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
1
|
0
|
|
01
|
1
|
1
|
1
|
1
|
|
11
|
1
|
0
|
1
|
1
|
|
10
|
0
|
1
|
0
|
1
|
KMAP of f(b)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
0
|
1
|
|
01
|
1
|
1
|
0
|
0
|
|
11
|
1
|
0
|
0
|
1
|
|
10
|
1
|
1
|
1
|
0
|
KMAP of f(c)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
0
|
1
|
|
01
|
0
|
1
|
0
|
1
|
|
11
|
1
|
1
|
0
|
1
|
|
10
|
1
|
1
|
1
|
1
|
KMAP of f(d)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
1
|
0
|
|
01
|
1
|
1
|
1
|
1
|
|
11
|
1
|
1
|
0
|
0
|
|
10
|
0
|
0
|
1
|
1
|
KMAP of f(e)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
1
|
0
|
|
01
|
1
|
1
|
1
|
1
|
|
11
|
0
|
1
|
1
|
0
|
|
10
|
0
|
0
|
1
|
0
|
KMAP of f(f)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
1
|
1
|
|
01
|
0
|
0
|
1
|
1
|
|
11
|
0
|
1
|
1
|
0
|
|
10
|
0
|
1
|
0
|
1
|
KMAP of f(g)
|
AB\CD
|
00
|
01
|
11
|
10
|
|
00
|
0
|
1
|
0
|
1
|
|
01
|
1
|
1
|
1
|
1
|
|
11
|
1
|
1
|
1
|
0
|
|
10
|
0
|
1
|
1
|
1
|
Circuit Diagram
-
![[ The Original Circuit Design ]](design1.gif)
The above diagram is the current configuration. As can be seen the hex
character button A produces a nonsensical character on the LED display.
-
![[ Modified Circuit Diagram ]](design2_a.gif)
The above configuration is the modified configuration. As can be seen,
A, now produces a sensible character.
-
![[ Function A ]](func_a.gif)
![[ Function B ]](func_b.gif)
![[ Function C ]](func_c.gif)
![[ Function D ]](func_d.gif)
![[ Function E ]](func_e.gif)
![[ Function F ]](func_f.gif)
![[ Function G ]](func_g.gif)
Results
The circuit above was designed to implement the
functions that were derived from the KMAP for each segment. Each KMAP corresponds
to the individual sections of the LED display. Each of the subciruits receives
four inputs and has one output. The four inputs correspond to the HEX's
board layout of the outputs letters A, B, C, and D. Each subciruit parses
the output from the hex keyboard and outputs a logical one or zero directly
to the display. Each subcircuit handles exactly one of the inputs of the
LED display screen.
Hence, when as user enters 'A' into the hex keyboard,
the signal 0101 sent out from the keyboard. Each of the 7 subcircuits receive
this signal and parse it according to their own truth tables. When the
parsing is done, the output is sent directly to the corresponding input
of the LED display screen. Therefore, when 0101 gets sent out, subcircuit
A receives this and sends out an '0' to the LED display screen. The second
circuit layout demonstrates this modified circuit. Further results would
be demonstrated upon demand.
Conclusions
This simulation was quite a thought provoking one.
The biggest problem was the use of the LogicWorks program to create custom
chips and custom subcircuits. The implimentation was the actual circuit
layout encapsulated and organised around the center of the layout. Also,
to change any function, first one must be able to see the truth table for
the entire function (and other reliant functions, as in the first table
above). Then by changing the relevant bits, re-deriving the kmaps and reimplimenting
the functions one can impliment the modification! Also some reverse engineering
was needed in this case. The chip itself was reimplimented and modifications
added to the chip.
Along these lines, there were several ways that
this could have been accomplished. It was decided to accomplish the goal
of fixing the characters by implimenting a concise approach. This concise
approach was to be able to "see" into each of the subcircuits. Although
the major drawback for this method was that too much space was taken up
by the components. Just compare the first diagram and second diagram.