WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Adaptable programmed calculator having provision for plug-in keyboard and memory modules    
United States Patent3971925   
Link to this pagehttp://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)
AbstractAn 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 3971925
Adaptable programmed calculator having provision for plug-in keyboard

     and memory modules - US Patent 3971925 Drawing
Adaptable programmed calculator having provision for plug-in keyboard and memory modules
Inventor     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)
Owner/Assignee     Hewlett-Packard Company (Palo Alto, CA)
Patent assignment
All assignments
Publication Date     July 27, 1976
Application Number     05/477,552
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 6, 1974
US Classification     708/130 341/22 341/26 708/140
Int'l Classification     G06F 015/06
Examiner     Malzahn; David H.
Assistant Examiner    
Attorney/Law Firm     Griffin; Roland I. Hein; William E. ,
Address
Parent Case     This is a continuation of application Ser. No. 318,451, filed Dec. 26, 1972, now abandoned.
Priority Data    
USPTO Field of Search     235/156 235/159 235/160 235/164 340/172.5
Patent Tags     adaptable programmed calculator provision plug-in keyboard memory modules
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
3839630
Olander, Jr.
708/130
Oct,1974

[0 after 0 votes]
3760171
Wang
708/130
Sep,1973

[0 after 0 votes]
3654449
Boyce
708/141
Apr,1972

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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