Theory
of
Operation—MicroLab
|
Instruction
To
summarize, one
location
in
Display
RAM
is
dedicated
to
each
LED
in
the
display. The
Character
Counter
constantly
cycles
through
Display
RAM,
reading
RAM
contents
out
to
the Character
PROM,
while
sequentially
turning on
each
LED
in
the
display.
Keypad
Encoding
If
you'll
turn
to
schematic
6,
you'll
see that
the same
SO-S2
lines
that were
used
to
turn
on
the
LEDs
are
also
used
to
scan the
keypad. The
Scan
Decoder
constantly
forces
its
outputs
low,
one
at
a
time.
If
a
key is
pressed
while
one
of
the Scan
Decoder
lines
is
low,
a
low appears
on
either
the
KA,
KB,
or
KC
lines
fed
back
to
the
Main
Interconnect
board.
For example,
if
pin
11
of
U3060
low,
and
the
A
key(S3048)
on
the
keypad
is
pressed, the
KB
line goes
low.
The
speed
at
which
the
keys are
scanned
by
the Scan
Decoder
is
such
that
a
key
could not be
pressed fast enough
to
escape
forcing
one
of
the
“K”
lines
low.
Turn back to
schematic 4 and
you'll
see
the
KB
line
coming
in
at
the
lower
left
corner
of
the
schematic.
Let’s
follow
KB
to U3030C.
When
KB
goes low,
the
output
of
U3030C
goes
high.
The
pin
14
output
of
U3010
is
NANDed
with
the
output
of
U3030C
to
create
a
low out
of
U2022B.
(During
the
time
KB
is
low,
the
pin 14
output
of
U3010
will
have
gone
high
at
least
once.) The
low
output
of
U2022B
does
a
number
ofthings.
First,
let's discuss
U2012. U2012
is
a dual 4-bit counter.
It
debounces
all
keystrokes,
and
it
detects when
someone
is
holding
a
key down.
Notice that
the
output
of
U2022B
is
fed
to
clock
input
pin
1
of U2012.
This
half of
U2012
counts
the
number
of
times
KB goes
low.
The
eighth
time
that
KB
goes
low,
pin
6
of
U2012
goes
high.
That
high
is
fed into the
J
input
of
U5010,
which
allows
pin
12
(KEYSTROBE)
to
go
high
the
next time
KB goes
low.This
is
the
debounce
action
we mentioned. The
KEYSTROBE
line
is
fed
back
to
pin
2
of
U2020,
and
it
clocks
the
Keypad
Status
latch (U2010).
KEYSTROBE
will
stay
high
until
U5010
is
reset.
Let's
go
back
to
the
input
of
the
Keypad
Status
latch.
Notice
that
two
of
the
inputs
to
the
latch
are the
KB
and
KC
lines
from
the
Keypad/Display board.
The
remainder
of
the
inputs are
SO,
S1,
andS2.
The
combination
of
these
lines
is
a
binary
representation
of
the
key
that was
pressed.
So
what
gets
latched
into
the
Keypad
Status
latch
is
the
value
of
the
key
that
was
pressed.
5-16
To
summarize what has
happened
up
to
this
point:
The”
key
has
been
pressed
on the
keypad,
forcing
the
KB
line
low.
This
low
has
clocked U2012
until
its
pin
6
output
went
high,
allowing
the
next pulse from
KB
to force
the
KEYSTROBE
line
high.
KEYSTROBE
latched
the
value
of
the
key
pressed
into
U2010,
the
Keypad
Status
latch.
Notice
that
when
KEYSTROBE
went
high,
it
forced
pin
5 of
OR
gate
U2030B
high.
This
caused
the
output
of
U2030B
to
go
low,
which
in
turn, forced
the
IREQ
line
low. The
IREQ
line
goes
to
the
personality card,
where
it
interrupts
the
microprocessor. The microprocessor stops
what
it
was
doing,
and begins
looking for
where the
interrupt came
from.
The
MicroLab
|
handles
interrupts
on
a
polling
basis.
That
is,
the personality
card
reads
all
the
MicroLab
|
status
registers
until
it
finds
one
that
has
its
interrupt
bit high.
When
the
personality
card
gets
to
the
keypad I/O address,
the
Y1
output
of
U8030
(in
the
upper
left
corner
of
schematic
4)
goes
low.
This
low
is
inverted,
and
NANDed
with
the
BR/W
line
to produce
a
low
at
pin
3 of
U4030A.
The
output
of
U4030A
enables
the information
from
the
Keypad
Status
latch onto
bus
lines
BDO-BD7. The
personality
card
then
checks
BD7
to
see
if
the
interrupt
bit
was
set.
And
it
was,
by
the
KEYSTROBE
line.
To
the
personality card,
the
interrupt
bit
means that
the
data contained
on
BDO-BD6
is
valid keypad data.
The
MicroLab
|
operating
monitor
then causes
the personality
card to write
to the
Keypad
I/O
port,
again sending the
Y1
output
of
U8030
low.
If
you'll
look
at
U2022D,
you'll
see
that
its
inputs
are
tied
to
the
BE
line
and the
BW/R
line.
During
a
write operation,
both
these
lines
are
high. The
output
of
U2022
goes
low,
is
inverted,
and
is
NANDed
with
the
inverted low from U8030
and
U4030B.
If
you'll follow
the output
of
U4030B
across
the
page,
you'll
see that
this
output resets
U5010,
making
it
ready
for
the
next
key press.
The
one
part
of
this
circuit
that we
haven’t
mentioned
is
the
upper
half of
counter
U2012. This
counter serves
to
prevent
the wrong data from being read
by
the personality
card
if
a
key is
held
down
for
a
long
period
of time.
Notice
that this
counter
is
clocked
by
the
S1
line from
U3010.
Each
time the output
of
U2022B
goes low,
the
counter
is
cleared.
This
action prevents
pin
8
of
U2012
(KEYDOWN)
from
going high until
the
key
is
released.
As
soon
as
the
key
is
released, the
counter
will
time out
and
KEYDOWN
will
go
high.
KEYDOWN
is
NANDed
with
pin 13
of
U5010. When
U5010
is
reset,
pin
13
will
go high,
causing the
output
of
U2022A to
go low,
clearing
the
Keypad
Status
latch.
Therefore,
the
Keypad
Status
latch
is
not cleared
until
the
key is
released, and
U5010
has
been
reset.
Summary of Contents for 067-0892-00
Page 9: ...MicroLab Instruction 2827 1 The TEKTRONIX MicroLab I vi REV A JUN 1980...
Page 101: ......
Page 102: ...MICROLAB AlddNS Y3MOd 3YHNDIS...
Page 103: ...JANVd LNOYS Z AHNDIS MICROLAB...
Page 104: ......
Page 110: ......