![]() |
DATAMATH CALCULATOR MUSEUM |
NEC introduced in Fall 1973 with the µPD273 their first single-chip calculator circuit with 8-digit display capability and very basic functionality. It was complimented in December 1973 with the µPD277, a design with 8-digit display capability and integrated 2-key Memory. One key, typically labeled with [M+] or [M+=] on calculators based on the chip completes any pending calculation and then adds then the result to the value already stored in the Memory. The other key, usually labeled as [MRC] or [MR MC], recalls with the first press the memory and clears it with the second press:
• [M+=] - Combining [=] and [M+] operations • [MRC] - First function [MR], second function [MC] |
The µPD277 was can instant success and we know dozens of calculator designs from companies like Brother, Citizen, General, Kovac, Miida, Sanyo, Sharp, Silver Reed, Toho Tsusho and many of their brand label products. The µPD277 was soon complimented with the µPD276, adding various improvements:
• 3/4-key Memory and optional Auto-Summation Function • Optional Constant Function for Multiplication, Division, Addition and and Subtraction • Cost-improved Clock Oscillator • Low-voltage Vacuum Fluorescent Displays (VFDs) compatible Keyboard Inputs |
Product Managers at NEC did not stop with the µPD276/µPD277 siblings, they expanded their portfolio of single-chip calculator circuits for 8-digit calculators soon with the µPD940 Series and µPD946 Series. The µPD940 was positioned below the µPD276/µPD277 and lacked the Memory while the µPD946 was positioned above and featured so-called Convenience Functions like square and reciprocal functions:
• µPD273: [%] • µPD941: [+/−] [%] • µPD942: [+/−] [√x] [PI] • µPD940: [+/−] [%] [√x] [PI] • µPD277: [+/−] [M=] [MR/C] [- K] [%] [√x] • µPD276: [+/−] [M+=] [M−=] [MRC] [MC] [MR] [- ∑] [- K] [%] [√x] • µPD946: [+/−] [M+=] [M−=] [MR] [MC] [ - ∑] [%] [1/x] [x2] [√x] [PI] |
The numbering scheme would suggest that the later µPD278 is based on either the µPD276 or µPD277 chips, but it is actually a design based on the µPD946.
QUICK-LINK to NEC Calculator Integrated Circuits.
Type | Calculators | Keyboard | Constant (M-D-A-S) |
Digits | Fixed DP | Rounding | Special Functions |
Seg./Dig. Blanking |
(6,7,9) Font |
Seg. H | Entry Overflow |
Calculating Overflow |
µPD277 | MBO de Luxe III, Sharp EL-8106, Tohotronic Roger F-4 | [+][−][=] | [ - K] 1-2-X-X |
8 | Float | None | [+/−][M+=][MRC] [%][√x] |
NONE LB, TB |
![]() |
![]() |
![]() ![]() |
![]() ![]() |
Description | Comments | |
Architecture | Single-chip Calculator | Second Generation |
Category | Register Processor | Bit-serial |
Related | µPD273 µPD276 |
First NEC design Various improvements |
ROM Size | ||
RAM Size | ||
Outputs | 10 Digits 9 Segments |
VFD Digit Drivers VFD Segment Drivers |
Inputs | 4 Keyboard 1 Clear |
Digit to Keyboard Scan-Matrix Active High |
Capacity: Up to 8 digits (positive and negative)
Logic: Algebraic Chain Logic with Automatic Constant
[2] [x] [3] [+] [4] [x] [5] [=] → '50.'
Number Entry: Right-justified number entry, entering a ninth digit is ignored
[1] [2] [3] [4] [5] [6] [7] [8] [9] → '12345678.'
Decimal Point: First entered decimal point is used, additional decimal point entries are ignored
[1] [.] [2] [.] [3] → '1.23'
Fixed Decimal Point: Fixed decimal point arithmetic is not supported
Decimal Alignment: Decimal alignment is not supported
[0] [.] [4] [5] [+] [0] [.] [5] [5] [=] → '1.'
Clear: Automatic power-up clear implemented. First press of the [C/CE] key clears last entry of a number, second press clears the calculator but the memory
[1] [+] [2] [C/CE] [3] [=] → '4.'; [1] [+] [2] [C/CE] [C/CE] [3] [=] → '3.'
Change Sign: The change sign function can be used in mid number entry but is ignored if pressing the [+/−] key before entering the number
[+/−] [2] [x] [3] [=] → '6.'; [2] [+/−] [x] [3] [=] → '-6.'
Number Display: Right-justified number display with leading-zero suppression
Negative Numbers: Negative numbers are shown with '-' immediate to the left of the number
Calculating Overflow: An overflow shows the result with the decimal point shifted 8 positions to the left and 'C' (or 'E' for negative numbers) in the leftmost position and is only recoverable using the [C/CE] key
[1] [2] [3] [4] [5] [x] [1] [2] [3] [4] [5] [=] → 'C1.5239902'
Memory: 2-key memory with [M+=] and [MRC] keys implemented. Memory store is indicated with '.' in the leftmost position
[MRC] [MRC] [3] [x] [2] [M+=] → '. 6.', [C/CE] → '. 0.', [MRC] → '. 6.', [MRC] → '0.'
Memory Overflow: A memory overflow keeps the stored value in place and is indicated with and 'C.' in the leftmost position. It is only recoverable using the [C/CE] key
[MRC] [MRC] [99999998] [+/−] [M+=] → '-.99999998.', [3] [+/−] [M+=] → 'C. 0.', [C] → '. 0.', [MRC] → '-.99999998.'
Divide By Zero: A division of a positive or negative number by zero shows a '0' and 'C' in the leftmost position and is only recoverable using the [C/CE] key
[1] [:] [0] [=] → 'C 0.'; [−] [1] [:] [0] [=] → 'C 0.'
Timeout: Not supported
Rounding: Rounding of displayed calculating results is not supported
[2] [0] [:] [3] [=] → '6.6666666'
Constant: Automatic constant can be enabled with an external switch and is implemented for multiplication (1st number used as constant) and division (2nd)
[- K] [3] [x] [2] [=] [=] → '6.', [1] [=] → '1.'; [4] [x] [=] [=] → '16.'
[- K] [3] [x] [2] [=] [=] → '18.', [1] [=] → '3.'; [4] [x] [=] [=] → '64.'
[- K] [3] [:] [2] [=] [=] → '0.75', [1] [=] → '0.5.'; [4] [:] [=] [=] → '0.25'
[- K] [3] [+] [2] [=] [=] → '5.', [1] [=] → '1.'; [4] [+] [=] [=] → '4.'
[- K] [3] [−] [2] [=] [=] → '1.', [1] [=] → '1.'; [4] [−] [=] [=] → '4.'
Percent Function: The [%] key following the [x] key allows with the [+] and [−] keys mark-up and discount calculations. Using the [%] key is dividing the number by 100.
Using the [=] key following the [%] key in multiplication, division, addition and subtraction leads to unexpected results
[- K] [2] [0] [x] [5] [%] → '1.', [+] → '1.', [=] → '21.'
[- K] [2] [0] [x] [5] [%] → '1.', [−] → '1.', [=] → '19.'
[- K] [2] [0] [x] [5] [%] → '1.', [=] → '1.'
[- K] [2] [0] [x] [5] [%] → '1.', [=] → '20.'
[- K] [5] [:] [2] [0] [%] → '25.', [=] → '25.'
[- K] [5] [:] [2] [0] [%] → '25.', [=] → '125.'
[- K] [2] [0] [+] [5] [%] → '20.05', [=] → '20.05'
[- K] [2] [0] [[−] [5] [%] → '19.95', [=] → '19.95'
Negative Square Root: Negative square roots are not allowed and result in an overflow condition indicated with an 'C' in the leftmost position and is only recoverable with the [C/CE] key
[8] [√x] → '2.8284271'; [8] [+/−] [√x] → 'C 0.'
Known Calculator Logic Bugs:
Zero Percent Bug: Pressing the percent button with zero in the display is generating an erroneous display
[0] [%] → '0.00', [%] → '0.0000'
ABSOLUTE MAXIMUM RATINGS
Item | Min | Typ | Max | Unit | Comments |
VDD | -15.0 | 0.3 | V | to VSS | |
VGG | -15.0 | 0.3 | V | to VSS | |
VOUT | -30.0 | 0.3 | V | VFD Output Voltage through 50 kOhm Resistors | |
VIN (AC, K, CR) |
-15.0 | 0.3 | V | Input Voltage through 50 kOhm Resistors | |
VIN (NK, FK1, FK2) |
-30.0 | 0.3 | V | Input Voltage through 50 kOhm Resistors |
RECOMMENDED OPERATING CONDITIONS
Item | Min | Typ | Max | Unit | Comments |
VSS | 0 | V | |||
VDD | -6.6 | -6.0 | -5.4 | V | |
VGG | -12.1 | -11.0 | -9.9 | V | |
VOUT | -28 | 0 | V | VFD Output Voltage through 100 kOhm Resistors | |
VIH (AC, K, CR) |
-1.5 | 0 | V | Input Voltage through 100 kOhm Resistors | |
VIH (K, FK1, FK2) |
-3.6 | 0 | V | Input Voltage through 100 kOhm Resistors | |
VIL (AC, K, CR) |
VGG | -9.0 | V | Input Voltage through 100 kOhm Resistors | |
VIH (K, FK1, FK2) |
-28.0 | -9.0 | V | Input Voltage through 100 kOhm Resistors | |
RCR | 390 | kOhm | CR to VGG | ||
CCR | 82 | pF | CR to VSS |
ELECTRICAL CHARACTERISTICS
Item | Min | Typ | Max | Unit | Comments |
IDD | 2.3 | 4.4 | mA | RCR = 390 kOhm, Segment- and | |
IGG | 2.2 | 4.5 | mA | Digit-Driver Load 100 kOhm to VGG | |
ION1 | -1.5 | mA | VOT = -1.0 V | ||
ION2 | -3.0 | mA | VOT = -2.0 V | ||
IOFF | -10 | uA | VOT = -28.0 V | ||
IIH | +4.5 | uA | VIT = -1.5 V | ||
IIL | -4.5 | uA | VIT = -9.0 V | ||
FOSC | 22 | 40 | 65 | kHz | RCR = 390 kOhm, CCR = 82 pF, |
CLOCK GENERATOR
The µPD277 single-chip calculator circuit includes an internal clock oscillator that can be enabled by connecting Pin 28 (CLK/REXT/CEXT) with a resistor REXT to VGG and a capacitor CEXT to VSS. Connecting Pin 28 directly to an external clock source overrides the internal clock oscillator and the chip can be operated with frequencies between 20 kHz and about 100 kHz. The external clock frequency should have a duty cycle close to 50% and oscillate between VSS and VDD.
The frequency of the internal clock oscillator is set with the external resistor/capacitor combination REXT/CEXT with nominal values of 390 kOhm and 82 pF, respectively for a typical frequency of 40 kHz. Here at the Datamath Calculator Museum we operate the µPD277 Devices-under-Test (DUT) with an external 390 kOhm resistor but verify its operation between 200 kOhm and 600 kOhm.
The operating frequency of the internal clock oscillator depends not only on the external resistor/capacitor combination, but its supply voltages VDD and VGG, too. We observed with our DUT a positive gradient of the oscillation frequency for VGG variations.
INTER-DIGIT BLANKING
The µPD277 single-chip calculator circuit is blanking its Digit Outputs briefly before and after the Segment Output change, while scanning the keyboard and display.
LEADING-ZERO SUPPRESSION
The µPD277 single-chip calculator circuit is storing in Digit D0 of the display register the position of the decimal point of the displayed number.
The Datamath Calculator Museum DCM-50A (PLAYGROUND) supports the Characterization of the µPD277 single-chip calculator circuits using the DCM-50A Playground DIL42 Adapter mounted on top of the DCM-50A PG Frame Carrier and the voltages VSS set to 6.0V and VDD/VGG set to -5.0V. Alternatively, the more flexible - but less comfortable - DCM-50A Playground BB400 Adapter can be used.
The µPD277 was manufactured in a 7.5 um metal gate PMOS process (metal width = 0.30 mil / 7.5 um, metal spacing = 0.30 mil / 7.5 um, diffusion width = 0.25 mil / 6.0 um, diffusion spacing = 0.35 mil / 9.0 um).
The µPD277 uses a standard 0.6” wide 28-pin DIP (Dual In-line Package with a 0.1” / 2.54 mm lead pitch).
• VSS/VDD/VGG - Confirmed Pin Function from Die Photo • (VSS/VDD/VGG) - Pin Function from Calculator Schematics • N.C. - Confirmed Pin Function from Die Photo or Pin Measurement • (N.C.) - Pin Function from Calculator Schematics |
Pin | IO | Function | Pin | IO | Function |
1 | I | Automatic Clear (high) | 28 | I | CLK/REXT, CEXT |
2 | I | Key-matrix input K | 27 | V | Negative Voltage VGG |
3 | I | Key-matrix input NK | 26 | V | Negative Voltage VDD |
4 | I | Key-matrix input FK1 | 25 | O | Segment driver H |
5 | I | Key-matrix input FK2 | 24 | O | Segment driver G |
6 | O | Digit driver 0 (DP Pos.) | 23 | O | Segment driver F |
7 | O | Digit driver 1 (LSD) | 22 | O | Segment driver E |
8 | O | Digit driver 2 | 21 | O | Segment driver D |
9 | O | Digit driver 3 | 20 | O | Segment driver C |
10 | O | Digit driver 4 | 19 | O | Segment driver B |
11 | O | Digit driver 5 | 18 | O | Segment driver A |
12 | O | Digit driver 6 | 17 | O | Segment driver DP |
13 | O | Digit driver 7 | 16 | O | Digit driver 9 (sign) |
14 | V | Common Voltage VSS | 15 | O | Digit driver D8 (MSD) |
The Segment drivers A-H and DP (Decimal Point) are connected to the display in the pictured way. | ![]() |
The keyboards of all calculators based on the µPD277 single-chip calculator circuit consist of an x/y-matrix connected to ten digit-driver outputs and the key-matrix inputs NK (Number Keys), FK1 (Function Keys 1) and FK2 (Function Keys 2). An optional [K] switch is connected between VSS and the key-matrix input K.
Display scanning is performed in D0 → D9 direction at a rate of about 830 Hz:
• State Time = 1 Clock =
0.025 ms @ CK=40 kHz • Digit Time = 4 States = 0.100 ms @ CK=40 kHz • Scan Time = 12 Digit Times (D0 to D9 with D10 and D11 a dead cycle) = 1.200 ms @ CK=40 kHz |
µPD277 | ||||
NK | FK1 | FK2 | K | |
VSS | [ - K] | |||
D0 | 2 | = | C/CE | |
D1 | 6 | + | ||
D2 | 4 | − | ||
D3 | 0 | % | ||
D4 | 8 | M+= | ||
D5 | 9 | +/− | ||
D6 | 1 | . | √x | |
D7 | 5 | × | ||
D8 | 7 | ÷ | ||
D9 | 3 | MRC |
Calculators based on the µPD277 single-chip calculator circuits typically make use of 9-digit low-voltage VFDs (Vacuum Fluorescent Displays).
If you have additions to the above datasheet please email: joerg@datamath.org.
© Joerg Woerner, November 29, 2024. No reprints
without written permission.