|
|
|
| United States Patent | 3971925 |
| Link to this page | http://www.wikipatents.com/3971925.html |
| Inventor(s) | Wenninger; Freddie W. (Loveland, CO);
Morris; Donald E. (Loveland, CO);
Kohoutek; Jindrich (Loveland, CO);
Maitland; David S. (Loveland, CO);
Clifford; Douglas M. (Loveland, CO);
Schulte; Louis T. (Loveland, CO);
Keith; John C. (Loveland, CO) |
| Abstract | An adaptable calculator is provided by employing five MOS/LSI circuits
interconnected by a multiple line bus system. They include (1) a read-only
memory circuit group in which subroutines for performing arithmetic and
other functions of a basic keyboard input unit are stored; (2) a control
and timing circuit for scanning the keyboard, for retaining status
information relating to the condition of the calculator or of a particular
subroutine, and for generating a next address in read-only memory; (3) an
arithmetic and register circuit containing an adder, a group of working
registers, a group of data storage registers forming a stack, and a
constant storage register; (4) a data storage circuit which provides ten
data storage registers, nine of which are employed by the calculator
system and one of which is available to the user for storing data; and (5)
an input/output (I/O) circuit for enabling the calculator to communicate
with various I/O peripheral units such as a typewriter and an X-Y plotter,
for performing binary arithmetic by means of a binary arithmetic logic
unit contained therein, and for performing various system housekeeping
operations.
Input and output units include a keyboard input unit having a receptacle
for accommodating a 15-key function block to enlarge the capabilities of
the calculator and an 18-column output printer unit for printing
intermediate results of calculations, entered data, arithmetic operators,
and diagnostic notes. An optional 15-digit seven-segment light emitting
diode (LED) output display unit may be inserted into the calculator
mainframe. All of these input and output units are included within the
calculator itself. An X-Y plotter, a typewriter, a marked sense card
reader, an extended data storage memory, a magnetic card reading and
recording unit, a ASCII bus for enabling the calculator to communicate
with data gathering instruments, and many other peripheral input and
output units may also be employed with the calculator.
The calculator may be operated manually by the user from the keyboard input
unit or automatically by a program written in user-level language and
stored in a plug-in read-only memory unit (ROM), a plug-in programmable
read-only memory unit (PROM) or a read/write memory unit associated with a
plug-in magnetic card reading and recording unit. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 3971925 |
|
|
Adaptable programmed calculator having provision for plug-in keyboard
and memory modules |
|
|
|
|
|
| Publication Date |
July 27, 1976 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This is a continuation of application Ser. No. 318,451, filed Dec. 26,
1972, now abandoned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. In an electronic calculator including a keyboard input unit for entering
information into the calculator, a memory unit for storing sequences of
instructions to be performed by the calculator in making selected
calculations, computing means responsive to information from the keyboard
input unit and to operating states within the calculator itself for
selectively performing selected ones of the sequences of instructions
stored in the memory unit to make selected calculations employing data
entered from the keyboard input unit and to give an output indication of
the results of those calculations, wherein the improvement comprises a
plug-in modular keyboard section, integrally including at least one key
and an associated read-only memory containing additional sequences of
instructions, for providing the user with additional keyboard functions.
2. An electronic calculator comprising:
a keyboard input unit for providing the user with a plurality of keyboard
functions and for entering into the calculator commands used to initiate
selected ones of those keyboard functions and data used in making selected
calculations to perform the selected keyboard functions;
means for storing commands and data entered into the calculator;
a memory unit for storing sequences of instructions to be performed by the
calculator in making the selected calculations to perform the selected
keyboard functions;
a plug-in modular keyboard section, integrally including read-only memory
means storing additional sequences of instructions, for providing the user
with additional keyboard functions and for entering into the calculator
commands used to initiate selected ones of those additional keyboard
functions; and
computing means responsive to commands from the keyboard input unit and to
operating states within the calculator itself for selectively performing
selected ones of the sequences of instructions stored in the memory unit
to make the selected calculations employing data entered from the keyboard
input unit and to give an output indication of the results of those
calculations, said computing means being responsive to commands from the
plug-in modular keyboard section and to operating states within the
calcuator itself for selectively performing selected ones of the
additional sequences of instructions stored in the read-only memory means
to make selected calculations employing data entered from at least one of
the keyboard input unit and the plug-in modular keyboard section and to
give an output indication of the results of those calculations.
3. An electronic calculator as in claim 2 wherein said keyboard input unit
includes a receptacle into which said plug-in modular keyboard section may
be removably plugged, and said keyboard input unit and said plug-in
modular keyboard section include electrical connection means for
electrically connecting said keyboard input unit and said plug-in modular
keyboard section.
4. An electronic calculator as in claim 3 wherein said plug-in modular
keyboard section includes a plurality of keys, each of which is associated
with a predetermined one of said additional keyboard functions.
5. An electronic calculator as in claim 3 wherein said plug-in modular
keyboard section includes a plurality of keys, each of which may be
associated with a function defined by the user.
6. An electronic calculator as in claim 2 wherein:
said keyboard input unit includes a plurality of command keys and a
plurality of data keys for entering into the calculator keyboard commands
and data associated with separate mnemonic codes;
said memory unit is employed for storing microprogrammed sequences of
instructions to be performed by the calculator in executing selected
keyboard commands;
said read-only memory mens of the plug-in modular keyboard section
comprises first read-only memory means;
said calculator includes second read-only memory means coupled to said
keyboard input unit and storing keyboard mnemonic codes representing a
program of selected keyboard commands and data; and
said computing means is responsive to actuation of a command key for
performing at least one microprogrammed sequence of instructions stored in
said memory unit to execute the keyboard command entered into the
calculator by actuation of that command key, said computing means being
further responsive to the keyboard mnemonic code associated with a
keyboard command, when that keyboard mnemonic code is encountered in
processing a program stored in said second read-only memory means, for
performing at least one microprogrammed sequence of instructions stored in
said memory unit to execute the keyboard command represented by that
keyboard mnemonic code.
7. An electronic calculator as in claim 6 wherein said second read-only
memory means comprises a programmable read-only memory.
8. An electronic calculator as in claim 2 wherein:
said keyboard input unit includes a plurality of command keys and a
plurality of data keys for entering into the calculator keyboard commands
and data associated with separate mnemonic codes;
said modular keyboard section includes a plurality of definable keys;
said read-only memory means of the plug-in modular keyboard section
comprises first read-only memory means storing microprogrammed sequences
of instructions representing a table of predetermined mathematical
functions;
sid calculator includes second read-only memory means coupled to said
keyboard input unit and storing keyboard mnemonic codes representing at
least one program employing selected keyboard commands and data;
said computing means is operable for associating a selected one of said
definable keys with a selected program stored in said second read-only
memory means and for associating at least one of the mathematical
functions of the table stored in said first read-only memory means with
the selected program; and
said computing means is responsive to actuation of the selected definable
key for executing the selected program, including each associated
mathematical function of the table stored in said first read-only memory
means.
9. An electronic calculator as in claim 8 wherein said second read-only
memory means comprises a programmable read-only memory.
10. An electronic calculator as in claim 2 wherein said calculator includes
logic means responsive to designation of an automatic decimal point mode
for automatically placing a decimal point at any predetermined one of a
plurality of positions in noninteger data subsequently entered into the
calculator from said keyboard input unit without the necessity of manual
entry of the decimal point in that noninteger data by the user.
11. An electronic calculator as in claim 10 wherein said keyboard input
unit includes:
decimal point control means for designating placement of the decimal point
at any one of said plurality of positions; and
automatic decimal point mode control means for designating the automatic
decimal point mode and causing said logic means to automatically place the
decimal point at the one of said plurality of positions designated by said
decimal point control means in noninteger data subsequently entered into
the calculator.
12. An electronic calculator as in claim 2 wherein:
said keyboard input unit includes a percent key for entering a percent
operator into the calculator and a plurality of keys for entering
numerical data and arithmetic operators, including an addition operator,
into the calculator; and
said computing means is responsive to entry of a sequence of numeral data
and operators, including entry of a first number followed by entry of the
addition operator followed by entry of a second number followed by entry
of the percent operator, for calculating the sum of the first number and a
percentage thereof as specified by the second number.
13. An electronic calculator as in claim 2 wherein:
said keyboard input unit includes a percent key for entering a percent
operator into the calculator and a plurality of keys for entering
numerical data and arithmetic operators, including a subtraction operator,
into the calculator; and
said computing means is responsive to entry of a sequence of numerical data
and operators, including entry of a first number followed by entry of the
subtraction operator followed by entry of a second number followed by
entry of the percent operator, for calculating the difference between the
first number and a percentage thereof as specified by the second number.
14. An electronic calculator as in claim 2 wherein:
said keyboard input unit includes a percent key for entering a percent
operator into the calculator and a plurality of keys for entering
numerical data and arithmetic operators, including a multiplication
operator, into the calculator; and
said computing means is responsive to entry of a sequence of numerical data
and operators, including entry of a first number followed by entry of the
multiplication operator followed by entry of a second number followed by
entry of the percent operator, for calculating the percentage of the first
number specified by the second number.
15. An electronic calculator as in claim 2 wherein:
said keyboard input unit includes a percent key for entering a percent
operator into the calculator and a plurality of keys for entering
numerical data and arithmetic operators, including a division operator,
into the calculator; and
said computing means is responsive to entry of a sequence of numerical data
and operators, including entry of a first number followed by entry of the
division operator followed by entry of a second number followed by entry
of the percent operator, for calculating the number a percentage of which
as specified by the second number equals the first number.
16. An electronic calculator comprising:
keyboard input means for providing the user with a plurality of keyboard
functions and for entering into the calculator commands used to initiate
selected ones of those keyboard functions and data used in making selected
calculations to perform the selected keyboard functions;
a memory unit for storing sequences of instructions to be performed by the
calculator in making the selected calculations to perform the selected
keyboard functions;
a plug-in modular keyboard section, integrally including read-only memory
means storing additional sequences of instructions, for providing the user
with additional keyboard functions and for entering into the calculator
commands used to initiate selected ones of those additional keyboard
functions;
processing means responsive to commands from the keyboard input means and
to operating states within the calculator itself for selectively
performing selected ones of the sequences of instructions stored in the
memory unit to make the selected calculations employing data entered from
the keyboard input means, said processing means being responsive to
commands from the plug-in modular keyboard section and to operating states
within the calculator itself for selectively performing selected ones of
the additional sequences of instructions contained in the read-only memory
means to make selected calculations employing data entered from at least
one of the keyboard input means and the plug-in modular keyboard section;
and
output means for providing an output indication of the results of the
selected calculations performed by the processing means.
17. An electronic calculator as in claim 16 wherein:
said keyboard input means includes a receptacle into which said plug-in
modular keyboard section may be removably plugged; and
said keyboard input means and said plug-in modular keyboard section include
electrical connection means for electrically connecting said keyboard
input means and said plug-in modular keyboard section.
18. An electronic calculator as in claim 17 wherein said plug-in modular
keyboard section includes a plurality of keys each of which is associated
with a predetermined one of the additional keyboard functions.
19. An electronic calculator as in claim 17 wherein said plug-in modular
keyboard section includes a plurality of keys each of which may be
associated with a function defined by the user.
20. An electronic calculator comprising:
keyboard input means, including a plurality of command keys and a plurality
of data keys, for entering into the calculator keyboard commands and data
associated with separate keyboard mnemonic codes;
main memory means for storing microprogrammed sequences of instructions
performed by the calculator in executing selected keyboard commands;
read-only memory means for storing keyboard mnemonic codes representing a
program of selected keyboard commands and data;
output means for providing an output indication of the results of selected
keyboard commands executed by the calculator; and
processing means coupled to said keyboard input means, read-only memory
means, and main memory means, said processing means being responsive to
actuation of a command key for performing at least one microprogrammed
sequence of instructions stored in said main memory means to execute the
keyboard command entered into the calculator by actuation of that command
key, said processing means being further responsive to the keyboard
mnemonic code associated with a keyboard command, when the keyboard
mnemonic code is encountered in processing a program stored in said
read-only memory means, for performing at least one of the microprogrammed
sequence of instructions stored in said main memory means to execute the
keyboard command represented by that keyboard mnemonic code.
21. An electronic calculator as in claim 20 wherein:
said main memory means is employed for storing microprogrammed sequences of
instructions performed by the calculator in executing library commands,
each library command being associated with a separate mnemonic code;
said read-only memory means is employed for storing, as part of a program,
mnemonic codes associated with selected ones of said library commands; and
said processing means is responsive to the mnemonic code associated with a
selected one of said library commands, when that mnemonic code is
encountered in processing a program stored in said read-only memory means,
for performing at least one microprogrammed sequence of instructions
stored in said main memory means to execute that library command.
22. An electronic calculator as in claim 21 wherein at least one of said
library commands differs from any of the keyboard commands.
23. An electronic calculator as in claim 20 wherein said read-only memory
means comprises a programmable read-only memory.
24. An electronic calculator as in claim 20 wherein:
said read-only memory means comprises first read-only memory means;
said keyboard input means includes a plug-in modular keyboard section
having a plurality of command keys for entering into the calculator
associated keyboard commands, each of which is associated with a separate
mnemonic code;
said plug-in modular keyboard section integrally includes second read-only
memory means for storing microprogrammed sequences of instructions
performed by the calculator in executing keyboard commands associated with
the command keys of said plug-in modular keyboard section;
said first read-only memory means is employed for storing, as part of a
program, keyboard mnemonic codes associated with selected ones of the
keyboard commands associated with the command keys of said plug-in modular
keyboard section; and
said processing means is responsive to the keyboard mnemonic code
associated with a selected one of the keyboard commands associated with
the keys of said plug-in modular keyboard section, when that keyboard
mnemonic code is encountered in processing a program stored in said first
read-only memory means, for performing at least one of the microprogrammed
sequences of instructions stored in said second read-only memory means to
execute the keyboard command associated with that keyboard mnemonic code.
25. An electronic calculator as in claim 24 wherein:
said main memory means is employed for storing microprogrammed sequences of
instructions performed by the calculator in executing first library
commands, each first library command being associated with a separate
library mnemonic code;
said second read-only memory means is employed for storing microprogrammed
sequences of instructions performed by the calculator in executing second
library commands, each second library command being associated with a
separate library mnemonic code;
said first read-only memory means is employed for storing, as part of a
program, library mnemonic codes associated with selected ones of said
first and second library commands; and
said processing means is responsive to the library mnemonic codes
associated with selected ones of said first and second library commands,
when those library mnemonic codes are encountered in processing a program
stored in said first read-only memory means, for performing selected ones
of the microprogrammed sequences of instructions stored in said second
read-only memory means to execute those selected first and second library
commands.
26. An electronic calculator as in claim 25 wherein at least one of said
second library commands differs from any of the keyboard commands
associated with the command keys of said plug-in modular keyboard section.
27. An electronic calculator as in claim 26 wherein at least one of said
second library commands differs from any of said first library commands
and from any of the keyboard commands.
28. An electronic calculator as in claim 24 wherein:
said second read-only memory means also stores microprogrammed sequences of
instructions performed by the calculator in executing function block
library commands, each function block library command being associated
with a separate function block library mnemonic code;
said first read-only memory means also stores, as part of a program, a
function block library mnemonic code associated with a selected one of
said function block library commands; and
said processing means is responsive to the function block library mnemonic
code associated with a selected one of said function block library
commands, when that function block library mnemonic code is encountered in
processing a program stored in said first read-only memory means, for
performing at least one of the microprogrammed sequences of instructions
stored in said second read-only memory means to execute that function
block library command.
29. An electronic calculator as in claim 28 wherein at least one of said
function block library commands differs from any of the keyboard commands
associated with the command keys of said plug-in modular keyboard section.
30. An electronic calculator comprising:
keyboard input means, including a plurality of command keys and a plurality
of data keys, for entering into the calculator keyboard commands and data
associated with separate keyboard mnemonic codes, said keyboard input
means further including a plurality of definable keys;
main memory means for storing microprogrammed sequences of instructions
performed by the calculator in executing selected keyboard commands;
first read-only memory means coupled to said keyboard input means and
associated with said plurality of definable keys, said first read-only
memory means being employed for storing microprogrammed sequences of
instructions performed by the calculator in executing library commands,
each library command being associated with a separate library mnemonic
code;
second read-only memory means, coupled to said keyboard input means, for
storing selected ones of the keyboard and library mnemonic codes
representing at least one program of selected ones of the keyboard and
library commands, each program being associated with a separate one of
said definable keys;
output means for providing an output indication of the results of selected
ones of the keyboard and library commands executed by the calculator; and
processing means coupled to said keyboard input means, main memory means,
and first and second read-only memory means, said processing means being
responsive to actuation of a selected one of said definable keys for
executing the selected ones of the keyboad and library commands of the
program associated with that definable key.
31. An electronic calculator as in claim 30 wherein said plurality of
definable keys and said first read-only memory means comprise an integral
modular keyboard section that mey be removably plugged, as a unit, into
the calculator.
32. An electronic calculator as in claim 30 wherein:
said library commands comprise first library commands;
said main memory means also stores microprogrammed sequences of
instructions performed by the calculator in executing second library
commands, each of said second library commands being associated with a
separate library mnemonic code;
said second read-only memory means also stores, as part of a program,
library mnemonic codes associated with selected ones of said second
library commands; and
said processing means is responsive to the library mnemonic code associated
with a selected one of said second library commands, when that library
mnemonic code is encountered in processing a program stored in said second
read-only memory means, for performing at least one of the microprogrammed
sequences of instructions stored in said main memory means to execute that
second library command.
33. An electronic calculator as in claim 32 wherein at least one of said
second library commands differs from any of the first library commands and
from any of the keyboard commands.
34. An electonic calculator as in claim 30 wherein said second read-only
memory means comprises a programmable read-only memory.
35. An electronic calculator comprising: keyboard input means, including a
plurality of command keys and a plurality of data keys, for entering into
the calculator keyboard commands and data associated with separate
keyboard mnemonic codes, said keyboard input means further including a
plurality of definable keys;
main memory means for storing microprogrammed sequences of instructions
performed by the calculator in executing selected keyboard commands;
read-only memory means coupled to said keyboard input means for storing
keyboard mnemonic codes representing at least one program of selected
keyboard commands and data, each program being associated with a separate
one of said definable keys;
output means for providing an output indication of the results of selected
keyboard commands executed by the calculator; and
processing means coupled to said keyboad input means, read-only memory
means, and main memory means, said processing means being responsive to
actuation of a selected one of said definable keys for executing the
keyboard commands of the program associated with that definable key.
36. An electronic calculator as in claim 35 wherein:
said main memory means also stores microprogrammed sequences of
instructions performed by the calculator in executing library commands,
each library command being associated with a separate library mnemonic
code;
said read-only memory means also stores, as part of a program, library
mnemonic codes associated with selected ones of said library commands; and
said processing means is responsive to the library mnemonic code associated
with a selected one of said library commands, when that library mnemonic
code is encountered in processing a program stored in said read-only
memory means, for performing at least one of the microprogrammed sequences
of instructions stored in said main memory means to execute that library
command.
37. An electronic calculator as in claim 36 wherein at least one of said
library commands differs from any of the keyboard commands.
38. An electronic calculator as in claim 35 wherein said read-only memory
means comprises a programmable read-only memory.
39. An electronic calculator comprising:
keyboard input means for entering information including commands and data
into the calculator;
memory means for storing microprogrammed sequences of instructions
performed by the calculator in executing selected commands;
microprogrammed processing means responsive to information entered into the
calculator from the keyboard input means and to operating states within
the calculator for selectively performing selected ones of the sequences
of instructions stored in said memory means to execute selected commands
employing input data and and to provide an output indication of the
results of execution of those selected commands; and
interface means for coupling a selected external input/output peripheral
unit to the calculator, said interface means comprising a single unit
physically including both logic means for transferring data between the
calculator and the selected input/output peripheral unit and
microprogrammed read-only memory means for enabling said processing means
to perform logic operations associated with the selected input/output
peripheral unit.
40. Electronic processing apparatus comprising:
a basic keyboard input unit including a first plurality of keys for
entering information into the apparatus;
a plug-in keyboard input module including a second plurality of keys for
entering information into the apparatus;
plug-in adaptor means positioned within a portion of the basic keyboard
input unit for mechanically receiving and electrically engaging the
plug-in keyboard input module;
memory means for storing information entered into the apparatus from either
the basic keyboard input unit or the plug-in keyboard input module;
computing means for processing information entered into the apparatus; and
output means for providing an output indication of at least some of the
information processed by said computing means.
41. Electronic processing apparatus as in claim 40 wherein one or more of
the keys of either the basic keyboard input unit or the plug-in keyboard
input module includes a removable transparent cap portion within which the
user may interchangeably insert a key identification label.
42. Electronic processing apparatus as in claim 40 wherein said plug-in
keyboard input module also includes a read-only memory associated with
said second plurality of keys. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
TABLE OF CONTENTS
Title of Section
Background of the Invention
Summary of the Invention
Description of the Drawings
Description of the Preferred Embodiment
System Architecture
Arithmetic and Register Circuit
Read-Only Memory Circuit
Input/Output Circuit
Data Storage Circuit
Clock Driver
Led display
Output Printer
Power Supply
Plug-In Keyboard Function Block
Plug-In ROM/PROM Option
Data Storage Option
Instruction Set 1
Instruction Set 2
System Microprogramming
Detailed Listing of Routines and Subroutines of Instructions
Calculator Operation
Diagnostic Notes
BACKGROUND OF THE INVENTION
This invention relates generally to calculators and improvements therein
and more particularly to calculators which may be easily adapted to meet
the specific needs of each user.
Calculators constructed according to the prior art have generally taken one
of two approaches toward reducing the labor content of repetitious,
routine computational tasks. The first is by means of programmability. The
programmable machine has the inherent advantage of program versatility in
that it can be programmed to solve problems encountered in nearly all
disciplines including mathematics, science, engineering, business,
finance, statistics, etc. Unfortunately, this versatility has added
significantly to cost. The user is, therefore, paying for considerably
more calculating capability and versatility than is required, for
instance, in solving repetitive problems related to the same discipline.
The approach which has recently been taken to solve this problem is that
of a "dedicated" calculator. Such a machine generally has built-in, fixed
programming which allows it to handle only a narrow range of problems.
Even though these dedicated calculators are less expensive than
programmable types, they have a serious shortcoming in that their programs
can not be changed.
SUMMARY OF THE INVENTION
The principal object of this invention is to provide an improved programmed
calculator that has more capability and flexibility than conventional
calculators which are dedicated for solving a narrow range of problems and
which is smaller and less expensive than conventional programmable
calculators.
Another object of this invention is to provide an adaptable calculator in
which programs stored in a read-only memory or programmable read-only
memory are written at the user language level rather than the microprogram
level, thereby allowing the user to generate or alter such programs
without knowledge of the microprogramming language of the calculator.
Another object of this invention is to provide an adaptable calculator in
which the user may enlarge the keyboard thereof by plugging into said
keyboard a function block containing a plurality of keys together with
associated read-only memory, said keys either representing predefined
functions or functions definable by the user.
Another object of this invention is to provide an adaptable calculator in
which a definable plug-in function block for enlarging the keyboard of the
calculator contains a table of microprogram functions and in which such
functions, together with additional functions from a microprogram library
contained elsewhere in the calculator, may be selectively employed to
construct functions or programs to be associated with particular ones of a
plurality of keys contained within said function block.
Another object of this invention is to provide an adaptable calculator in
which a program stored in a plug-in read-only memory or a plug-in
programmable read-only memory can call not only microprogram functions
stored within the calculator mainframe, but also microprogram functions
stored within a plug-in keyboard function block employed in the
calculator.
Another object of this invention is to provide an adaptable calculator in
which each key of a user-definable keyboard function block represents a
function or program defined, by a read-only memory or programmable
read-only memory currently plugged into the calculator, as a sequence of
microprogram subroutines which are contained within the calculator
mainframe and/or the user-definable function block and which may or may
not be represented as keyboard functions.
Another object of this invention is to provide an adaptable calculator in
which a user-level program written in a read-only memory or a programmable
read-only memory may be run without the availability of keys associated
with program writing.
Another object of this invention is to provide an adaptable calculator in
which each peripheral input/output unit is interfaced to the calculator by
means of a single printed circuit board which contains all necessary
hardware and software for driving the peripheral.
Another object of this invention is to provide an adaptable calculator in
which the user may designate an automatic decimal point mode for
automatically placing the decimal point in entered data at a preselected
position.
Another object of this invention is to provide an adaptable calculator in
which the user may employ a PER CENT key in combination with data and one
or more of the four arithmetic operators.
Another object of this invention is to provide an adaptable calculator in
which the user may enter various items of data, each followed by an
arithmetic operator and may enter an equal sign following any of the
entered arithmetic operators for calculating the result to that point.
Other and incidental objects of this invention will become apparent from a
reading of this specification and an inspection of the accompanying
drawings.
These objects are accomplished in accordance with the illustrated preferred
embodiment of this invention by employing a keyboard input unit, an
optional light-emitting diode (LED) display, an output printer, and five
MOS/LSI circuits.
The keyboard input unit includes a group of data keys for entering numeric
data into the calculator, a group of control keys for controlling the
various modes of the calculator and the operations of the output printer,
a group of operand keys for designating the mathematical operations to be
performed on various items of data, and a group of program keys for
controlling the execution of library programs stored within a plug-in
read-only memory (ROM) or programmable read-only memory (PROM).
The keyboard also includes a blank section which will accommodate a plug-in
function block containing fifteen keys and associated read-only memory.
Various function blocks may be dedicated to different disciplines and
problem solving areas. For example, a dedicated function block oriented
toward statistics includes keys whose representative functions would be
helpful in solving statistical problems. Likewise, a mathematics function
block would include various mathematical functions available as the result
of key actuations. In addition, a user-definable function block may be
plugged into the calculator keyboard. This block contains 15 keys, each
having a transparent cap which the user may remove for the purpose of
inserting a function label. Each of these keys is associated with a
particular function or program contained within a plug-in ROM or PROM
currently employed with the calculator. Such function or program may then
be called by simply actuating the associated key of the user-definable
function block.
The optional 15-digit LED output display unit is contained within a plug-in
printed circuit board which is automatically accommodated by the
calculator.
The 18-column output printer unit is an integral part of the calculator and
gives a printed record of entered data, arithmetic operators, calculated
results, and diagnostic notes. Printing may be suppressed and otherwise
controlled by means of keys on the keyboard input unit.
The MOS/LSI circuits include eight read-only memory circuits in which
subroutines for performing various functions are stored. These circuits
also supervise program execution and serve to control any peripheral
input/output units which may be connected to the calculator. The read-only
memory group comprises these eight individual read-only memory circuits
which are identical in structure and differ only in the way in which they
are programmed.
A control and timing circuit is used for scanning the keyboard, for
retaining status information relating to the condition of the calculator
or of a particular subroutine, and for generating a next address in
read-only memory.
An arithmetic and register circuit contains an adder, a group of working
registers, a group of data storage registers forming a stack, and a
constant storage register for storing microprogramming level flags
associated with various subroutines.
A data storage circuit provides ten data storage registers, five of which
are used for parentheses nesting, three of which are used for performing
various internal system housekeeping functions at the microprogram level,
one of which is a grand total register which may be interrogated by the
user, and the last of which is accessible to the user for storing a single
item of data.
The last MOS/LSI circuit, the input/output (I/O) circuit, enables the
calculator to communicate with various I/O peripheral units such as a
typewriter on an X-Y plotter and determines whether the proper peripheral
configuration for running a particular program is present. It also
includes a binary arithmetic logic unit (ALU) for performing binary
arithmetic, a program address counter used in running programs, and the
necessary logic circuit for driving the internal printer unit.
The calculator may be operated manually from the keyboard input unit
utilizing functions available as keys on the basic keyboard, on a
dedicated plug-in function block, or on a user-definable plug-in function
block. The calculator may also be operated automatically from a program
comprising user-level language instructions and stored in a plug-in
read-only memory unit (ROM), a plug-in programmable read-only memory unit
(PROM) or a read/write memory unit associated with a plug-in magnetic card
reading and recording unit.
DESCRIPTION OF THE DRAWINGS
FIG. 1 is a front perspective view of an adaptable calculator according to
the preferred embodiment of this invention.
FIG. 2 is a rear perspective view of the adaptable calculator of FIG. 1.
FIG. 3 is a block diagram of the calculator of FIG. 1.
FIG. 4 is a detailed schematic diagram showing the interconnection of the
arithmetic and register circuit and the control and logic circuit of FIG.
3.
FIG. 5 is a waveform diagram illustrating the timing sequence of the
interconnecting busses of FIG. 3.
FIG. 6 is a block diagram of the control and timing circuit of FIG. 3.
FIG. 7 is a more detailed block diagram of the keyboard scanning circuitry
of FIG. 6.
FIG. 8 is a detailed schematic diagram of the keyboard circuitry of FIG. 7.
FIG. 9 is a block diagram of the arithmetic and register circuit of FIG. 3.
FIG. 10 is a path diagram of the actual data paths for the registers A-F
and M of FIG. 9.
FIG. 11 is a waveform diagram illustrating the output signals for the
display decoder outputs A-E of FIGS. 9 and 10.
FIG. 12 is a waveform diagram illustrating the actual signals on the
display decoder outputs A-E of FIGS. 9 and 10 when the digit 9 is decoded.
FIG. 13 is a waveform diagram illustrating the timing of the START signal
generated by the display decoder of FIG. 9.
FIG. 14 is a schematic diagram of the clock driver of FIG. 4.
FIG. 15 is a waveform diagram illustrating the timing relationship between
the input and output signals of the clock driver of FIG. 14.
FIG. 16 is a detailed schematic diagram of the read-only memory group of
FIG. 3.
FIG. 17 is a block diagram of one of the read-only memory circuits .phi.-7
of FIG. 16.
FIG. 18 is a waveform diagram illustrating a typical address signal and a
typical instruction signal.
FIG. 19 is a timing diagram illustrating the important timing points for a
typical addressing sequence.
FIG. 20 is a waveform diagram illustrating the word select signals
generated in the control and timing circuit of FIGS. 3 and 6 and in the
read-only memory circuits .phi.-7 of FIG. 3 and 17.
FIG. 21 is a detailed schematic diagram of the input/output (I/O) processor
of FIG. 3.
FIGS. 22A-B are a block diagram of the I/O circuit of FIG. 21.
FIG. 23 is a waveform diagram illustrating the timing relationship between
the SYNC, START, EERA, I.sub.S, SRI, and IXT signals of the I/O circuit of
FIG. 22.
FIG. 24 is a detailed schematic diagram of the data storage assembly of
FIG. 3.
FIGS. 25A-B are a block diagram of the data storage circuit of FIG. 24.
FIG. 26 is a waveform diagram illustrating the timing relationship between
the SYNC, START, I.sub.S, and BCD signals of the data storage circuit of
FIG. 25.
FIG. 27 is a detailed schematic diagram of the timing circuitry associated
with the printer of FIG. 3.
FIG. 28 is a detailed schematic diagram of the driver circuitry associated
with the printer of FIG. 3.
FIG. 29 is a block diagram of the LED display of FIG. 3.
FIG. 30 is a logic diagram of the anode driver of FIG. 29.
FIG. 31 is a waveform diagram illustrating the timing relationship between
various signals associated with the anode driver of FIGS. 29 and 30.
FIG. 32 is a schematic diagram of the basic inductive drive circuit for one
of the light emitting diodes employed in the LED display of FIGS. 3 and
29.
FIG. 33 is a waveform diagram illustrating the timing relationship between
the decimal point drive signals for the LED display of FIGS. 3 and 29.
FIG. 34 is a schematic diagram of the inductive drive circuit for one digit
of the LED display of FIGS. 3 and 29.
FIG. 35 is a logic diagram of the cathode driver of FIG. 29.
FIG. 36 is a schematic diagram of the LED | | |