CA1095172A - Computing weighing scale - Google Patents
Computing weighing scaleInfo
- Publication number
- CA1095172A CA1095172A CA344,100A CA344100A CA1095172A CA 1095172 A CA1095172 A CA 1095172A CA 344100 A CA344100 A CA 344100A CA 1095172 A CA1095172 A CA 1095172A
- Authority
- CA
- Canada
- Prior art keywords
- weight
- block
- scale
- tare
- platter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Landscapes
- Cash Registers Or Receiving Machines (AREA)
Abstract
Docket 6196 WEIGHING SCALE HAVING COMMON SEQUENTIAL DISPLAY OF
WEIGHT, PRICE PER UNIT WEIGHT AND TOTAL PRICE, WITH
AUTOMATIC DISPLAY SEQUENCING UPON WEIGHT CHANGE
Abstract of the Disclosure A computing weighing scale has a display including single multi-digit numerical indicator driven in real time by the scale microcomputer to show, sequentially, weight of the article, price per unit weight, and total price or value of the article, and also includes function words identifying the nature of information shown to the scale operator and customer.
The scale also includes weight code generating mechanism, a keyboard for entering numerical information, and the micro-computer. The indicator can also display tare weight, entered via the keyboard when no weight is on the platter. If tare is entered and subsequent weight on the platter is less than entered tare, calculating is inhibited. If platter motion is detected with weight on the platter, the display will reset to the weight indicating condition and automatically sequence to show again price per unit weight (if entered) and total price.
When all weight is removed from the platter, entered tare is erased. Price per unit weight can be entered via the keyboard only when there is some minimum weight on the platter and is remembered for recalculation if weight on the platter is changed but not removed. Price per unit weight is cancelled when all weight is removed from the platter.
WEIGHT, PRICE PER UNIT WEIGHT AND TOTAL PRICE, WITH
AUTOMATIC DISPLAY SEQUENCING UPON WEIGHT CHANGE
Abstract of the Disclosure A computing weighing scale has a display including single multi-digit numerical indicator driven in real time by the scale microcomputer to show, sequentially, weight of the article, price per unit weight, and total price or value of the article, and also includes function words identifying the nature of information shown to the scale operator and customer.
The scale also includes weight code generating mechanism, a keyboard for entering numerical information, and the micro-computer. The indicator can also display tare weight, entered via the keyboard when no weight is on the platter. If tare is entered and subsequent weight on the platter is less than entered tare, calculating is inhibited. If platter motion is detected with weight on the platter, the display will reset to the weight indicating condition and automatically sequence to show again price per unit weight (if entered) and total price.
When all weight is removed from the platter, entered tare is erased. Price per unit weight can be entered via the keyboard only when there is some minimum weight on the platter and is remembered for recalculation if weight on the platter is changed but not removed. Price per unit weight is cancelled when all weight is removed from the platter.
Description
Docket 6196 Keyboard switches are interrogated a plurality of times before entere~ in~~ormation is accepted to assure the key -entry is valid and switch contact bounce has terminated.
The pla.ter motion detector is disabled for a short time after a ke~ ac.uation, to avoid system resetting as a result of platter movement which may be ~induced by keyboard actuation.
The microcomputer scans the possible inputs from the scale an~ the keyboa d, and sends output signal to the display, at real time rates which are compatible both with human keyboard manipulation and retention.
Scale operation is dLvided into two portions which are called the communicate and compute cycles; the communicate cycle is usually~repeated many times between compute cycles in order that real time information sensing~
and display operation be possible.
Related A~plication This application is related to copending Canadian ~ ~pplication Serial No. 258,531, filed Augus 5, 1976, entitled ~Computing Weighing Scale" and assigned to the same assignee as this application.
:
- . :
.
. ~ .
D~c~et 6196 This is a dlvision of Canadian Patent Application Serial No. 258,496, filed August 5, 1976.
Background of the Invention This invention rela~es to computing weighing scales, particularly scales of the typ~ used in gr~cery stores, deli-catessens, etc., to weigh random weight items, and to calculate the to,al price or total value of such items, based upon predetermined price per unit weight ror the particular type of article or commodity. A typical form of prior art scale is disclosed in U. S. patent N~. 3,741,324 of ~une 26, 1973, issued t~ The Hobart Manufacturin~ company which has separate electronic digital indicators for price per unit weight and total price, and an optical weight display. A later version of that scale, known commercially as the Hobart ~odel 1500 Electronic Checkstand Scale, utili~es the same platter, weighing mechanism including weight readout and-code generating mechanism, and includes provisions ~r~transml~ting weight data (on command) to a rem~te computer ~dl~optionally to a remote digital elec-tronic weight display. ~hat display, visible to the operator and the customer, shows only the weight of~the item. A mùlti-station version of this scale,~ utilizing a common computer system and individual displays for weight, price per unit weight and total price is disclosed in U. S. patent No.--3,906,2~8 issued Septe~ er 16, 1975 ~o Hobart Corporation.
For many years the so called "computing scales"
of the drum computer type have been-used in various types of food markets, etc:. These incorporate a mechanical-computing mechanism in the form of a moving chart, usually a rotating cylinder as typic:ally shown in U. S. patents No. 2,7~2,811 issued Apxil 24, 1956 to The Hobart Manufacturing Company, and No. 2~,880,643 issued April 7, 1959 to The Hobart ~anufac-turing Company, ~md have a number of di~erent columns rela~ed `
' ' .
-3~
- - - . , - ~ ~ ' :
Doc}~e~. 6196 ~ ~ ~ 5 ~ ~
to corresponding price per unit weir~ht. In these scales an indicator ~ape or wire is visually aligned along the chart by the operator, when the scale comes to rest, to read from the chart the weight of an article on the scale, and from the appropriate colu~a total price or value. The operator then manually writes some or all of this information, in many cases just the total price, on the package used ~o wrap or cover the weighed item. In these scales the full chart is often visible only to the operator, and the customer sees only a weight display, and that from a vantage point where accurate alignment may be difficult. The computation capa-bility in these prior ar~ scales is Or course limi~ed by the number of chart columns. Such scales are not readily con-nected even to small in-store computers, and they are essen-tially an independent weighing device. ~ ~
In order to simplify and conser~e the~cost of read-out devioes for electronic~computing scales, it is des1rable to utilize a minimum number of more or less conventional com-ponents, without sacrificing the capability for accurate weight readout, simplificat1~on of data entry, safeguarding against operator error (unintentional or otherwise), and dlsplay~
clearing of data or both the customer and the operator.
`
The broad concept of multi-purpose seven-segment numerical displays (or equivalent) which are utili;zed in the scale of the present invention, together with identification ~of the data bein~ displayed,~is disclosed in V. S. patent No. 3,580,421 issued May 25, 1971 to Veeder Industries, Inc. r which relates to liquid dispensing, e. g., a gasoline pump~ In this gasoline~pump application o multi~
.
~ ~ -4-.
` :'' - . : .
7;~
Docket 619~
purpose numerical displays there is infrequent change of the pric'e per unit factor (cents/gal.), and thus no need for quick entry or quick change of th:is information. There is also in the gasoline pump no requ:irement to recognize the end of the quantity measuremerlt (gallons) since there is no problem of_sensing when the quant:ity is fully dispensed; the tank is either full, or a predetermined quantlty has been pumped. In a similar manner, in the gasoline pump eDtry of the unit price factor precedes dispensing of a random quantity and computation proceeds as liquid is dispensedO Moreover, in the gasoline pump none of the dispensed material will be removed, so the quantity measurement is always unidirectional, and not subject to either plus or minus variations as when a ' customer wants some of a commodity taken from a scale platter weight is displayed. ' ~ -In computing weighing scales', especially scalesused in random.weight measurement and total price calculation of many di~ferent items, the price per unit weight will frequently change, and the quantity (weight) may be changed up or down when the operator, or customer, observes the actual displayed - - weight and before total price computation occurs, and it may also be necessary to a~just for tare weight of a package.
In computing scales, D reover, the "weights and measures"
regulations of various governmental bodies require compliance, and the competitive nature of the scale business makes cost a significant factor. Thus, the adaptation of a single multi-purpose multi-digit indicator to a computing scale presents uni~ue and unobvious requirements.
5-- .
. . ~ , . .
- . . .
5gL7~
Summary of the Invention The invention in one aspect provides a weig~ing scale having price computing capa~ility comprising a platter, means for generating code information corresponding to weight of a commodity on said platter, means detecting a no weight condition of said platter and developing a corresponding signal, a manually operable keyboard including means for generating code information in response to manual actuation of said keyboard, a tare register, a price per unit weight register, and means responsive to said keyboard code information generating means and to said no weight detecting means and operable to cause transfer of keyboard entered information into said tare register when no weight is on said platter and to cause transfer of keyboard entered information into said price per unit weight register when there is weight on said platter.
The present invention therefore provides improvéments in a single multi-digit numerical display, such as a four digit, seven-segment LED or equivalent display, together with special - function indicators such as selectively illuminated signs, to present article welght, prlce per unit weight, and total price in sequence both to the operator and the customer. If weight on the scale is changed during keyboard entry or computation, the display reverts to weight, the price per unit weight is remembered~
if already entered, and the display sequence begins anew using the new weight when the platter comes to rest. ~he number of illuminated indicator signs is minimlzed by careful choice of wording and/or symbology. Presently available mechanisms are used~
for weighing mechanism and scale motion detection, such as those ;
disclosed in U.S. Patent No. 3,741,324 and earlier U.S. patents referenced therein. The display unit may be mounted on or remote~
~: _ ::
~ ~ - 6 -~:~
' o~ : : ~
~ ~ ~y~ ~
from the scale housing and may include front and back duplication of the multi-digit display and the indicator signs, if necessary for simultaneous viewing by operator and customer.
The keyboard for entry of price per unit weight in the present scale may be attached to or remote from the weighing scale housing. Preferably, the keyboard is at least a twelve key device having a "clear entry" function key by which the operator may cancel an erroneous entry, and a "total" function key to command display of total pxice. Tare may be entered only if the weight code output is below a predetermined mini~num (ë.g., "zero weight"~ and is displayed with a negative sign, which may blink to call attention. In such case, entry of price per unit weight is inhibited until the weight readout exceeds the minimum-and the~
- 6a -, Docket 61~6 ~cale is at rcst. Also, the display prcf~rably is blanked during scale motion, to avoid possible confusion from display of changing weight, and the total price display is distinguished from the other displayed numbers, as by causing ~he displayed numerals to flash or modulate in intensity when total price is presented.
The entire operation is under the control of a micro-computer which interrogates the weight encoder and the keyboard, drives the display directly, in real time, and performs the nec-essary calculations of tare subtraction, and multiplication o~
weight times price per unit weight to arrive at total price.
The primary object of the invention is, therefore, to provide a novel computing scale which has a unique single unit multi-digit display that is arrayed to present, to the operator, in sequence, all or part of the quantities of commodity article weight, entered price per unit weight, and total price, and tc .
~epeat that s~quence (if desired) if the weight is changed but not removed from the scale platter; to dlstinguish each number displayed in the sequence according to its purpose; to provide in such a scale appropriate indicator signs for distinguishing the numbers, using a minimum number of signs; to provide for digital entry of tare via the keyboard, only when there is no weight on the scale, and for keyboard entry of price per unit weight only when there is weight on the scale; to provide for clearance of incorrect keyboard entries in either mode;
to provide or remembering entered tare and entered price per pound if weight on the scale is chanyed but not fully removed;
and to provide a microcomputer which rapidly and repeatedly scans the keyboard and the weight encoder output signals and drives the display outputs, then follows alternate pa~hs of a more complex program as n~cessary to determine . , .
.
.~.3`` , ~ .
~q~
Dock~t 619 6 weight, price per unit weight t ancL total price, when an item is plac~d on the scale plattPr ancl app~opriate keyboard entries are made, utilizing a minimum of c:ircuitry outside ~he micro-computer itself. ' ' Other objects and advantages of the invention will be apparent from the following description, the accompanying drawings and the append,ed claims. -' '' , ~' - - Brief Description of the Drawings ' Fig. 1 is a perspective view of the new scale system, showing the housed weighing mechanism with electronics therein, together with a remotely connected display unit and keyboard;
Fig. 2 shows one face of the display unit;
Fig. 3 is a diagram of keyboard layout; ' ~' Fig. 4 (~, B & C) is an electrical schematic diagram of the system;
Fig. 5(A and B) is a flow diagram of the short loop communication portion of the program; -Fig. 6 IA, B, C and D) is a flow diagram of the computation sequence of the program; '~ ' , Fig. 7 ~A and s) is a flow diagram of program sub-rou,tines; ' Fig. 8 is an overall flow diagram of the system;
Fig. 9 is a flow diagram of an alternate routine in portions of the program;
Fig. 10 is a timing chart; and Fig. 11 is a chart of the ~M register assignments.
.
, .~ .
Dock~t 6196 Descri~tion of the Preferred Embodiment - FigO 1 shows a wPi~hing scale including a housing 10 on which a movable platform 1~ is supported by suitable mechanism (not shown) to receive random weight articles.
Platform motion resulting from weight of an article causes operation of a weight encoder 14 (Fig. 4A~ to generate ac coded weight information signal, as shown, for example in U. S. patent No. 3,741,324 and earlier patents referenced therein. If desired for convenience, the housing 10 can be mounted ~ith platform 12 approximately level with adjacent countertop surfaces, and the platform may have a lock out device to protect the weighing mechanism when not in use.
A keyboard 15 is connected to the electronics package within housing 10 by a suitable cable. If the key-i5 board is to be supported remote from housing 10, as foroperator convenience, the cable will be of appropriate ength, otherwise keyboard is mounted to the side of housing 10. Any convenient keyboard layout can be usedc By way of example, Fig. 3 shows a twelve key keyboard including keys for num~ers ~0 0-9 plus a clear entry (CE) key and a tstal (TOT) key. The functions of these keys are later described. Preferably, the keyboard contains only key buttons and related switches to coniplete appropriate entry signal circuits through a cahle ~o the electronics package.
Figs. 4A, B and C comprise a schematic diagram of a scale system en~odying a commercially available microprocessor known as MCS-4 Microcomputer Set, available from Intel Corporation, Santa Clara, California~ This microprocessor consists of a number of large scale integrated circuit chips, ~9_ .: ' ' 1.
Docket 6196 including a central processor (CPU) which c:ontains the control unit and arithmetlc unit, a random access memory (RAM), a shift register (SR), and one or more read only memories (ROM) . A
detailed description of s~ch microprocessor is contained in a ~ublication entitled MCS-4 Micro Computer Set Users Manual, ___ _ _ copyright by Intel Corporation 1974, including individual block diagrams for the CPU, ROM, RAM and SR. Further description appears in U. S. patents, Nos. 3,753,011 of Auaust. 14, 1973 and 3,821,715 of June 28, 1974, both issued to Ir,tel Corporation.
A display unit 20 is supported on a stand 22 and connected through an appropriate cable to tha electronics package. The display unit comprises four seven-segment numerical displays 25-28 and a decimal point display 29, which may be a part of the display 26. In an actual embodiment the LEDS
used for this purpose, are supported in a dark contrasting bac~ground plate 30. The nesative sign display 31 is derived from ~ED unit 28.
- ~
The display unit also includes~ a numbe~ of selectively illuminated indicators,~which may conveniently be~individually .
back lighted translucent signs mounted~on~plate 30~ They can be provided in distinguish~ing colors if desired~, and each light ~`
source may~be~a relatively ~low power incandescent lamp.~-The signs shown are related to U.~S. currency, and weight measure, ~:
and the English language, but can easily be changed to other~
~25 language words or~symbols, and metric or~other measurement ....
sy~tems.
The signs in the display~unit 20 are, (l) weight indication 32 and 33,~(2) currency 3;,~(3)~per pound-36,~
~ ~4) total 37, and (5) price slgn~3a ~energized with sign 36 or sign 37. The driver circuits~ lamps~, etc., associated~
~:
~S~7~ . .
Doc~et 6196 with the display elements are shown in Fig. 4C and a~e of conventional design~ The displays and signs may be duplicated on a reverse face of the unit 20 for view by a customer in instances where he would be on the opposite side of the scale from the operator. - - - ~ ~
- In a typical weighing operation, the scale of Fiy. 1 performs as follows. A random weight article, such as slices - of cheese or one or more pieces of mea~, is to be weighed. If the article is to be placed in a boat or other package device of known weight, that weight is first entered on keyboard 15, and tare weight is displayed with indicators 31 and 32 illuminated.
If for some reason the weight encoder indicates more than a pre-determined weight such as 0.02 lbs the tare weight entry is inhibited. In the present description including the program . .
-listing this 0.02 lb value is named the weight dead zone limit or, more simply, the weight dead zone (WD~). It should be recognized that the name price reject zone might be more appro-priate for weight values located within this zone according to the use made of these weight values in the present scale. It should also be recognized ~hat this weight dead zone is disting-~uished from the weight forbidden zone wherein weighing is not permitted by certain common maxket European countries for scale accuracy and tolerance reasons. ~ ~
If the operator enters a tare number via keyboard 15, that number appears on display 20 and the negative sign 31 illuminates and blinks to indicate that the displayed informa-tion is tare wleight, i.e., a weight quantity to be subtracted from the gross weight of the article and its package to obtain "net" weight.
. '- .'''-,,', ', , ~
Docket 6196 The display will continue indicating tare weight until the operator places the article on the platter 12. The display is then bl2nked until scale motion stops, then the number on the display changes to the amount obtained by sub trac.ing tare weight from the gross weight. Thus, unblanking of the display indicates termination of scale motion. The display will continue indicating that number, i.e., net weight, until the operator commences a second keyboard entry with the scale away from zero weight or the "weight dead zonel' (WDZ).
The numbers entered during this second keyboard entry are the price per unit wei~ht and will b~ indicated on-the numeric display, together with the words "price" (sign 38)~, and~"per~
poundn (sign 36)-~and "$" ~sign 35) If the operator enters price-per ~nit weight quickly, bef~re or just as the scale-comes to rest, the net weight display will be maintained fora predetermined interval, then the display will sequence to the entered~number.
The price per unit weight display~will continue until the operator presses the total button TOT on Xeyboard - : :
15, at which time the display will indic~e the total price ~or value number computed by mult~plying the net weight and _ the price per~unit weight. Along with the total value numb~r, the words "to al"~sign 37j and "price" (sign 3~ nd -~$"
~sign 35) will als-o be illuminated. While displaying the - , total price ~quanti~y, the entire display including the numexic portion and the words will flash calling~attention to the fact that total price is being indicated. The terms "total price" and "value" are used inter~hangeably (synonymously) , in the~s~ecificatinn, claims and drawings.
.:
:
~' ' ', ' ' ' -' :
5~
Docket 6196 The indication of total ~alue will continue indef-initely so long as the operator does no~ move the scale platter or strike the clear key, CE, on keyboard 15. When the scale platter is disturbed by so~e signiflcant amount the display 20 will return to its weight indicating mode wherein a numeric weight value will be displayed with appropriate signs. If the platter disturbance did not cause the weight encodex to move below the weight dead æone upper limit, normally the previously described 0.02 pounds, two options can be followed. The display can remain on weisht until another keyboard entry is made to reinitiate the computing operation, in which instance the pre~iously entered p~ice per unit weight is not remembered.
Or, the display can continue indicating weight for a prede-- termined time, then commence indicating the~previous~ly en~éred 15~ price per unit weight,~hen~a~ter another predetermined interval, Lndicate~a new total~price, the appropriate words, weight,~total, ~price and-price per pound being illum~nated as reguired.~
the p-latter disturbance was-su~icie~t to move ~the scale chart to a weight indication bel~w the weight dead 20~ ~ zone upper~limit, i.e.~, below--0.02~pounds~, the price per~ unit weight entry previously made is erased~and the scale remains~
, ~
in the weight mode~un~il-the operator intervenes with a new~
keyboard entry.
, - If the operator adds or removes a~ver~ small amount 25~ ~ of weight to ~he platter, an amount insuffi~ient~to actuate~
the~soale motion~detecting device, the dLsplay does not return t~ the weight indic:ating~moder but does lndicate a~new total ~amount auantity computea~rom~the~new net weight~, that is, the indicated tota~ value is~ me~ely~upd2ted i~ accordance with ~he ~ weight~now on~-the~platter.~
, ~ 13~
. .: : -. : .. . . :
Docket 6196 ~0~5~72 .
I~, the article placed on the platter weighs lessthan a entered tare weight, a negative value of weight results, this condition is indicated by displaying a negative weight value. If computation should be attempted with this negative weight the four center segments 31, etc., o~ the dlsplay 20 are illuminated together with th,e words "$", sign 35, "per pound" (sign 36), and "price" (sign 38) to indicate that entry into the total value mode cannot occur with a negative weight value. If weight placed on the platter exceeds the capacity of the scale, or if the scale indicates a weight value below zero pounds, the four center bar segments of the display - 20 are llluminated together with sign 32, to indicate an -improper weight and entered price per unit weight provides a total value quantity which exceeds the displ~y capacity (99.99 as shown), the center bar segments of the numeric in--dicators together with signs 37 and 38 are illuminated, , indicating a total value which exceeds display capabili~y.
These error indicating actions of the display are especially useful in scale servicing.
The claar key CE on keyboard 15 is provided with - ~he ability to erase a tare entry, a price per unit weight entry, and also the currently displ~yed total price, when depressed. Useeof the ~lear key with weight on the platter xeturns the ~ale to weight mode from either unit price or total price modes. Depressing the clear key when the scale is within the weight dead zone will clear entered tare.
Th~s total button TOT is used primarily to forward the scale from the price per unit weight mode to,the total value mode. However, the total button is also used to disable , ~, ,. . ' ' ' ' ' Docket 6196 10 ~ S~7 ~
.
the keyboard from further use (except for the clear key) while unchanged weight remains on ~he scale. ~ctuation of the total button is ignored prior to the scale belng in the price per unit weight entry mode, and also if no price per unit weight entry has been made. As indicated previously, a disturbance of the scale platter 12 after a total button entry has been n~de, can initiate an automatic sequence of weight, price per - unit weight and total value display.
Removing the article from the scale causes the weight encoder to return to "zero", e.g., under 0.02 pounds, and this in turn resets the microcomputer and display unit . ~ .
- to weight mode. Tare previously entered is not remembered upon return to zero weight, provided a computation has been completed; however, it is remembered if the interim reset to welght mode is encountered during a weighing operatlon.
- ~ ~ Electrical Layout - ~Figs. 4A, B and C comprise an electrical schematic - ~ ~iagram for the microcomputer circuits, keyboard, photocell readout of the scale weight chart, and the display circuit boards which include the four seven-segment numerical displays and the various signs.
The basic microprocessor units include the crystal controlled c106k which provides ~ 1 and 0 2 clock output~ the - central processing unit CPU, the Random Access Memory, R~M, and a read only memory, ROM. In the illustrated embodiment the ROM consists of three electrically programmable and erasca~le memory devices (Intel type 4702A~ which are con-ventionally known as P~OM, together with an interface circuit (Intel type 4289) and two latch circuits 4024~ (a C~OS circuit .
: , . .
'.
Docket 6196 ~5172 a~-ailable from several manufacturers) which together comprise thee~uival~nt of a mask ~rogra~nable ROM, such as Intel type 4001. It should be understood that in a mask progra~mable version, the interface circuits and the latch circuits are incorporated within the large scale inte~rated circuit of the ROM.
The keyboard 15 corresponds to the keyboard illus-trated pictorially in Eig. 1, and the various keys are correspondingly labelled. The keyboaxd is interrogated sequentially in three steps which are indicated by the three input lines labelled KYBD, ST, A, B and C, which are abbrevi-ations for keyboard strobe A, B and C. These lead selectively to the three vertical ro~s of key switches ~rom left to right, respectively, as shown in Fig. 4A. The other sides of the ~15 keyswitch contacts are connected hoxizontally to four key-, board output lines whicn are labelled, respecti~ely B0, Bl, B2 and B3. It should be noted that the keyboard output line~
B3 includes outputs for the clear key CE~ and the total key TOT, as well as-numerical 0. ~ ~
20 ~ The keyboard strobe A, B and C iines are strobed ~ -; ~ ~ f~rom a decimal decoder~cixcult (a C MOS 4428~circuit~ in , sequence, by singals~D6, D7 and D8, respectively. Decoder~ -signals Dl thro~h D5~dri~e a buffer circuit (CMOS 4049) which in turn has six sequentiàl outputs lea~Lng to the de-~25 coding logic~on the display control board.
The~welght~reading photocells A~through~N, corres-~pond to similar photocells shown ln U. S. Patent No. 3,~557,353, which issued January~l9, 1971 to The Hobart Manufacturing Company, and cooperate with~a~chart (not shown~here) to read a code :
correspondin~to weight on the~scale pla~ter~when the platter , -16~ ~ ~
: ~ :
Doc~et 6196 ~9~7~
and scale mechanism come to rest, e.g., at: no motion. Certain of the photocells, A and C, also cooperate ~th the chart to provide a motion detection device which indicates scale motion, as describe~ in the aforementioned U. S. patent, and other photocells M and N, cooperate to provi~e an output indicative of the ~?eight ~ead zone ~l~DZ) when weight on the platter is less than Q.02 pounds, for example.
A pair of gate circuits 50 and 51 each have one input from the strobe output line Q2 of the decimal decoder, and gate 50 also has an input ,from the preamplifier associ-ated with photocell A, while gate 51 has an input from the preamplifier associated with photocell C. The outpu~s of gates 50 and 51 are connected to reset circuits for monostable pulse generators 54 and 55, and the outputs of the two monostable circuits are connected to inputs of~gate 57 (~ig. 4B) along wlth an input fxom the decimal décoder strobe line Ql. When the chart i5 moving-past the~photocells, the preamplifier outputs are cha~ing, and~he nostable circuits`are continually being res,et, at whlch time the~
ou~put of the monostable goes to a high condition and remains :: :
high until the term of the monostable pulse generator expires.
Thus, if the output of either monostabIe generator is low ~at 'the time the motion detect :circults are stopped, this is an indication o~ no motion~
25 ~' The decoding address circuits 60 and 61 are -associated with~the interface circuit and function to address appropriate ones o-f'the PROMS and latches.~ The~se circuits may be CMOS MC 14556 ~_P,,,and~again are utilized in connection wlth~the electrically programmable~ PROM~, but are~internally incorporated-in a mask prog~ammable ROM. -~
.
~c}~t 6196 ~S~7~
Although .he preferre~ embodiment of ~he lnvention is disclosed in terms of a microcomputer and its program, it is to be understood that a scalé duplicating the performance of the present scale could be fabricated with conventional logic circuits b~ one skilled in the art.
Program The microcomputer program used .in the preferred embodiment of the present scale is listed in Table I (pages 76 to 91) of this application in a form which may be prepared from programmer's listing by an assembly routine available from Intel Corporation and accessible on the General Electric Company time share computer networ~. In Table I the first column of numbers containing three or four decimal dlgits between the values of I00 and 8100 identi~y llne numbers in the program and are used for reference to pro~ram steps in ~his specification. The second column of numbers is comprised of twelve binary bits of lnformation and represent the ROM
address~ of each~instructlon~in the program ln binary ~orm.
The~hird column of numbers in Table I consists of eight~bit 2Q~ binary words~which identify~the microcomputer instructions - ~;
- in binary machine- language~. These instructions correspond `
~ ~ to the instruction~set information listed on~pàges 16, 17~ ~ -; ~and~the rear cover of the Intel ~ser's Manual. The fourth ~-column in Table~I includes four alpha-nu~eric characters psed to identify program sections or subroutines i~thi column ~
the alpha-numeric charaGters generally relate to the function : :
~performed, that is,~the letter~"S" indicates~scan, the~lettex "K" ~ , etc. The fi;fth~c~lumn of information~in Table I~
, ~ 18- ~ ~
~: , :
~ , Docket 6196 ~ Z
identifies the instructions of co:Lumn 3 in mnemonic symbolsO
Column 6 of Table I contains progra~ner's comments relating to the functions being performed.
~igs. 5, 6 and 7 show the program in flow diagram form, in which blocks having rectangular shape, i.e., S01, 502, indicate processing steps, blocks having a diamond shape, i.e., 522, 519, 541, indicate decision instructions with affirmative or yes decisions indica-ted by paths leaving the block left or right side, and negative decisions by paths leaving the 10 block bottom side, hexagon blocks 507, 562, etc., indlcate input points rom othex sheets of the program flow diagram, and romboid shaped blocks, i.e., 531, 599 indicate exit points tocther sheets. The flow diagrams are related to the program listing of Table I by the three and four digit numbers shown adjacent each decision and certain of the other blocks, i.e., the number 680 in parenthesis adjacent block 519 is the column 1 line number in Table I for the instruction(s~ -performing the indicated function.
As will be apparent from the following description in the present scale system, it is notable thatall of the operations involved in collecting tare information, weighin~
articles inputing pxice per unit weight information and dis-playing numerical and function indicating quantities in the present scale are performed in real time using only the 7nicro-computer registers and~without the benefit oI outboard orexternal storage eiements~ This scale arrangement is found to provide both a small physical size wherein all of ~he ~
electronic and display components can be mounted on a single small printed aircuit board, and a low manufacturing cost . . . :
~ocket 6196 ~5~7~
wherein the usual e~ternal registers for stol-ing input and output information are elimina~ed.
According to this real tinle mode of scale operation, the ~icl-ocomputer is connected frequently and briefly during a comm~nicating cycle to each of the input and output transducers used in the scale, i.e., the ~eyboardr the weight indicating photocells, ihe motion detecting apparatus, the numerlc display and the mode indicator lamps in the display, etc. These connections and their time duration are controlled by~the microprocessor program, and are carefully seleGted so as to provide a clear and pleasing communication to the scale user.
In order that the scale of the present invention ~e simultaneously free of external storage elements, responsive to input signal changes and capable of indicating changes to an observer within the observer's response action time, it : is desirable to~perform-the lnput and dlsplay operatin~ steps frequently, or at least with some::predetermined~mlnimum frequency.
For example, it has~been ~o~nd~that in operating~a keyboard :~ :it is impossible for-an operator to close and~release a key 2Q~ : in less than:about 20 milliseconds; in a~simllar mannerj a~ :
: ~ .
: observer dDes not distinguish~a~:light which flickers at a ra~e above approximately thirty cycles per ~second:from a continuous source. In the present~scale, these physical ~ .
characteristics~of an operatox are employed to permit a~
25:~: microcomputer having essentia}l~ one-~unction-at-one-tLme~ -capability, neverthe~lass., to perform a plurality of operator :related.functions . .
~Z~ ~: ' ' ' ~ ' :
~osket 6196 ~9 In order that operator-re:Lated functions including sensing new weight, sensing a keyboard en~ry, and updating the displa~ be possible at human reaction speeds, the program is organized into two major portions. One portion is a first loop t~nich co~unicates repeatedly, e~cites the displays, senses ~eyboard and weight inputs, performs a weight dead zone test and a ~otion test and then repeats. After performing these basic steps for a predetermined number of times, or upon receiving a data related con~and, the scale proceeds to a second or compute loop or operations wherein computati~n, data conversion and other time consuming events are performed.
The test for weight dead zone is included within the communicate loop in order that scale departure from the weight dead zone~be recognized as quickly~ as possible.~ Also, the identification of~keyboard information as a~tare weight,~
or a price per unit weight factor, is dètermined by whether the scale is within the weight dead- zone. ~The motion~test is inclu~ed~within the communi~cate loop in order that an operator act involving slgnlficant change~ OI scale platter weight be recognized-as~quickly as possible to blan~ and reset the dlsplay.
In the ~low~ diagrams, the steps and paths added~
:
to the computer program~for t~he compute cycle~are shown~in Fig. 6`including the blocks 600-9653. (Numbexs in ~he 90~0 25~ series are used to dlstinguish`from the 700 serles of~numbers in Fig. 7). Speci~:ic subroutine~details are shown in Fig. 7, ; including blocks 700-754.
, ~ -21- ~
:, , . , ' . ,... : . : :
Docket 6196 In the flow diagram of Fig. 5, the co~municate cycle of the scale is shown in bl~cks 500-59', these blocks corresponding to the program steps ~)etween lines 100 and 2280, in Table I. This cycle may be repeated in normal scale opera- -tion a predetermlned number:of times, 171 times in the pre~
ferred embodiment, before enterins the compute cycle. Each trip through ~he communicate cycle consumes approximately 5.9 milliseconds of operating time, as indicated in Fig. 10.
This time is sufficiently short to insure the capture of operator altered keyboa~d or weight infor~ation by the microprocessor.
The communicate cycle of .he sca}e commences with block 508, a point identified as line 23~ in Table I. PriQr to entering this cycle, the power on and resettlng seguence of blocks S00 and 501 are performed with~ ~he rese~ting signal of block 501 being`developed~:in the microprocessor clock. ~ :
Following this initial reset, the sequence~c~unter and update counter ~see Fig. ll)- which~respecti~ely determine the identity ; of-the infor~mation being~:displayed, and:the times the communicate 20~ ~cycle iS performed~, are set.~to::inltlal conditi.ons as shown in ~- blocks 50~ and 505. ~:The update counter is set to a ~aximum ~
-value in these:steps, so that a compute:cycl is executed :
following the.first communicate cycle:sequence. The preliminary steps also include use of~the blank subroutine at block 504 25:~ as a form of reset in preparation to readi:ng zero weight as : explained later. . ~ :
.
~ Following the placing of addres ing:and countin~:
: constants in the appropriste~::R~M registers-as indicated~by block 508~in Fi~g. 5,~the:-communicate cycle:begins at the ~, . ~ - .
~ 22 :
, . - :
Docket 6196 sequence of steps 509-518 which relate to timing the display 30, collecting weight informati~n and keyboard status. In the ar~angement of the present scale, si~nals developed by the steps 509-518 on the RAM da.a port lines Dl-D8 in Fig. 4 are used as enable pulses to simultaneously collect information into the scale ~ia the ROM 0 input port and send information ~rom the ROM 1 and ROM 2 output ports to the display.
The signals emanating from the R~M zero output port are given the n~me l'D" times, ~D relating to digits) since during certain D times one o~ the numerical displays 25-28 is illuminated. The time relation and time duration of the D times is shown in ~ig. 10. The assisnment a~ D times to output codes emanating ~rom the R~M 2ero data port is shown in column 4 of Table II. As indicated at this~column four display digits 25, 26, 27, and 28 are il1uminated~, respecti~-el~, during times D2, D3, D4 and ~5, these times being of equal length, approxlnately 715 microseconds.(Fig. ~10). ~
Prom Table II, column 4 and Fig. 10, it will also be noted that during~Dl time th identity lamps, i.e., the Iamps for ~he signs 32, 33~, 35, 36, 37 and 38 on the display, are illumina ed.~ ~Dl~ time~is made longer th~n the D2 to D5 times in order that desirable brillisnce be realized from the ~incandescent lamps used to~ illuminate the signs. ~The disp1ay numerals are preferably ~EDS. As also indicated in column 4 25~ of Table II, Ram 0 output~odes other than BCD ~alues l, 2, 3j and 4 which~are assigned to Dl to D4 ti~es, are assigne~
for inputing keyboard informatian, i.e., RAMO BCD codes of six,`seven and eight, respecti~ely.~ ~
:
~ 23- ~ ~ ~
- . . . . . . .
Docket 6196 It is to be noted in column 4 of Table II that the RAM O BCD codes of 1 through 5 enabl.e both input and output functions in the scale, the BCD code 1 (Dl time), for example, providing an enable signal for both lighting the sign lamps and for accessing status switch information. The status switches are the perfonmance selecti.ng switches or jumpers 65 in Fig. 4B. RAM 0 BCD output code of 3, D3 time, as a further example, enables the second most significant digit of the dis-play 30 and simultaneously the second most siynificant group of weight indicatlng photocells, cells E, F, G and H (Fig. 4A).
During each trip through the sequence o program steps represented by blocks 509-518 and the return through blocks 520-522, a different one of the R~M ~ero output code (Dtime signals) is generated. The D time signals actually appear upon per~ormance or ~ne bioc~ 51~siep at ine ill~tLU~-tion of line 590 in the~ program of Table I. Incrementing of the index reglster of the CPU, to produce d1fferent D times, occurs at line 650~ of Table I which is indicated at block 5i8 in Fig. 5. Details of the~Lndex registers, etc., are explained at pages 10-14~of the MCS-4~User's Manual identified above.
As indicated in Fig. 10, the D time:intervals Dl : ~hrougn D5 are separated from each adjacent D time interval by a time of approxlmately 125 microseconds, this time being used to change the data sent to the display. As described, the starting of a I~ time signal is indicated at block 515 i~ :~
~ Fig. 5, while the stopping of a D~time signal occurs at black~511.
~.
, ~:
:~
. ~ -~ : -24- :
Doc' et 619 6 ~ 7 ~
Since the lntensity o~ light generate~ by both the numeric digit indicating devices 28, etc., a~d the word indicating signs depend up3n the multiplex ~atio of on-to-o~f tim_s f~r a display el~ment, it is desired that these e]ement.s be in the "on" condition rOr the largest possible percentage o' the display o~erating time. Restating this proposition, it is desirable for each of the bl~c~s D 1, etc., in Fig. 10 to be as long as possible in order that the peak current needed to drive the ~isplay elements to a given luminous intensity be as small as possible. There is of course a trace-o'f between time and peak current in multiplexed incancescent and light-emitting diode-lu~inous sources.
In order to stretch ~he duration of each of the D~l through D 5 times beyond the time needed~for executing lS~ the related~-central proc~essor instructions, a time wasling se~uence (steps 520-522) is included in the return path 513 for D time generation. By means of thls waste-time~sequence, each of the pulses D1 through D5 generated in the block ~ ~ S09-518 sequence is lengthened. By way Gf the loop 516, the duration o the Vl time pulse is made-longer than any of the subsequen~ D2 to~D5 pulses, such that luminous i~ntensity of the i~ndicator~signs 37, etc., which are illumin~
ated by incandescent filament lamps appear similar to the :
intensity~ of the~ light emittlng diode elements used in the numeric displays.
The decision~of block Sl9 indi~cates that the D6 pulse of Fig. 10 has been de~eloped by the;block 509-S18 ~sequence. Atthis time the~sequence of steps ~2~-52~9 which develops the pulses D7 ~and~D8 is comme~ced.~ The~D7 to Dg :
,.
:
.
., - . ,, . . :
~O~ ~ 7 Doc};et 6196 pulses are e..lployed for reading in~ormation from the sc~le keybo2rd and are m~de short in duration so that as much as possible of the a~railable con~unicate c~cle time be devoted to the displa~ intensity controlling Dl through D5' times.
S As indicated in ~ig. 10, tr~r_ D7 an~ Dg' times are not separated Dy the aata set up time required between the other D time pulses; ~s also indicated in ~ig. 10, the ~8 time pulse is longer than either of the D6 or D7 pul5es, the D8 pulse being turned "on" in the normal manner but ,allowed to re~nain "on" until reset dur1ng the next following cycle. The duration of the Dg pulse is therefore, determined by the time required to complete the communicate cycle steps following D tlme generation, i.e., the steps down to block 597 in ~ig. 5.
On each trip through the sequence of steps 524-529 15~ for generatLng the D7 and 1~ timing pulses, the~possibility that a key on the keyboard l5 in Fig. 1 has been closed by , the o?erator is oonsldered. Xey closure~s ln~the present system are first discovered~during communicate cycle operation and are stored temporarily as one bit of information in the twelye Dit storage field at RAM location 21 tQ 23 (Fig. 11).
This one of twelve key indication is decoded~to a numeric ~;
value ana~tested~for possible~errors during compute cycle~
operation of the system when the time needed for a multi-step decoding procedure can be afforded. Rep~tition of this ~- . ~ , . , decoding procedure in each,c:o~municate cycie would of course' , keep the microcompu~ter away ~from the display l~ghting steps for a larger percentage of that cycle operating time and reduce display intçnsity~ The~finding of a closed ke~ at blook 524, whloh correspond~s~with;the JCN~ test of line 700 26~
~ocket 6196 ~ 7 ~
in Table I, provld~s access by the path 533 to the keyboard st2tus sequence at steps 532-549. In the keyboard status sequence, status ~ord A is used to determune when a key closure rlay be safely regarded as authentic information, such deterlr.ination being made after three consecutive co~unicate cycles find the ~ey closure to eY.ist. A count of two in the ke~board "statu5 ~" word indicates three consecutive scans of a closed ~ey have occurred Status word A is increnlented at block 539 each consecutive time ~0 the test of block 524 finds a key closure. If a key should bounce to the open condition after being once closed for a block 524 test, status word A is returned to the count of zero at block 530 and a new series of three succéssive scans can commence.
': Gnce a key down~status of two is~sensed~at bl~ck 534, the input memory key~contents at~R~M locations 21-23 `~ tFig. 11) is known to be valid and free of key bounce errors and therefore'usabIe in the display or in computa~
~tion. The keyboard information is actually re~d into the temporary storage RAM locatLons 21-23 at block 517'durinq~
D6~ D7j and D8 ~times, respectively.
The presence of ~alid keyboard information in RAM
input memory is signified by setting of~ a second keyboard ' ~stàtus word,~"status B" to preclude a second reading of~
'$ the closed key. Keyboard status B is set at block 530 following a trip through the blqck 532-549 sequence wherein verified key data is found. On~successlve ~rips through the keyboard status loop~commenclng at block 532,~th~e test of .
. ~ . . . . .
. .
L7~
Docket ~196 block 541 will activate t~-e path 546. Once verification of the }~eyboard information has occurrecl at block 534 the path through block 542, along path 543 is used for communicate cycles until the steps of ~lock~ 548 and 549 are reached and initiate a compute cycle to aecode and store keyboard information. The key down status C of block 5~9 is sensed during a compute cycle to initiate keyboard data decoding.
Once a co~.pute cycle has~accepted the keyboard lnformation, a key down status B flag is set. Testing of this key down status B at blocks 542 and 541 precludes keyboard activity during subsequent co~unicate cycles until a no key closed condition occurs. During the cycles which occur while an already sensed key remains closed, the paths out of the righthand si6e~of blocks ~53~ and 541 are~used~along with lS the path 546. ~ .
- Once valid key closure is established but the key has t been~read ln,~the path 543 is used to examine for the , closed key~being a clear~key CE or total key TOT. Pt;blocks ~540 and 544 clear key~c~losure is tested, ~he finding of a ~ 20~ closed clear key resultins~in setting the update~counter to - ; maximum in order that an aborted compute cycle~ follow immediately;
If the clear-key is found in the open state at block 544~, the total key~status is accessed and read as indicated in block 545 and 547 to determlne lf a total -~ 25 key entry was made and`sensed-duri;ng a previous-compute . : ; , , ` ` cycle. If- the total key ~status is set, an exit: along the ~path 526 occurs, 5uch~exit~precluding the setting of~ the 28~
s~
Docket 6196 upda e counter ln the CPU to a condition that will precipitate a compute cycle and also precluding the writing of key down "status word C" in block 549. Absence of ke~board status C
signal prevents any entry of keyboard information on subse-quent cycles of the scale. It should be noted, thereore, th2t whenever a total key status is set as sensed in the block 547, exit along the path 5~6 occurs so that no';further infor~
' mation can be read from the keyboard by reason of the status ; 10 C of block 549 having not been set. Moreover, it should als'o be noted that the clear key is not a~fected by the block .
547 total key status, since the clear key pro~essina of block 540 and 544 occurs ~rio~ to the total key status steps of 545 and 547.
In connection with the sequence com~encing at block 532, once a determlnation is made that a key~has remained closed for three successive~short cycles, the , status word C is set and~the update counter preconditioned to assure a compute cycle is immediately executed (assuming
The pla.ter motion detector is disabled for a short time after a ke~ ac.uation, to avoid system resetting as a result of platter movement which may be ~induced by keyboard actuation.
The microcomputer scans the possible inputs from the scale an~ the keyboa d, and sends output signal to the display, at real time rates which are compatible both with human keyboard manipulation and retention.
Scale operation is dLvided into two portions which are called the communicate and compute cycles; the communicate cycle is usually~repeated many times between compute cycles in order that real time information sensing~
and display operation be possible.
Related A~plication This application is related to copending Canadian ~ ~pplication Serial No. 258,531, filed Augus 5, 1976, entitled ~Computing Weighing Scale" and assigned to the same assignee as this application.
:
- . :
.
. ~ .
D~c~et 6196 This is a dlvision of Canadian Patent Application Serial No. 258,496, filed August 5, 1976.
Background of the Invention This invention rela~es to computing weighing scales, particularly scales of the typ~ used in gr~cery stores, deli-catessens, etc., to weigh random weight items, and to calculate the to,al price or total value of such items, based upon predetermined price per unit weight ror the particular type of article or commodity. A typical form of prior art scale is disclosed in U. S. patent N~. 3,741,324 of ~une 26, 1973, issued t~ The Hobart Manufacturin~ company which has separate electronic digital indicators for price per unit weight and total price, and an optical weight display. A later version of that scale, known commercially as the Hobart ~odel 1500 Electronic Checkstand Scale, utili~es the same platter, weighing mechanism including weight readout and-code generating mechanism, and includes provisions ~r~transml~ting weight data (on command) to a rem~te computer ~dl~optionally to a remote digital elec-tronic weight display. ~hat display, visible to the operator and the customer, shows only the weight of~the item. A mùlti-station version of this scale,~ utilizing a common computer system and individual displays for weight, price per unit weight and total price is disclosed in U. S. patent No.--3,906,2~8 issued Septe~ er 16, 1975 ~o Hobart Corporation.
For many years the so called "computing scales"
of the drum computer type have been-used in various types of food markets, etc:. These incorporate a mechanical-computing mechanism in the form of a moving chart, usually a rotating cylinder as typic:ally shown in U. S. patents No. 2,7~2,811 issued Apxil 24, 1956 to The Hobart Manufacturing Company, and No. 2~,880,643 issued April 7, 1959 to The Hobart ~anufac-turing Company, ~md have a number of di~erent columns rela~ed `
' ' .
-3~
- - - . , - ~ ~ ' :
Doc}~e~. 6196 ~ ~ ~ 5 ~ ~
to corresponding price per unit weir~ht. In these scales an indicator ~ape or wire is visually aligned along the chart by the operator, when the scale comes to rest, to read from the chart the weight of an article on the scale, and from the appropriate colu~a total price or value. The operator then manually writes some or all of this information, in many cases just the total price, on the package used ~o wrap or cover the weighed item. In these scales the full chart is often visible only to the operator, and the customer sees only a weight display, and that from a vantage point where accurate alignment may be difficult. The computation capa-bility in these prior ar~ scales is Or course limi~ed by the number of chart columns. Such scales are not readily con-nected even to small in-store computers, and they are essen-tially an independent weighing device. ~ ~
In order to simplify and conser~e the~cost of read-out devioes for electronic~computing scales, it is des1rable to utilize a minimum number of more or less conventional com-ponents, without sacrificing the capability for accurate weight readout, simplificat1~on of data entry, safeguarding against operator error (unintentional or otherwise), and dlsplay~
clearing of data or both the customer and the operator.
`
The broad concept of multi-purpose seven-segment numerical displays (or equivalent) which are utili;zed in the scale of the present invention, together with identification ~of the data bein~ displayed,~is disclosed in V. S. patent No. 3,580,421 issued May 25, 1971 to Veeder Industries, Inc. r which relates to liquid dispensing, e. g., a gasoline pump~ In this gasoline~pump application o multi~
.
~ ~ -4-.
` :'' - . : .
7;~
Docket 619~
purpose numerical displays there is infrequent change of the pric'e per unit factor (cents/gal.), and thus no need for quick entry or quick change of th:is information. There is also in the gasoline pump no requ:irement to recognize the end of the quantity measuremerlt (gallons) since there is no problem of_sensing when the quant:ity is fully dispensed; the tank is either full, or a predetermined quantlty has been pumped. In a similar manner, in the gasoline pump eDtry of the unit price factor precedes dispensing of a random quantity and computation proceeds as liquid is dispensedO Moreover, in the gasoline pump none of the dispensed material will be removed, so the quantity measurement is always unidirectional, and not subject to either plus or minus variations as when a ' customer wants some of a commodity taken from a scale platter weight is displayed. ' ~ -In computing weighing scales', especially scalesused in random.weight measurement and total price calculation of many di~ferent items, the price per unit weight will frequently change, and the quantity (weight) may be changed up or down when the operator, or customer, observes the actual displayed - - weight and before total price computation occurs, and it may also be necessary to a~just for tare weight of a package.
In computing scales, D reover, the "weights and measures"
regulations of various governmental bodies require compliance, and the competitive nature of the scale business makes cost a significant factor. Thus, the adaptation of a single multi-purpose multi-digit indicator to a computing scale presents uni~ue and unobvious requirements.
5-- .
. . ~ , . .
- . . .
5gL7~
Summary of the Invention The invention in one aspect provides a weig~ing scale having price computing capa~ility comprising a platter, means for generating code information corresponding to weight of a commodity on said platter, means detecting a no weight condition of said platter and developing a corresponding signal, a manually operable keyboard including means for generating code information in response to manual actuation of said keyboard, a tare register, a price per unit weight register, and means responsive to said keyboard code information generating means and to said no weight detecting means and operable to cause transfer of keyboard entered information into said tare register when no weight is on said platter and to cause transfer of keyboard entered information into said price per unit weight register when there is weight on said platter.
The present invention therefore provides improvéments in a single multi-digit numerical display, such as a four digit, seven-segment LED or equivalent display, together with special - function indicators such as selectively illuminated signs, to present article welght, prlce per unit weight, and total price in sequence both to the operator and the customer. If weight on the scale is changed during keyboard entry or computation, the display reverts to weight, the price per unit weight is remembered~
if already entered, and the display sequence begins anew using the new weight when the platter comes to rest. ~he number of illuminated indicator signs is minimlzed by careful choice of wording and/or symbology. Presently available mechanisms are used~
for weighing mechanism and scale motion detection, such as those ;
disclosed in U.S. Patent No. 3,741,324 and earlier U.S. patents referenced therein. The display unit may be mounted on or remote~
~: _ ::
~ ~ - 6 -~:~
' o~ : : ~
~ ~ ~y~ ~
from the scale housing and may include front and back duplication of the multi-digit display and the indicator signs, if necessary for simultaneous viewing by operator and customer.
The keyboard for entry of price per unit weight in the present scale may be attached to or remote from the weighing scale housing. Preferably, the keyboard is at least a twelve key device having a "clear entry" function key by which the operator may cancel an erroneous entry, and a "total" function key to command display of total pxice. Tare may be entered only if the weight code output is below a predetermined mini~num (ë.g., "zero weight"~ and is displayed with a negative sign, which may blink to call attention. In such case, entry of price per unit weight is inhibited until the weight readout exceeds the minimum-and the~
- 6a -, Docket 61~6 ~cale is at rcst. Also, the display prcf~rably is blanked during scale motion, to avoid possible confusion from display of changing weight, and the total price display is distinguished from the other displayed numbers, as by causing ~he displayed numerals to flash or modulate in intensity when total price is presented.
The entire operation is under the control of a micro-computer which interrogates the weight encoder and the keyboard, drives the display directly, in real time, and performs the nec-essary calculations of tare subtraction, and multiplication o~
weight times price per unit weight to arrive at total price.
The primary object of the invention is, therefore, to provide a novel computing scale which has a unique single unit multi-digit display that is arrayed to present, to the operator, in sequence, all or part of the quantities of commodity article weight, entered price per unit weight, and total price, and tc .
~epeat that s~quence (if desired) if the weight is changed but not removed from the scale platter; to dlstinguish each number displayed in the sequence according to its purpose; to provide in such a scale appropriate indicator signs for distinguishing the numbers, using a minimum number of signs; to provide for digital entry of tare via the keyboard, only when there is no weight on the scale, and for keyboard entry of price per unit weight only when there is weight on the scale; to provide for clearance of incorrect keyboard entries in either mode;
to provide or remembering entered tare and entered price per pound if weight on the scale is chanyed but not fully removed;
and to provide a microcomputer which rapidly and repeatedly scans the keyboard and the weight encoder output signals and drives the display outputs, then follows alternate pa~hs of a more complex program as n~cessary to determine . , .
.
.~.3`` , ~ .
~q~
Dock~t 619 6 weight, price per unit weight t ancL total price, when an item is plac~d on the scale plattPr ancl app~opriate keyboard entries are made, utilizing a minimum of c:ircuitry outside ~he micro-computer itself. ' ' Other objects and advantages of the invention will be apparent from the following description, the accompanying drawings and the append,ed claims. -' '' , ~' - - Brief Description of the Drawings ' Fig. 1 is a perspective view of the new scale system, showing the housed weighing mechanism with electronics therein, together with a remotely connected display unit and keyboard;
Fig. 2 shows one face of the display unit;
Fig. 3 is a diagram of keyboard layout; ' ~' Fig. 4 (~, B & C) is an electrical schematic diagram of the system;
Fig. 5(A and B) is a flow diagram of the short loop communication portion of the program; -Fig. 6 IA, B, C and D) is a flow diagram of the computation sequence of the program; '~ ' , Fig. 7 ~A and s) is a flow diagram of program sub-rou,tines; ' Fig. 8 is an overall flow diagram of the system;
Fig. 9 is a flow diagram of an alternate routine in portions of the program;
Fig. 10 is a timing chart; and Fig. 11 is a chart of the ~M register assignments.
.
, .~ .
Dock~t 6196 Descri~tion of the Preferred Embodiment - FigO 1 shows a wPi~hing scale including a housing 10 on which a movable platform 1~ is supported by suitable mechanism (not shown) to receive random weight articles.
Platform motion resulting from weight of an article causes operation of a weight encoder 14 (Fig. 4A~ to generate ac coded weight information signal, as shown, for example in U. S. patent No. 3,741,324 and earlier patents referenced therein. If desired for convenience, the housing 10 can be mounted ~ith platform 12 approximately level with adjacent countertop surfaces, and the platform may have a lock out device to protect the weighing mechanism when not in use.
A keyboard 15 is connected to the electronics package within housing 10 by a suitable cable. If the key-i5 board is to be supported remote from housing 10, as foroperator convenience, the cable will be of appropriate ength, otherwise keyboard is mounted to the side of housing 10. Any convenient keyboard layout can be usedc By way of example, Fig. 3 shows a twelve key keyboard including keys for num~ers ~0 0-9 plus a clear entry (CE) key and a tstal (TOT) key. The functions of these keys are later described. Preferably, the keyboard contains only key buttons and related switches to coniplete appropriate entry signal circuits through a cahle ~o the electronics package.
Figs. 4A, B and C comprise a schematic diagram of a scale system en~odying a commercially available microprocessor known as MCS-4 Microcomputer Set, available from Intel Corporation, Santa Clara, California~ This microprocessor consists of a number of large scale integrated circuit chips, ~9_ .: ' ' 1.
Docket 6196 including a central processor (CPU) which c:ontains the control unit and arithmetlc unit, a random access memory (RAM), a shift register (SR), and one or more read only memories (ROM) . A
detailed description of s~ch microprocessor is contained in a ~ublication entitled MCS-4 Micro Computer Set Users Manual, ___ _ _ copyright by Intel Corporation 1974, including individual block diagrams for the CPU, ROM, RAM and SR. Further description appears in U. S. patents, Nos. 3,753,011 of Auaust. 14, 1973 and 3,821,715 of June 28, 1974, both issued to Ir,tel Corporation.
A display unit 20 is supported on a stand 22 and connected through an appropriate cable to tha electronics package. The display unit comprises four seven-segment numerical displays 25-28 and a decimal point display 29, which may be a part of the display 26. In an actual embodiment the LEDS
used for this purpose, are supported in a dark contrasting bac~ground plate 30. The nesative sign display 31 is derived from ~ED unit 28.
- ~
The display unit also includes~ a numbe~ of selectively illuminated indicators,~which may conveniently be~individually .
back lighted translucent signs mounted~on~plate 30~ They can be provided in distinguish~ing colors if desired~, and each light ~`
source may~be~a relatively ~low power incandescent lamp.~-The signs shown are related to U.~S. currency, and weight measure, ~:
and the English language, but can easily be changed to other~
~25 language words or~symbols, and metric or~other measurement ....
sy~tems.
The signs in the display~unit 20 are, (l) weight indication 32 and 33,~(2) currency 3;,~(3)~per pound-36,~
~ ~4) total 37, and (5) price slgn~3a ~energized with sign 36 or sign 37. The driver circuits~ lamps~, etc., associated~
~:
~S~7~ . .
Doc~et 6196 with the display elements are shown in Fig. 4C and a~e of conventional design~ The displays and signs may be duplicated on a reverse face of the unit 20 for view by a customer in instances where he would be on the opposite side of the scale from the operator. - - - ~ ~
- In a typical weighing operation, the scale of Fiy. 1 performs as follows. A random weight article, such as slices - of cheese or one or more pieces of mea~, is to be weighed. If the article is to be placed in a boat or other package device of known weight, that weight is first entered on keyboard 15, and tare weight is displayed with indicators 31 and 32 illuminated.
If for some reason the weight encoder indicates more than a pre-determined weight such as 0.02 lbs the tare weight entry is inhibited. In the present description including the program . .
-listing this 0.02 lb value is named the weight dead zone limit or, more simply, the weight dead zone (WD~). It should be recognized that the name price reject zone might be more appro-priate for weight values located within this zone according to the use made of these weight values in the present scale. It should also be recognized ~hat this weight dead zone is disting-~uished from the weight forbidden zone wherein weighing is not permitted by certain common maxket European countries for scale accuracy and tolerance reasons. ~ ~
If the operator enters a tare number via keyboard 15, that number appears on display 20 and the negative sign 31 illuminates and blinks to indicate that the displayed informa-tion is tare wleight, i.e., a weight quantity to be subtracted from the gross weight of the article and its package to obtain "net" weight.
. '- .'''-,,', ', , ~
Docket 6196 The display will continue indicating tare weight until the operator places the article on the platter 12. The display is then bl2nked until scale motion stops, then the number on the display changes to the amount obtained by sub trac.ing tare weight from the gross weight. Thus, unblanking of the display indicates termination of scale motion. The display will continue indicating that number, i.e., net weight, until the operator commences a second keyboard entry with the scale away from zero weight or the "weight dead zonel' (WDZ).
The numbers entered during this second keyboard entry are the price per unit wei~ht and will b~ indicated on-the numeric display, together with the words "price" (sign 38)~, and~"per~
poundn (sign 36)-~and "$" ~sign 35) If the operator enters price-per ~nit weight quickly, bef~re or just as the scale-comes to rest, the net weight display will be maintained fora predetermined interval, then the display will sequence to the entered~number.
The price per unit weight display~will continue until the operator presses the total button TOT on Xeyboard - : :
15, at which time the display will indic~e the total price ~or value number computed by mult~plying the net weight and _ the price per~unit weight. Along with the total value numb~r, the words "to al"~sign 37j and "price" (sign 3~ nd -~$"
~sign 35) will als-o be illuminated. While displaying the - , total price ~quanti~y, the entire display including the numexic portion and the words will flash calling~attention to the fact that total price is being indicated. The terms "total price" and "value" are used inter~hangeably (synonymously) , in the~s~ecificatinn, claims and drawings.
.:
:
~' ' ', ' ' ' -' :
5~
Docket 6196 The indication of total ~alue will continue indef-initely so long as the operator does no~ move the scale platter or strike the clear key, CE, on keyboard 15. When the scale platter is disturbed by so~e signiflcant amount the display 20 will return to its weight indicating mode wherein a numeric weight value will be displayed with appropriate signs. If the platter disturbance did not cause the weight encodex to move below the weight dead æone upper limit, normally the previously described 0.02 pounds, two options can be followed. The display can remain on weisht until another keyboard entry is made to reinitiate the computing operation, in which instance the pre~iously entered p~ice per unit weight is not remembered.
Or, the display can continue indicating weight for a prede-- termined time, then commence indicating the~previous~ly en~éred 15~ price per unit weight,~hen~a~ter another predetermined interval, Lndicate~a new total~price, the appropriate words, weight,~total, ~price and-price per pound being illum~nated as reguired.~
the p-latter disturbance was-su~icie~t to move ~the scale chart to a weight indication bel~w the weight dead 20~ ~ zone upper~limit, i.e.~, below--0.02~pounds~, the price per~ unit weight entry previously made is erased~and the scale remains~
, ~
in the weight mode~un~il-the operator intervenes with a new~
keyboard entry.
, - If the operator adds or removes a~ver~ small amount 25~ ~ of weight to ~he platter, an amount insuffi~ient~to actuate~
the~soale motion~detecting device, the dLsplay does not return t~ the weight indic:ating~moder but does lndicate a~new total ~amount auantity computea~rom~the~new net weight~, that is, the indicated tota~ value is~ me~ely~upd2ted i~ accordance with ~he ~ weight~now on~-the~platter.~
, ~ 13~
. .: : -. : .. . . :
Docket 6196 ~0~5~72 .
I~, the article placed on the platter weighs lessthan a entered tare weight, a negative value of weight results, this condition is indicated by displaying a negative weight value. If computation should be attempted with this negative weight the four center segments 31, etc., o~ the dlsplay 20 are illuminated together with th,e words "$", sign 35, "per pound" (sign 36), and "price" (sign 38) to indicate that entry into the total value mode cannot occur with a negative weight value. If weight placed on the platter exceeds the capacity of the scale, or if the scale indicates a weight value below zero pounds, the four center bar segments of the display - 20 are llluminated together with sign 32, to indicate an -improper weight and entered price per unit weight provides a total value quantity which exceeds the displ~y capacity (99.99 as shown), the center bar segments of the numeric in--dicators together with signs 37 and 38 are illuminated, , indicating a total value which exceeds display capabili~y.
These error indicating actions of the display are especially useful in scale servicing.
The claar key CE on keyboard 15 is provided with - ~he ability to erase a tare entry, a price per unit weight entry, and also the currently displ~yed total price, when depressed. Useeof the ~lear key with weight on the platter xeturns the ~ale to weight mode from either unit price or total price modes. Depressing the clear key when the scale is within the weight dead zone will clear entered tare.
Th~s total button TOT is used primarily to forward the scale from the price per unit weight mode to,the total value mode. However, the total button is also used to disable , ~, ,. . ' ' ' ' ' Docket 6196 10 ~ S~7 ~
.
the keyboard from further use (except for the clear key) while unchanged weight remains on ~he scale. ~ctuation of the total button is ignored prior to the scale belng in the price per unit weight entry mode, and also if no price per unit weight entry has been made. As indicated previously, a disturbance of the scale platter 12 after a total button entry has been n~de, can initiate an automatic sequence of weight, price per - unit weight and total value display.
Removing the article from the scale causes the weight encoder to return to "zero", e.g., under 0.02 pounds, and this in turn resets the microcomputer and display unit . ~ .
- to weight mode. Tare previously entered is not remembered upon return to zero weight, provided a computation has been completed; however, it is remembered if the interim reset to welght mode is encountered during a weighing operatlon.
- ~ ~ Electrical Layout - ~Figs. 4A, B and C comprise an electrical schematic - ~ ~iagram for the microcomputer circuits, keyboard, photocell readout of the scale weight chart, and the display circuit boards which include the four seven-segment numerical displays and the various signs.
The basic microprocessor units include the crystal controlled c106k which provides ~ 1 and 0 2 clock output~ the - central processing unit CPU, the Random Access Memory, R~M, and a read only memory, ROM. In the illustrated embodiment the ROM consists of three electrically programmable and erasca~le memory devices (Intel type 4702A~ which are con-ventionally known as P~OM, together with an interface circuit (Intel type 4289) and two latch circuits 4024~ (a C~OS circuit .
: , . .
'.
Docket 6196 ~5172 a~-ailable from several manufacturers) which together comprise thee~uival~nt of a mask ~rogra~nable ROM, such as Intel type 4001. It should be understood that in a mask progra~mable version, the interface circuits and the latch circuits are incorporated within the large scale inte~rated circuit of the ROM.
The keyboard 15 corresponds to the keyboard illus-trated pictorially in Eig. 1, and the various keys are correspondingly labelled. The keyboaxd is interrogated sequentially in three steps which are indicated by the three input lines labelled KYBD, ST, A, B and C, which are abbrevi-ations for keyboard strobe A, B and C. These lead selectively to the three vertical ro~s of key switches ~rom left to right, respectively, as shown in Fig. 4A. The other sides of the ~15 keyswitch contacts are connected hoxizontally to four key-, board output lines whicn are labelled, respecti~ely B0, Bl, B2 and B3. It should be noted that the keyboard output line~
B3 includes outputs for the clear key CE~ and the total key TOT, as well as-numerical 0. ~ ~
20 ~ The keyboard strobe A, B and C iines are strobed ~ -; ~ ~ f~rom a decimal decoder~cixcult (a C MOS 4428~circuit~ in , sequence, by singals~D6, D7 and D8, respectively. Decoder~ -signals Dl thro~h D5~dri~e a buffer circuit (CMOS 4049) which in turn has six sequentiàl outputs lea~Lng to the de-~25 coding logic~on the display control board.
The~welght~reading photocells A~through~N, corres-~pond to similar photocells shown ln U. S. Patent No. 3,~557,353, which issued January~l9, 1971 to The Hobart Manufacturing Company, and cooperate with~a~chart (not shown~here) to read a code :
correspondin~to weight on the~scale pla~ter~when the platter , -16~ ~ ~
: ~ :
Doc~et 6196 ~9~7~
and scale mechanism come to rest, e.g., at: no motion. Certain of the photocells, A and C, also cooperate ~th the chart to provide a motion detection device which indicates scale motion, as describe~ in the aforementioned U. S. patent, and other photocells M and N, cooperate to provi~e an output indicative of the ~?eight ~ead zone ~l~DZ) when weight on the platter is less than Q.02 pounds, for example.
A pair of gate circuits 50 and 51 each have one input from the strobe output line Q2 of the decimal decoder, and gate 50 also has an input ,from the preamplifier associ-ated with photocell A, while gate 51 has an input from the preamplifier associated with photocell C. The outpu~s of gates 50 and 51 are connected to reset circuits for monostable pulse generators 54 and 55, and the outputs of the two monostable circuits are connected to inputs of~gate 57 (~ig. 4B) along wlth an input fxom the decimal décoder strobe line Ql. When the chart i5 moving-past the~photocells, the preamplifier outputs are cha~ing, and~he nostable circuits`are continually being res,et, at whlch time the~
ou~put of the monostable goes to a high condition and remains :: :
high until the term of the monostable pulse generator expires.
Thus, if the output of either monostabIe generator is low ~at 'the time the motion detect :circults are stopped, this is an indication o~ no motion~
25 ~' The decoding address circuits 60 and 61 are -associated with~the interface circuit and function to address appropriate ones o-f'the PROMS and latches.~ The~se circuits may be CMOS MC 14556 ~_P,,,and~again are utilized in connection wlth~the electrically programmable~ PROM~, but are~internally incorporated-in a mask prog~ammable ROM. -~
.
~c}~t 6196 ~S~7~
Although .he preferre~ embodiment of ~he lnvention is disclosed in terms of a microcomputer and its program, it is to be understood that a scalé duplicating the performance of the present scale could be fabricated with conventional logic circuits b~ one skilled in the art.
Program The microcomputer program used .in the preferred embodiment of the present scale is listed in Table I (pages 76 to 91) of this application in a form which may be prepared from programmer's listing by an assembly routine available from Intel Corporation and accessible on the General Electric Company time share computer networ~. In Table I the first column of numbers containing three or four decimal dlgits between the values of I00 and 8100 identi~y llne numbers in the program and are used for reference to pro~ram steps in ~his specification. The second column of numbers is comprised of twelve binary bits of lnformation and represent the ROM
address~ of each~instructlon~in the program ln binary ~orm.
The~hird column of numbers in Table I consists of eight~bit 2Q~ binary words~which identify~the microcomputer instructions - ~;
- in binary machine- language~. These instructions correspond `
~ ~ to the instruction~set information listed on~pàges 16, 17~ ~ -; ~and~the rear cover of the Intel ~ser's Manual. The fourth ~-column in Table~I includes four alpha-nu~eric characters psed to identify program sections or subroutines i~thi column ~
the alpha-numeric charaGters generally relate to the function : :
~performed, that is,~the letter~"S" indicates~scan, the~lettex "K" ~ , etc. The fi;fth~c~lumn of information~in Table I~
, ~ 18- ~ ~
~: , :
~ , Docket 6196 ~ Z
identifies the instructions of co:Lumn 3 in mnemonic symbolsO
Column 6 of Table I contains progra~ner's comments relating to the functions being performed.
~igs. 5, 6 and 7 show the program in flow diagram form, in which blocks having rectangular shape, i.e., S01, 502, indicate processing steps, blocks having a diamond shape, i.e., 522, 519, 541, indicate decision instructions with affirmative or yes decisions indica-ted by paths leaving the block left or right side, and negative decisions by paths leaving the 10 block bottom side, hexagon blocks 507, 562, etc., indlcate input points rom othex sheets of the program flow diagram, and romboid shaped blocks, i.e., 531, 599 indicate exit points tocther sheets. The flow diagrams are related to the program listing of Table I by the three and four digit numbers shown adjacent each decision and certain of the other blocks, i.e., the number 680 in parenthesis adjacent block 519 is the column 1 line number in Table I for the instruction(s~ -performing the indicated function.
As will be apparent from the following description in the present scale system, it is notable thatall of the operations involved in collecting tare information, weighin~
articles inputing pxice per unit weight information and dis-playing numerical and function indicating quantities in the present scale are performed in real time using only the 7nicro-computer registers and~without the benefit oI outboard orexternal storage eiements~ This scale arrangement is found to provide both a small physical size wherein all of ~he ~
electronic and display components can be mounted on a single small printed aircuit board, and a low manufacturing cost . . . :
~ocket 6196 ~5~7~
wherein the usual e~ternal registers for stol-ing input and output information are elimina~ed.
According to this real tinle mode of scale operation, the ~icl-ocomputer is connected frequently and briefly during a comm~nicating cycle to each of the input and output transducers used in the scale, i.e., the ~eyboardr the weight indicating photocells, ihe motion detecting apparatus, the numerlc display and the mode indicator lamps in the display, etc. These connections and their time duration are controlled by~the microprocessor program, and are carefully seleGted so as to provide a clear and pleasing communication to the scale user.
In order that the scale of the present invention ~e simultaneously free of external storage elements, responsive to input signal changes and capable of indicating changes to an observer within the observer's response action time, it : is desirable to~perform-the lnput and dlsplay operatin~ steps frequently, or at least with some::predetermined~mlnimum frequency.
For example, it has~been ~o~nd~that in operating~a keyboard :~ :it is impossible for-an operator to close and~release a key 2Q~ : in less than:about 20 milliseconds; in a~simllar mannerj a~ :
: ~ .
: observer dDes not distinguish~a~:light which flickers at a ra~e above approximately thirty cycles per ~second:from a continuous source. In the present~scale, these physical ~ .
characteristics~of an operatox are employed to permit a~
25:~: microcomputer having essentia}l~ one-~unction-at-one-tLme~ -capability, neverthe~lass., to perform a plurality of operator :related.functions . .
~Z~ ~: ' ' ' ~ ' :
~osket 6196 ~9 In order that operator-re:Lated functions including sensing new weight, sensing a keyboard en~ry, and updating the displa~ be possible at human reaction speeds, the program is organized into two major portions. One portion is a first loop t~nich co~unicates repeatedly, e~cites the displays, senses ~eyboard and weight inputs, performs a weight dead zone test and a ~otion test and then repeats. After performing these basic steps for a predetermined number of times, or upon receiving a data related con~and, the scale proceeds to a second or compute loop or operations wherein computati~n, data conversion and other time consuming events are performed.
The test for weight dead zone is included within the communicate loop in order that scale departure from the weight dead zone~be recognized as quickly~ as possible.~ Also, the identification of~keyboard information as a~tare weight,~
or a price per unit weight factor, is dètermined by whether the scale is within the weight dead- zone. ~The motion~test is inclu~ed~within the communi~cate loop in order that an operator act involving slgnlficant change~ OI scale platter weight be recognized-as~quickly as possible to blan~ and reset the dlsplay.
In the ~low~ diagrams, the steps and paths added~
:
to the computer program~for t~he compute cycle~are shown~in Fig. 6`including the blocks 600-9653. (Numbexs in ~he 90~0 25~ series are used to dlstinguish`from the 700 serles of~numbers in Fig. 7). Speci~:ic subroutine~details are shown in Fig. 7, ; including blocks 700-754.
, ~ -21- ~
:, , . , ' . ,... : . : :
Docket 6196 In the flow diagram of Fig. 5, the co~municate cycle of the scale is shown in bl~cks 500-59', these blocks corresponding to the program steps ~)etween lines 100 and 2280, in Table I. This cycle may be repeated in normal scale opera- -tion a predetermlned number:of times, 171 times in the pre~
ferred embodiment, before enterins the compute cycle. Each trip through ~he communicate cycle consumes approximately 5.9 milliseconds of operating time, as indicated in Fig. 10.
This time is sufficiently short to insure the capture of operator altered keyboa~d or weight infor~ation by the microprocessor.
The communicate cycle of .he sca}e commences with block 508, a point identified as line 23~ in Table I. PriQr to entering this cycle, the power on and resettlng seguence of blocks S00 and 501 are performed with~ ~he rese~ting signal of block 501 being`developed~:in the microprocessor clock. ~ :
Following this initial reset, the sequence~c~unter and update counter ~see Fig. ll)- which~respecti~ely determine the identity ; of-the infor~mation being~:displayed, and:the times the communicate 20~ ~cycle iS performed~, are set.~to::inltlal conditi.ons as shown in ~- blocks 50~ and 505. ~:The update counter is set to a ~aximum ~
-value in these:steps, so that a compute:cycl is executed :
following the.first communicate cycle:sequence. The preliminary steps also include use of~the blank subroutine at block 504 25:~ as a form of reset in preparation to readi:ng zero weight as : explained later. . ~ :
.
~ Following the placing of addres ing:and countin~:
: constants in the appropriste~::R~M registers-as indicated~by block 508~in Fi~g. 5,~the:-communicate cycle:begins at the ~, . ~ - .
~ 22 :
, . - :
Docket 6196 sequence of steps 509-518 which relate to timing the display 30, collecting weight informati~n and keyboard status. In the ar~angement of the present scale, si~nals developed by the steps 509-518 on the RAM da.a port lines Dl-D8 in Fig. 4 are used as enable pulses to simultaneously collect information into the scale ~ia the ROM 0 input port and send information ~rom the ROM 1 and ROM 2 output ports to the display.
The signals emanating from the R~M zero output port are given the n~me l'D" times, ~D relating to digits) since during certain D times one o~ the numerical displays 25-28 is illuminated. The time relation and time duration of the D times is shown in ~ig. 10. The assisnment a~ D times to output codes emanating ~rom the R~M 2ero data port is shown in column 4 of Table II. As indicated at this~column four display digits 25, 26, 27, and 28 are il1uminated~, respecti~-el~, during times D2, D3, D4 and ~5, these times being of equal length, approxlnately 715 microseconds.(Fig. ~10). ~
Prom Table II, column 4 and Fig. 10, it will also be noted that during~Dl time th identity lamps, i.e., the Iamps for ~he signs 32, 33~, 35, 36, 37 and 38 on the display, are illumina ed.~ ~Dl~ time~is made longer th~n the D2 to D5 times in order that desirable brillisnce be realized from the ~incandescent lamps used to~ illuminate the signs. ~The disp1ay numerals are preferably ~EDS. As also indicated in column 4 25~ of Table II, Ram 0 output~odes other than BCD ~alues l, 2, 3j and 4 which~are assigned to Dl to D4 ti~es, are assigne~
for inputing keyboard informatian, i.e., RAMO BCD codes of six,`seven and eight, respecti~ely.~ ~
:
~ 23- ~ ~ ~
- . . . . . . .
Docket 6196 It is to be noted in column 4 of Table II that the RAM O BCD codes of 1 through 5 enabl.e both input and output functions in the scale, the BCD code 1 (Dl time), for example, providing an enable signal for both lighting the sign lamps and for accessing status switch information. The status switches are the perfonmance selecti.ng switches or jumpers 65 in Fig. 4B. RAM 0 BCD output code of 3, D3 time, as a further example, enables the second most significant digit of the dis-play 30 and simultaneously the second most siynificant group of weight indicatlng photocells, cells E, F, G and H (Fig. 4A).
During each trip through the sequence o program steps represented by blocks 509-518 and the return through blocks 520-522, a different one of the R~M ~ero output code (Dtime signals) is generated. The D time signals actually appear upon per~ormance or ~ne bioc~ 51~siep at ine ill~tLU~-tion of line 590 in the~ program of Table I. Incrementing of the index reglster of the CPU, to produce d1fferent D times, occurs at line 650~ of Table I which is indicated at block 5i8 in Fig. 5. Details of the~Lndex registers, etc., are explained at pages 10-14~of the MCS-4~User's Manual identified above.
As indicated in Fig. 10, the D time:intervals Dl : ~hrougn D5 are separated from each adjacent D time interval by a time of approxlmately 125 microseconds, this time being used to change the data sent to the display. As described, the starting of a I~ time signal is indicated at block 515 i~ :~
~ Fig. 5, while the stopping of a D~time signal occurs at black~511.
~.
, ~:
:~
. ~ -~ : -24- :
Doc' et 619 6 ~ 7 ~
Since the lntensity o~ light generate~ by both the numeric digit indicating devices 28, etc., a~d the word indicating signs depend up3n the multiplex ~atio of on-to-o~f tim_s f~r a display el~ment, it is desired that these e]ement.s be in the "on" condition rOr the largest possible percentage o' the display o~erating time. Restating this proposition, it is desirable for each of the bl~c~s D 1, etc., in Fig. 10 to be as long as possible in order that the peak current needed to drive the ~isplay elements to a given luminous intensity be as small as possible. There is of course a trace-o'f between time and peak current in multiplexed incancescent and light-emitting diode-lu~inous sources.
In order to stretch ~he duration of each of the D~l through D 5 times beyond the time needed~for executing lS~ the related~-central proc~essor instructions, a time wasling se~uence (steps 520-522) is included in the return path 513 for D time generation. By means of thls waste-time~sequence, each of the pulses D1 through D5 generated in the block ~ ~ S09-518 sequence is lengthened. By way Gf the loop 516, the duration o the Vl time pulse is made-longer than any of the subsequen~ D2 to~D5 pulses, such that luminous i~ntensity of the i~ndicator~signs 37, etc., which are illumin~
ated by incandescent filament lamps appear similar to the :
intensity~ of the~ light emittlng diode elements used in the numeric displays.
The decision~of block Sl9 indi~cates that the D6 pulse of Fig. 10 has been de~eloped by the;block 509-S18 ~sequence. Atthis time the~sequence of steps ~2~-52~9 which develops the pulses D7 ~and~D8 is comme~ced.~ The~D7 to Dg :
,.
:
.
., - . ,, . . :
~O~ ~ 7 Doc};et 6196 pulses are e..lployed for reading in~ormation from the sc~le keybo2rd and are m~de short in duration so that as much as possible of the a~railable con~unicate c~cle time be devoted to the displa~ intensity controlling Dl through D5' times.
S As indicated in ~ig. 10, tr~r_ D7 an~ Dg' times are not separated Dy the aata set up time required between the other D time pulses; ~s also indicated in ~ig. 10, the ~8 time pulse is longer than either of the D6 or D7 pul5es, the D8 pulse being turned "on" in the normal manner but ,allowed to re~nain "on" until reset dur1ng the next following cycle. The duration of the Dg pulse is therefore, determined by the time required to complete the communicate cycle steps following D tlme generation, i.e., the steps down to block 597 in ~ig. 5.
On each trip through the sequence of steps 524-529 15~ for generatLng the D7 and 1~ timing pulses, the~possibility that a key on the keyboard l5 in Fig. 1 has been closed by , the o?erator is oonsldered. Xey closure~s ln~the present system are first discovered~during communicate cycle operation and are stored temporarily as one bit of information in the twelye Dit storage field at RAM location 21 tQ 23 (Fig. 11).
This one of twelve key indication is decoded~to a numeric ~;
value ana~tested~for possible~errors during compute cycle~
operation of the system when the time needed for a multi-step decoding procedure can be afforded. Rep~tition of this ~- . ~ , . , decoding procedure in each,c:o~municate cycie would of course' , keep the microcompu~ter away ~from the display l~ghting steps for a larger percentage of that cycle operating time and reduce display intçnsity~ The~finding of a closed ke~ at blook 524, whloh correspond~s~with;the JCN~ test of line 700 26~
~ocket 6196 ~ 7 ~
in Table I, provld~s access by the path 533 to the keyboard st2tus sequence at steps 532-549. In the keyboard status sequence, status ~ord A is used to determune when a key closure rlay be safely regarded as authentic information, such deterlr.ination being made after three consecutive co~unicate cycles find the ~ey closure to eY.ist. A count of two in the ke~board "statu5 ~" word indicates three consecutive scans of a closed ~ey have occurred Status word A is increnlented at block 539 each consecutive time ~0 the test of block 524 finds a key closure. If a key should bounce to the open condition after being once closed for a block 524 test, status word A is returned to the count of zero at block 530 and a new series of three succéssive scans can commence.
': Gnce a key down~status of two is~sensed~at bl~ck 534, the input memory key~contents at~R~M locations 21-23 `~ tFig. 11) is known to be valid and free of key bounce errors and therefore'usabIe in the display or in computa~
~tion. The keyboard information is actually re~d into the temporary storage RAM locatLons 21-23 at block 517'durinq~
D6~ D7j and D8 ~times, respectively.
The presence of ~alid keyboard information in RAM
input memory is signified by setting of~ a second keyboard ' ~stàtus word,~"status B" to preclude a second reading of~
'$ the closed key. Keyboard status B is set at block 530 following a trip through the blqck 532-549 sequence wherein verified key data is found. On~successlve ~rips through the keyboard status loop~commenclng at block 532,~th~e test of .
. ~ . . . . .
. .
L7~
Docket ~196 block 541 will activate t~-e path 546. Once verification of the }~eyboard information has occurrecl at block 534 the path through block 542, along path 543 is used for communicate cycles until the steps of ~lock~ 548 and 549 are reached and initiate a compute cycle to aecode and store keyboard information. The key down status C of block 5~9 is sensed during a compute cycle to initiate keyboard data decoding.
Once a co~.pute cycle has~accepted the keyboard lnformation, a key down status B flag is set. Testing of this key down status B at blocks 542 and 541 precludes keyboard activity during subsequent co~unicate cycles until a no key closed condition occurs. During the cycles which occur while an already sensed key remains closed, the paths out of the righthand si6e~of blocks ~53~ and 541 are~used~along with lS the path 546. ~ .
- Once valid key closure is established but the key has t been~read ln,~the path 543 is used to examine for the , closed key~being a clear~key CE or total key TOT. Pt;blocks ~540 and 544 clear key~c~losure is tested, ~he finding of a ~ 20~ closed clear key resultins~in setting the update~counter to - ; maximum in order that an aborted compute cycle~ follow immediately;
If the clear-key is found in the open state at block 544~, the total key~status is accessed and read as indicated in block 545 and 547 to determlne lf a total -~ 25 key entry was made and`sensed-duri;ng a previous-compute . : ; , , ` ` cycle. If- the total key ~status is set, an exit: along the ~path 526 occurs, 5uch~exit~precluding the setting of~ the 28~
s~
Docket 6196 upda e counter ln the CPU to a condition that will precipitate a compute cycle and also precluding the writing of key down "status word C" in block 549. Absence of ke~board status C
signal prevents any entry of keyboard information on subse-quent cycles of the scale. It should be noted, thereore, th2t whenever a total key status is set as sensed in the block 547, exit along the path 5~6 occurs so that no';further infor~
' mation can be read from the keyboard by reason of the status ; 10 C of block 549 having not been set. Moreover, it should als'o be noted that the clear key is not a~fected by the block .
547 total key status, since the clear key pro~essina of block 540 and 544 occurs ~rio~ to the total key status steps of 545 and 547.
In connection with the sequence com~encing at block 532, once a determlnation is made that a key~has remained closed for three successive~short cycles, the , status word C is set and~the update counter preconditioned to assure a compute cycle is immediately executed (assuming
2,0 the key is a number~key). This arrangement wherein the key~
board data has priority over'the,other steps assures keyboard , in~ormation will be aaptured before its disappearance. This ~keyboard priority arran~ement,further implements the~present scale concept thatc~l processing will~'be done in real time ~i 25-,~without the aid of data storagè outside the computer. ~
-- Once the keyboard steps~are ~ompleted at biock ~530, a sequence is perfcirmed ~o determine whether a price per unit weight number should~be retained or erasedj and whether a tare num~!er~should be~retained or erased. ~The : , ,' :: ;
: : - ~: ~ : : :
~5~7~
Docket 619G
criteria is that price per unit weight entries are to be erased or inhibited so long as the scale is within the ~eight dead zone, i.e., scale reading below 0.02 pounds, and tare entries are to be erased when the scale returns to the weight dead zone following computation of total value.
In other words, if the total key status is set/ then resetting of ~he tare entry with chart positions in the weight dead zone is desired. The weight dead zone clear price and clear tare entry steps are shown com~encing at bloc~ 551 in Fig. S
and e~tend up to block 567.
In block 551, data representing the contents ; of the two most signiflcant weight indicating tracks on the scale chart, i.e., the tracks labele~ "M" and "N" in U. S.
patent No. 3,557,353~mentioned above) are access~ed~and lS examined at block 552 to determine~if the scale is within~ ~
the weight dead zone, e.g., below 0.02 pounds as an example.
The results of the weight dead zone test is identified with -a status word at bloc~555 and tested at block 5~57 with the clearing of prlce per unit weight entry~-accurri~g as indicated -at block 558 a~nd the~;reading, testing~and clearing of the~
~` tare status and tare~memory being indicated~at blocks 559, `~
560, 561 and 564.~
Following completion of the price per unit weight ~ ~and tare èntry clearing,~the motion test sequence of blocks ;
`~25 567-578 is performed, the sequence resulting in resetting ;the seguence counter, i~.e., the counter which determines whethe~r weight, price :per ~mi:t weight,~ or ~total value in~
~formatlon is aisp1ayed and~blanking the display as indicated Docket 6196 in the blocks 572 and 574. This resettin~ assures a minimum time of displaying information following motion cessation as explained later in the compute cycle oper-ation. The motion sequence of steps commences with the reading and testing of the motion inhibit status in block 567 and block 568 to determine wh~ther a motion detect operation should be performed or omitted, ~he present scale excludes the motion testing se~uence for some time interval following a keyboard entry, in order - 10 that scale vibrations resulting from operator mo~e-ment of the keys not result in a false motion indica-tion. The motion read inhibit status of blocks 567 and 568 provides this motion testing exclusion in re-sponse to a keyboa~d input, the motion read inhibit status is set at block 538 in the program sequence. :
. If a motion test is to be per~or;med,~the motion signal which passes through'inverter 58~(Fig. 4Bj ~: is regarded as ~a status slgnal:in the microprocessor, is accessed and tested,:blocks 569 and 570, with an :
affirmative'indication of chart motion:resulting in the setting~of a motlon indicating flag at block 571.
~ . Failure to detect motion causes flag reset at block 575, if the motion signal~-is sensed~: the sequence counter at memory position O o~ the RAM i:s reset to the pounds indicating mode (see'column 1 of Table II)~
at block 572.
... .
-:
~ 31- . : :
-: . ~ ~ ` . ' Doc~et 6196 ~O9~
Blin~in~Flashing Display Commencing with bloc]c 578 in ~ig. 5 and continuing up to block 595, there is sho~n a sequence of steps whlch is used to achieve both blin]cing of the negative sign which is displayed with the tare weight indication, and flashing of the total price indication when the scale is in the total price or value dlsplay mode. It is to be noted that these blin~ing and flashing operations are in the present scale achieved in the microcomputer rather than being ~erformed by mechanical or electrical ti~ing arrangements. As indicated by the test at block 579, periodically the return, along path~
596 to the starting terminal of tne communicate cycle, occurs by traversin~ the blocks 580-595 rather than through the lefthand exit o~ block 579;~during this occurrence~the steps iwhich achieve the bli~clng of tare weight negatlve sign~and flashing of the total value~indication are performed.
The b11nklng~and flashing steps commence with in~
crementing and reading the Ieast significant`portion~of the update counter~in`b1Ock~57~8~ This least signif~icant portion~
is the lower~four~bits of CPU register ~15 in the~register ~20~ pair 7 update-counter~(as~in MCS-4- Manual). This lower~ four~
: . . ~ -.~bits of register 15 ls~identifled as update counter "A" in ~ block 578 while~the-most slgnif~icant bits of the update ; ~ counter, i,e.,~ regiLster~14 is identiie~-as update counter~
~' in block 587. On the~communlcate cycles wherein~the~
counter "A" of block 579 hàs-the value o~ zero, the sequence of steps commencing~wlth~block~580~is~performed. Thi~s~
sequence~commenGe~!~wlth~ accessing and testing~the sequen~ce : ~: , : .
. .
Docket 6196 , counter to determine whether a minus sign blin~ing or ~ total value flashing is to be performed, if the sequence counter indicates a value of 14 or more, then as indicated in column 1 of Table II, the scale is in either the total price or display blanking mode and the steps of bloc~ 591, 592 and 594, which provide flashing of the total value display, are to be performed. Flashing is achieved by turning the total value display off, that is, blan~ng the total value display during communicate cycles wherein the most significant portion of the update counter, i.e., CP~ register 14 or update counter "B", has a value "14". The total price display is thus turned off f~r t~Ity-twD communicate cycles whenever~the most significant half of the update~counter contains the value "14". The turning off of the total val~ue display is~ achieved~
at block 592 and 594 wherein~ the sequencè~cou~ter is addressed and arbitrarily set to a valùe of "15" which,~as indicated ln column 1 of Table II, achieves display blan)cing. The display~
blanking su~routine ~Fig.~7A) is accessed as indicated in :
~` block 594 and performed by the instruction at line 195:0: of: ::
Table I. Where the most significant half of the update .: :
counter does not contain the value "14"i the lower exit rom block 591 to block 5~95 is used. ~ `
Returning now to the test of block 581, where the CPU~sequence counter (T~able II) was tested to determine~if ~25 the scale was in the total price~ mode, if~this test indicates the total price mode has not yet- been reachedj that is, if `~ the sequence counter has a value o~ less than ''14",~ the ~righthand exit ~rom block 581 is usedj ~ and the seyuence~
: : : , : ~ ,,: . . ,,, ., - . . . . ... .
Doc)r~et 6196 ~ 7Z
counter tested for a value of 13, i.e., the price per unit ~eight mode. If the sequence counter has a value o~ less than "14", at bloc}; 5Sl ~nd is not at "13" at bloc~ 582, then it must according to column 1 of Table II, be in the slate "1.", "lG" or "12", which correspond to the tare and net ~eight display modes, wherein blin~ing of a negative sign may be desired. In the tare ~eight mode, a negative sign t~-ill alwa~s be present, and blinking is desired. In the net weight display mode corresponding to sequence counter state "12", the net weight can have a negative value if the operator has entered a tare value greater than the weight of the article placed on the scale platter.
In the present scale, it is desired that th~s.negative net weight also be clispIayed with a blinking mlnus sign.
It should be understood that ta~re;dlsplay and a negative sign appears~anytime the tare value exceeds the ~ `
platter weight reading. When tare i~s-displa~ed the sequence counter can be in any~ of the states "1", 'llO":or "12"~
. ~
Se~uence counter:state "1~" forces the scale i`nto~the welght 20~ :display cycle ~or 171 cQmmunicate cycles~prior to advancing to~the price per p:ound~mcde. Eithex sequence counter~states:
of "lO'``or "12i' allows~entry into the price per pound~mDde ~. ` se~uence counter state "13"..
`~ ~ In the test of~block~582,~if the se~uence~counter~
.~ 25 ~is found in~eith:er the tare~ r the net weight conditions, a : ~ .
righthand exit to t.he block 5~4:results and:a test for the~
`
most significant digit containing a~negative sign~is per~
formed as indicatecl at blocks 584~and~585. ~Failure to~Elnd~
a negative sign, as well~:as flnding the~sequence counter~l~n~;
30 the price per pouncl mode,:~pr~vides . a re~urn~by the.path~593 :
~to the mainstream of the~com~unicate cy~le~ :If~a:neg~ative~ ~
:
.. . .
~ ~7 Docl-et 6196 sign is found in the most significant digit ~osition ln the test of block 585, the steps which perform the blinking of the least significant digit commence at bloc~ 587. Ne~ative sign blin~ing in the present instance is achieved by blinking during the presence or a "binary 2" value in the most signifi-cant half of the CPU register pair 7 update counter. The test for most significant half of the update counter in CPU
register 14 is indicated at block 2120, a count of 2 result-ing in a righthand exit and loading of the blanking code at block 589, while a count other than 2 results in the bottom exit and loading fo the minus sign in block 588, whichever of these display indicatlons is loaded to the accumulator being displ~yed as is indicated at block 590.
Following the blink1ng and flashlng seguence, the update counter is incremented and teste~ for; thé count condition selected for initlatlng a~compute cycle,~L.e.,~a count of~zero~
in the upper half of~the update counter. ~Failure to flnd this condition results in a re~turn along path 596 to the communicate cycle starting terminal, while finding of a compute cycle~in-itiating count causes prese~tting of the update counter~atblock 598 in prep~ration~for the nèxt~sequence of communicate . cycles, this presetting is selected to provide approximately ~ ;
~ ~ ` one second of time elapse between succe~ssive compute cycles.
`~ ; Summary-Cormun1cate~ ~cle ~ The events included in the scale~communicate cycle are as follows: ~
1. Generation of D t1mespulses for welght, keyboard anù status input and ~or~numeric~and ~ word clisplay output, ~ ;
30 ~ 2. Keyboard contact bounce exclusion and - reading time electlon, ;~
Docket 6196 ~ 5~7 ~
board data has priority over'the,other steps assures keyboard , in~ormation will be aaptured before its disappearance. This ~keyboard priority arran~ement,further implements the~present scale concept thatc~l processing will~'be done in real time ~i 25-,~without the aid of data storagè outside the computer. ~
-- Once the keyboard steps~are ~ompleted at biock ~530, a sequence is perfcirmed ~o determine whether a price per unit weight number should~be retained or erasedj and whether a tare num~!er~should be~retained or erased. ~The : , ,' :: ;
: : - ~: ~ : : :
~5~7~
Docket 619G
criteria is that price per unit weight entries are to be erased or inhibited so long as the scale is within the ~eight dead zone, i.e., scale reading below 0.02 pounds, and tare entries are to be erased when the scale returns to the weight dead zone following computation of total value.
In other words, if the total key status is set/ then resetting of ~he tare entry with chart positions in the weight dead zone is desired. The weight dead zone clear price and clear tare entry steps are shown com~encing at bloc~ 551 in Fig. S
and e~tend up to block 567.
In block 551, data representing the contents ; of the two most signiflcant weight indicating tracks on the scale chart, i.e., the tracks labele~ "M" and "N" in U. S.
patent No. 3,557,353~mentioned above) are access~ed~and lS examined at block 552 to determine~if the scale is within~ ~
the weight dead zone, e.g., below 0.02 pounds as an example.
The results of the weight dead zone test is identified with -a status word at bloc~555 and tested at block 5~57 with the clearing of prlce per unit weight entry~-accurri~g as indicated -at block 558 a~nd the~;reading, testing~and clearing of the~
~` tare status and tare~memory being indicated~at blocks 559, `~
560, 561 and 564.~
Following completion of the price per unit weight ~ ~and tare èntry clearing,~the motion test sequence of blocks ;
`~25 567-578 is performed, the sequence resulting in resetting ;the seguence counter, i~.e., the counter which determines whethe~r weight, price :per ~mi:t weight,~ or ~total value in~
~formatlon is aisp1ayed and~blanking the display as indicated Docket 6196 in the blocks 572 and 574. This resettin~ assures a minimum time of displaying information following motion cessation as explained later in the compute cycle oper-ation. The motion sequence of steps commences with the reading and testing of the motion inhibit status in block 567 and block 568 to determine wh~ther a motion detect operation should be performed or omitted, ~he present scale excludes the motion testing se~uence for some time interval following a keyboard entry, in order - 10 that scale vibrations resulting from operator mo~e-ment of the keys not result in a false motion indica-tion. The motion read inhibit status of blocks 567 and 568 provides this motion testing exclusion in re-sponse to a keyboa~d input, the motion read inhibit status is set at block 538 in the program sequence. :
. If a motion test is to be per~or;med,~the motion signal which passes through'inverter 58~(Fig. 4Bj ~: is regarded as ~a status slgnal:in the microprocessor, is accessed and tested,:blocks 569 and 570, with an :
affirmative'indication of chart motion:resulting in the setting~of a motlon indicating flag at block 571.
~ . Failure to detect motion causes flag reset at block 575, if the motion signal~-is sensed~: the sequence counter at memory position O o~ the RAM i:s reset to the pounds indicating mode (see'column 1 of Table II)~
at block 572.
... .
-:
~ 31- . : :
-: . ~ ~ ` . ' Doc~et 6196 ~O9~
Blin~in~Flashing Display Commencing with bloc]c 578 in ~ig. 5 and continuing up to block 595, there is sho~n a sequence of steps whlch is used to achieve both blin]cing of the negative sign which is displayed with the tare weight indication, and flashing of the total price indication when the scale is in the total price or value dlsplay mode. It is to be noted that these blin~ing and flashing operations are in the present scale achieved in the microcomputer rather than being ~erformed by mechanical or electrical ti~ing arrangements. As indicated by the test at block 579, periodically the return, along path~
596 to the starting terminal of tne communicate cycle, occurs by traversin~ the blocks 580-595 rather than through the lefthand exit o~ block 579;~during this occurrence~the steps iwhich achieve the bli~clng of tare weight negatlve sign~and flashing of the total value~indication are performed.
The b11nklng~and flashing steps commence with in~
crementing and reading the Ieast significant`portion~of the update counter~in`b1Ock~57~8~ This least signif~icant portion~
is the lower~four~bits of CPU register ~15 in the~register ~20~ pair 7 update-counter~(as~in MCS-4- Manual). This lower~ four~
: . . ~ -.~bits of register 15 ls~identifled as update counter "A" in ~ block 578 while~the-most slgnif~icant bits of the update ; ~ counter, i,e.,~ regiLster~14 is identiie~-as update counter~
~' in block 587. On the~communlcate cycles wherein~the~
counter "A" of block 579 hàs-the value o~ zero, the sequence of steps commencing~wlth~block~580~is~performed. Thi~s~
sequence~commenGe~!~wlth~ accessing and testing~the sequen~ce : ~: , : .
. .
Docket 6196 , counter to determine whether a minus sign blin~ing or ~ total value flashing is to be performed, if the sequence counter indicates a value of 14 or more, then as indicated in column 1 of Table II, the scale is in either the total price or display blanking mode and the steps of bloc~ 591, 592 and 594, which provide flashing of the total value display, are to be performed. Flashing is achieved by turning the total value display off, that is, blan~ng the total value display during communicate cycles wherein the most significant portion of the update counter, i.e., CP~ register 14 or update counter "B", has a value "14". The total price display is thus turned off f~r t~Ity-twD communicate cycles whenever~the most significant half of the update~counter contains the value "14". The turning off of the total val~ue display is~ achieved~
at block 592 and 594 wherein~ the sequencè~cou~ter is addressed and arbitrarily set to a valùe of "15" which,~as indicated ln column 1 of Table II, achieves display blan)cing. The display~
blanking su~routine ~Fig.~7A) is accessed as indicated in :
~` block 594 and performed by the instruction at line 195:0: of: ::
Table I. Where the most significant half of the update .: :
counter does not contain the value "14"i the lower exit rom block 591 to block 5~95 is used. ~ `
Returning now to the test of block 581, where the CPU~sequence counter (T~able II) was tested to determine~if ~25 the scale was in the total price~ mode, if~this test indicates the total price mode has not yet- been reachedj that is, if `~ the sequence counter has a value o~ less than ''14",~ the ~righthand exit ~rom block 581 is usedj ~ and the seyuence~
: : : , : ~ ,,: . . ,,, ., - . . . . ... .
Doc)r~et 6196 ~ 7Z
counter tested for a value of 13, i.e., the price per unit ~eight mode. If the sequence counter has a value o~ less than "14", at bloc}; 5Sl ~nd is not at "13" at bloc~ 582, then it must according to column 1 of Table II, be in the slate "1.", "lG" or "12", which correspond to the tare and net ~eight display modes, wherein blin~ing of a negative sign may be desired. In the tare ~eight mode, a negative sign t~-ill alwa~s be present, and blinking is desired. In the net weight display mode corresponding to sequence counter state "12", the net weight can have a negative value if the operator has entered a tare value greater than the weight of the article placed on the scale platter.
In the present scale, it is desired that th~s.negative net weight also be clispIayed with a blinking mlnus sign.
It should be understood that ta~re;dlsplay and a negative sign appears~anytime the tare value exceeds the ~ `
platter weight reading. When tare i~s-displa~ed the sequence counter can be in any~ of the states "1", 'llO":or "12"~
. ~
Se~uence counter:state "1~" forces the scale i`nto~the welght 20~ :display cycle ~or 171 cQmmunicate cycles~prior to advancing to~the price per p:ound~mcde. Eithex sequence counter~states:
of "lO'``or "12i' allows~entry into the price per pound~mDde ~. ` se~uence counter state "13"..
`~ ~ In the test of~block~582,~if the se~uence~counter~
.~ 25 ~is found in~eith:er the tare~ r the net weight conditions, a : ~ .
righthand exit to t.he block 5~4:results and:a test for the~
`
most significant digit containing a~negative sign~is per~
formed as indicatecl at blocks 584~and~585. ~Failure to~Elnd~
a negative sign, as well~:as flnding the~sequence counter~l~n~;
30 the price per pouncl mode,:~pr~vides . a re~urn~by the.path~593 :
~to the mainstream of the~com~unicate cy~le~ :If~a:neg~ative~ ~
:
.. . .
~ ~7 Docl-et 6196 sign is found in the most significant digit ~osition ln the test of block 585, the steps which perform the blinking of the least significant digit commence at bloc~ 587. Ne~ative sign blin~ing in the present instance is achieved by blinking during the presence or a "binary 2" value in the most signifi-cant half of the CPU register pair 7 update counter. The test for most significant half of the update counter in CPU
register 14 is indicated at block 2120, a count of 2 result-ing in a righthand exit and loading of the blanking code at block 589, while a count other than 2 results in the bottom exit and loading fo the minus sign in block 588, whichever of these display indicatlons is loaded to the accumulator being displ~yed as is indicated at block 590.
Following the blink1ng and flashlng seguence, the update counter is incremented and teste~ for; thé count condition selected for initlatlng a~compute cycle,~L.e.,~a count of~zero~
in the upper half of~the update counter. ~Failure to flnd this condition results in a re~turn along path 596 to the communicate cycle starting terminal, while finding of a compute cycle~in-itiating count causes prese~tting of the update counter~atblock 598 in prep~ration~for the nèxt~sequence of communicate . cycles, this presetting is selected to provide approximately ~ ;
~ ~ ` one second of time elapse between succe~ssive compute cycles.
`~ ; Summary-Cormun1cate~ ~cle ~ The events included in the scale~communicate cycle are as follows: ~
1. Generation of D t1mespulses for welght, keyboard anù status input and ~or~numeric~and ~ word clisplay output, ~ ;
30 ~ 2. Keyboard contact bounce exclusion and - reading time electlon, ;~
Docket 6196 ~ 5~7 ~
3. Price per unit weight and tare memory clearing in response to 1~eight withi~ the weight dead zone,
4. Initiation of new scale and display sequence in response to platter motion,
5. Blinking and flashing of selected - display quantities.
In the present scale, the communicate cycle which is repeated frequently, àt about 5.9 millisecond interval~, is limited to the ~ewest possible number of functions in order that its duration be as short as possible and the above listed events which relate to the inputing and outputing ~i.e., communication) of new information, be repeated as often as possible and with sufficIent frequency to assure . an operator~'s visual and manual capabilities are accommodated.
- In a similar manner, the initiation of computation events at spaced intervals is in keeping with the limited need for new computation information to pre~ent operator confusion.
~ ~ Computè Cycle - 20 ~ The compute cycle is~in reality a plurality of ; program paths which arè alternately follGwed depending upon conditions encountered. ~
~When the~ CPU display up~ate counter reaches a condi-~ tion of all zeroes as a result~of the soale~-having performed~the predetermined nun~er of communicate cycles, i.e., 171 in the preferred embodime~n~, or as~a result of presetting this update~
. ~
counter, the decision~o~block 597 in Fig. 5B will enable~the~
path~586 to the bi.ock~598~which commences~a compute~;cycle o~ ~
; ~ scale-operation.~The~all~zero~condition~in~the~update counter ~ ;
30` may result from~presetting instructions~such~as block`SOS, where the update c:ounter ~is~pres~et to maximùm to~in~u~e a ~: , :
~ 36- ~
Docket 6196 compute cycle occurs following the first co~municate cycle after scale turn on, or block 548,wherein ~he update counter is preset in response to a determination that valid keyboard data is available and should be sampled quickly before the o~erator has time to release a depressed key. The update counter is also forced to a maximum condition as indicated at block 651 and at other locations in the program as ex-plaine~ subsequently. .:
It should be noted that upon.co~mencing scale operation at block 500 in Fig. 5, the update counter at block 505 is immediately forced to a condition which will initiate a compute cycle so that following one trip through ~" ~ the communicate cycle of '~ig. 5Aj the path 586~will.be ~.
~ employed and a compute cycle follow. ,The initial~step of , , this following compute cycle .lS of course,;lndica~ed'by :block 598 where the update counter is.preset to:a low , .value which will cause~repeàted trips throu~h the ~ig. 5A - :' :
communicate~cycle sequence upon completing~the block 505 : initiated first trip through a compute cycle.~ Re~tatiny 20::~ tnis concept, i~ can be.said that following any trip ' . through~a compute cycle:;~sequence in Fig. :6, the scale wil~
.
.execute:a predetermlned number of communicate cycles unless~
:~ interrupted by- the appearance of neW input: inf ormation .
.: . As indicated previously, the overall philosophy~
, 25 :of~the present sca.le is to relegate to:a compute cycle~as :' -: , . .
' . much of the scale ope~ating sequence as possib}e while - ' ': .
; :
, ~ retaining in the oommunicate cycle ~the.capability for : meeting new d,ata i:nputs and the~real time.displiy;requi~rem~s.
- - . , Doc}~et 6196 ~9 In accordance with this philosophy, the program steps of the compute cycle are provided with capability for performing keyboard code conversion and che~king, weight range testing, weigh~ signal code conversion, tare weight subtraction, most significant zero blan~ing, weight times price per unit weight multiplication, and total price rounding functions. At several points in each of:the:possi~le compute cycle sequences, provision is made for aborting~a compute cycle and returning to the commencing point of the communicate cycle:in response to ~n operator omission and certain other events. ~ As indicated at block 651 where all of the compute cycle aborting~ paths terminate, durin~ the abort sequence the update counter is set to a maximum condition before returning to.the communicate cycle terminal point in order that a new~compute cycle will immediately ollow the next communicate cycle.~
Fig. 8 of the drawings shows the program flow dia- -grams of Figs. 5, 6 and 7 in a simplified form~herein the interrelation between:functions in the scale~operating se-.quence can be ~dlscerned.~ De~ails of the scale operation ~20~ ~ including:many-o t~e compute cycle abort~polnts and error ~
:condition-'responses:are omitted from,Fig. ~ for simpl1:fying `the ove~all view presented therein. The following.compute -cycle description thus~makes pximary reliance on diagrams o~ :
.
Figs. ~, 6,~and 7 and the~program listing;of Table I:. Reference, to Pig. 8 is made during the initial description of an operat-ing sequence~and thereafter only ~as:needed to indicate ~ .;
interrel-atlonships. ~
.~
.
~ 38~
~: - - : - ., .
- .: : - ~ : , ~ : ' . . . ~ . ~ . .
~5~.7~
~oc}~et 6196 In Fig. ~ the nun-~rs S02-8~0 are used .in the customary manner to identify blocks in ~e flow diagram while numbers enclosed in parentheses, i.e., the numbers 630 at block 820 and ~e number 9629 at block 864, relate the Fig. 8 flow diagram blocks to blocks in the more detailed flow diagrams of ~igs. 5, 6 and 7. Only major decision points in the program have been indicated, blocks 822, 852, 86~, etc. The decision made in each of these blocks is indicated along the path leading from the decision block in lieu of the more formal indication within the decision block as shown in Figs. 5, 6 and 7~. ~
In fig. 8,~the paths identi-fied by the numbers 843, 845, 847, etc., indicate a selected one of the~compute cyc~e operating s~quencas in the present scale~. The-nun~er 843, for example, in~icates the~ decisions and functions which ;
occur when the scale has been sitting in the unused condition~
and a ~eyboard key is~pressed for the~purpose of entering - ~ a~digit of tare weight inonnation. Line 845 in~ Fig. 8, as another example, i~llustrates the sequence occurring aftèr 20 ~ tare inform~tion has been;received by the scale, that is the sequence which causes~an~ entered d~g~t of tare ~nformation - to be illumlnated on the ~display 2Q ~Figs. 1 and 4C). In a similar manner, t~e lines 847 and 849, respectively, ind~cate the sequence of steps followed through the~flow charts of Figs. 5, 6 and 7 and the-~Table I listing in order that digits-: ~of w eight be di.spla~ed~and a total key entry be~recei~ed -into the computer.~ ~
:
~39 ; ~
' ' -'' , . . ; -: .
D~c~et 6196 Retu1-nins to the line 8~3 in Fig. 8, it will be noted that if a tare entry is to be made, then immediately following the con~unicate c~cle at b:Lock 802, the keyboard related steps of blocks 804, 808 and 810 are to be perlormed.
As indicated by the parenthetic n~m~ers associated with these three ~;eyboard related blocks, the keyboard steps are de-scribed in detail by blocks 604-619 in Fig. 6 of the drawings.
To describe the path 843 sequence, ea~h of the major events along path 843 is described brie~ly com~encing with the key-board sequence.
Key Decoding During the communicate cycle, the sequence of eventsrepresented by blocks 532-549 was employed~to determine whether a key closure sensed at block 524 should be read into the system, ignored for being in a bounce~condition, or ignored for having previously~been read ~i.e., the status A
status B and status C tests of blocks ~34-549). If the key closure sensed~at block 524 is found acceptable for computa-tion purposes, the block~532-549 sequence terminates with the - 20 setting of a~flag~signal called "status C" at~block 549~to tell the next compute cyclè, provoked~at-block 548, that a key read-ing sequence should be performed. Commencing at block 601 in ~- Fig. 6A is the~key reading sequence which result fro~ the de-cision-of blocks 548 and S4-9.~ This~key -reading sequence com~
mences with loading~and testing key down status C flag,~blocks 601 and 604, the status test~of block 604 providi~g a ~ump around the keyboard~reading sequence along path 603 for compute cycles whi~ch~have been initiated~by something other ' L:oc};e t G19 6 ~ S~7~
th~n sensing ~e~r closure at bloc~ 524. Such compute cy~les c~n be initiated by performing 171 communicate cycles, or by the events of blocks 505,651, etc., wherPin the update counter is forced to a compute cycle initiating conditlon.
Just prior to testing the key down status C signal to determ~ne if keyboard information processing is to be performed, the motion read inhibit status is placed in the "one" condition as indicated at block 602, in order that motion testing not be performed for some time interval following a keyboard actuation. It has been noted that keyboard actuation is capable of initiating vibration and resulting ~alse motion signals. The status bit which is set in block 60Z is effective : durins the next subse~uent communicate cycle at block 567 and 568 to inhibit motion signal testing. -The motion read inhlbit~
status is reset at block 602~following execution of the lnter-:
vening program steps which provides the desired motion detect inhibits time of approximately 730 milliseconds.
If the key~down status ~ tes.t of block 604 ~Lndicates ~ that the reading of key: information.is ~appropriate, the status C flag is reset, block 605~ the addressing constant for key reading placed in-~memOry, block~607, and the~instructions~ at ~ lines 2430 and 2630 in Table I and the sequence of key reading steps 608-611 commences. In the.steps 608-611, the key ~ memory at locations 21,:22 and 23:in RAM "0" is examined, one .memory location du:rlng each trip~ through the 608-611-stepsj-to find the single bit of information among the:twelve bits~
stored indicating~that:~a ~ey has been closed. ~As shown~in ~ -Fig. 4A the keyboard is wired sùch that:during D-6 time: .
intervals, power i~s applied to the:first~column~of~keys : :
~: . : .
:
~ -41- :
Docket 6195 (numbers 1, 4, 7 and CE), these being assi~ned key numbers of 1, 2, 3 and 4, respectively. The powered circuit is labelled XYBD. St. A. During the D6 time pulse, each of the four key~oard output lin~s B0-B3 is examined for being ln the powered state, indicating a :key closure~
. During one of the D6, D7 or D8 keyboard sensing .
times, a signal will be found on one of the four keyboard output lines if a key has been depressed to make the connec-tion between a D time input signal line and an output signal . ~ 10 line. The block 60%-611 sequence repeats via the path 606 until a closed key is found, whereupon the righthand exit .
from block 609 leads to the sequence for testing and conver-t-ing the key closure signal to BCD~ form. The lower exit from block 611 provides a safety exit from the block 608-611 sequence as5uring no progr~m hang up wil~ occur ~n the event a noise pulse or other unpredicted event allows entry into the blocks 608-611 sequence without a keyclosure actually existing.
. The conversion of key closure information-ro~ the form of one binary bit of a possible twelve bits in key memory, - (RAM locations 21, 22 and 23 in Fig. 11) to a BCD coded word . . . representing a number on the keyface of Fig. 3 is performed in a plurality of steps whicl- commence with the finding of a closed key indication at block 609. These steps involve adding to the memory bit number which contains the closed key indication, a conversion constant having a value of zero, four or eight in accordance with whether the key being converted is located in the first, secolid or third keyboard column (ST. ~/ B or C) in Fig. 3, and then using this summation of bit n~er nnd ' ' ~ .
. . . . .. . . .
Docket 6196 conversion constant as the ad~ess for a table look up operation in the table at line 5010, Table I. For example, if the operator has pressed key 8, the binary signal rep-resenting closure of this key is stored in bit position 3 5 of I~ location 22 and therefore has a bit number of three.
Since the key 8 is located in the second column, a numerical constant of four is added to this bit number of three to provide ~ table look up address of seven as indicated at line 5080. A look up address of seven provides BCD outpu~
of eisht which corresponds with the keyface numeral.
By way of a second example, the numeral six in the third column of the Fig. 3 keyboard is stored at bit two of R~M location 23; by adding this nu~,ber two to a conversion constant of eight, a table address of ten results. As indi-c~.ed at line 5110 in Table I, address 10 provides a key output of BCD six as deslred. In the flow diagram of Fig. 6, the constants ~ero, four and eight are developed at block 610 by the instructlons al line 2780 and 2790 of Table I.
The conversion from bit position to key number, i.e., the conversion from a one bi~t in the third memory position, from the first example above, to a key number position is performed at block 616~ The addition of a correcting constant is inaicated at block 618 and the table look up operation is set at block 619.
The~conversion of block 615 employs the KBP
instruction at llne~2900,~ Table I. This instruction, as indicated in the Intel U5ers Manual, provides an error signal (BC~ 15) if two ~ey closures in the same key memory :
3~
Docket 6196 ~09S~2 word (the same keybo2rd colu~n in Fig. 3) are detected. Thetest of block 617 is responsive to this KBP instruction error indication and pro~ides a compute cycle abort along the le~t-hand exit from the b~ock 617, ic the o~erator has erroneousl~7 closed more than one ~ey in any vertical column of the keyboard.
~ Error If the operator should close two ke~s in the same horizontal ro~ in Fig. 3 r for example the 8 and 9 keys, the keyboard sequence ~ust described will respond to the first encountered key, i.e., the leftmost of the two closed keys r and will ignore the rightmost of the two closed keys. It should be noted, howe~er, that the keyboard status sequence commencing at block 532 in Fig. 5 will not permit the second of two closed keys in the same hori7Ontal~row to be read as data since the~finding of a key open condltion mus- precede the sensing-of key closure if the key status B and~C signals of blocks 542 and 549 are to be set. This arranyement of .
ignoring the rightmost of a horizontal~two key closure and requi-rins~a no key~condltlo~n immediatley preceding the reading ~Z~O of any key~closure~provldes~key roll over-protection in the - keyboard horizontal~rows~wh1le the prevlously mentioned com pute cycle~abor~t, commencing at the lefthand exit of block 617, provides key roll over protection in the keyboard vertical columns. It is also to~be noted iD the above sequence that 25` the CE and-TOT are regàrded in the program~equence as numeric values and provide numerlc outputs of~ 11 and 12 in the line 5010 con~erslon~table. These numerlc~values are interpreted as the dlear~entry and tv~tal ~unctions at the appropriate poinl; in the~program.
~ 44-~
Docket 6196 Tare Inhibit Continuing now with the description of e~ents along the tare entrv path 843 in Fig. 8, if tare is being entered the scale chart is in the weight dead ~one so that the lower exit from block 621 (bloc]c 621 appears in both Fig. 6 and Fig. 8) is employed, and the tests of blocks 624 and 625 accessed to determine if the tare inhibit jumper 65 in Fig. 4B indicates tare capability is to be omitted from the present scale. Presence of the jumper 65 indicates tare omit and results in a lefthand exit from block 625.
If the tare inhibit jumper is absent so that storage of the decoded keyboard digit as tare is desired, the tare memory is addresse~ for later use, block 627, the key`number read in, block 628, the key tested for being a total or ~lear key blocks 630 and 631, then the least significant digit contents of the~tare memory shifted to the second significant position and the key number entered into the least si~nificant~position, blocks 632 and 634.
~ Finding of a total key a~ bloc~ 630~results in a jump around block 632 and 63~ while finding a clear key at block 631 not only~av~ids~the~entries of block 632 and 634 but al50 initlates the clearing and compute cycle aborting steps of blocks 637 and 638.~
` Compute cycle ~borting, which is usually done ; ~5 as the result of an~operator~ac~ion, includes within the abort sequence se1;ting the update counter, register pair 7, to .
a maximum conditlon. This preloading in the abort se~uence assures that a new compute cyc~le will comm~nce i~ediately : :
~ -45- ~
Doc:}~et 6196 ~0~S~
aft~r ihe communicate cycle which ~ut~matically follo~s a compuLe cycle abort. The concept of ab~rting upon finding an undesired or oYerriding condition in the compute cycle minimizes time the computer spends outside the display driviny communicate cycle, since the c~mpute cycle steps following the improper or overriding condition are not performed. It is to be noted that just prior to leaving each com~l~nicate cycle initiated by an aborted compute cycle, the update counter is preset, at block 598, to cause repeated communica~e cycIe executions once a compute cycle is successfully completed and the display information thereby updated. Most compute cycle abort events return to the starting terminal of the communicate cycle at block 500, however, the abort of blocks 637-639 returns instead to block 562 in the communicate cycle tare-clear sequence in order that a "D" time display sequence not fol~low a clear entry command.
ei~ht Ran~e Returning now to block 631, if neither the total .
key nor the clear key is~present, which should be the case in following the path~ 843: in~ Plg. 8, the tare functions of block 632 `and 634 are performed, the weigh~ xange test of blocks 672-678 is accessed. This test is indicated at block 826 in Fig. 8. In the weight xange test, if either -of the E and G weight chart photocells have provided data ~` : .
' : ~ .
' ~: ~ ~ : ' : ` - 4 6 ~
Doc~et 6136 bits for the weight reading under consideration, the weight chart is determined to be within its weighing capability, i.e., bet~een weiyht indications of 0.00 and 25.00 pounds for a twenty-five pound domestic scale The concept of S testing E and G weight chart photocell signals to detex-mine 7eight values within the scale range is more fully explained in U. S. Patent No. 3,557,35:3, if an improper weight indication is found at block 674 or 675, the sequence counter of the CPU ~AM location O is set to a "one" condl-tion to cause illumination of the word "weight" 32 in Fig.
2, znd the display error subroutine eY.ecuted to provide illumination of the center bar segments of the numeral displa~s. The combination of foux illuminated bar`seg-ments and the sign 32 is used to indica~e an 1mproper condition relating to weight in the scale, as was~ex-plained in the scale characteristics.
Gross Weight~Less Tare : ~
If either of the we1~ht chart E or G track photo-cells, but not bOthr lS found to be in the light condition, ~2Q indicating a proper weight~value~, the compute net weight se-quence indicated at block 8a8 and commencing~at b10ck 681 is accessed to subtract the tare weight entry~from the gross - weight reading. The compute~net weight sequence be~ins w1th~
subroutine conversion of scale chart gray co~de information -2~5 ~ into binary ooded decimal form as indicated~at~block~681.
~: - . : - :
; ~47~ ;~
~: I
, ':' ' Doc};~t 6196 ~ 9 The properties of the scale cllar. sray code and a~ example of this conversion ~y be found in U. S. patents No. 3,557,353 and No. 3,439,760, this conversion is performed in the present instance by the code conversion subroutine commencing at bloc~ 740 in Fig. 7, ~ith the use of the code conversion tabl2 commencing at line 7950 in Table I.
Once gross weight and tare weight quantities are accessed from memory, block 682, the subtraction of these t~o quantities is performed by the looped instructions 68A-687 The path 686 around these instructions provides access to successi~ely higher order digits for the subtractlon sequence until *he test of block 687 indicates all o~ the required subtraction has been performed. Since the numbers being subtracted are in binary coded decimal form, under certain lS conditions i, is necessary~that~a correction constant of 10 be included in the subtraction process. The test for this correction is indicated at~block 688 and found at line 4390 of the Table I program.
.It is, of course, possible that th:e:scale opera*or has entered intQ the scale a tare value~exceeding: the~weight~
~ ~placed on the scale platter,::in this case~the subtraction of ;
:
block 684-687:will invo~lve a subtrahen~which is larger than the minuend-~ When.a subtraction is performed under thes:e ' conditions the accumulator carry bit in the CPU is set to ~ - .
~a "one" conditlon. .The~ set~ carry bit~is sensed at block 691, and if present results::in~a.reverse subtrac~ion process and subtr~action of the origlnal~mlnuend frcm the~criginal sub- ~
trahend to obtain ~ di:f~erence~qaantity~indicatLng the amou~t by which~the tare welght~exceeds~the platter weight. This ~ ~-48~
: ~
- ~ . ~ ' :, Docl;et 6196 ~irtel-ence quantity is ultlmately displayed as a net weiyht but is, however, accompanied by a nec~ative sign indicating tare value was greater l~han the platter weight.
It shoul~ be noted that the normal displaying of a iare entry is achie~ed in the present scale by exactly the same process as described here. When tare weight display is to be accomplishe~, the tare value (the subtrahend) is greater than the weight value (the minuend), which is zero. Thus, the second subtraction is performed and the required ne~ative sign developed at block 695. For this reason in the ne~t few para-graphs of this specification where ~he tare entry of path 843 in Fig. 8 is being followed, the tare data can~be referred to as a net weight value. Addresses for performing the second ; subtraction are set at block 693 while the negatlve sign in-dicating a larger subtrahend value is set at block 6g5 in response to an indication of two subtractions having been performed in the test of block 694.~ At block 69~ a tare status flag is set indlcating whether a negative or positive net weight value has been developed~ this status flag is tested at block 9631 to prevent computation of total value with a negatlve net welght.~ ~ -Test & Load Ultimately, once net weight ~or tare) is computed,~
~ the display memory is loaded with this value, as indicated at ; ~5: ~ block 9610:, in preparation for weight disp~aying during a ;
fc)llowing communiceLte cycle. Prior to transfexring the net weight to the cllsplay memory, however, the sequence counter test of block~699 is performed to determl;ne ~f the~
scale is in the tot:al value mode~ The~possibility o~ total - : :, . ~
- : .
3L7;
n~c}~et 6196 value mode e}:ists following net weight com~utation, arising from reuse of the ~eight range test of block 672-675 for a new computation of net weight in blocks 681-6~5 during the total value mode as can be observed in Fig. ~3 from one path 5 857.
The addresses used in the transfer to display memory at block 961û are set at block 9602, and a code which determines which of the word lamps 32, 33, 35, 36, 37 and 38 (Fig. 2) are to be ilIuminated during the ne~;t subsec~uent commu~icate cycle 10 is loaded into the sequence counter as indicated by the blocks 9604-9609. The criteria for the block 9607 and 9608 test is that if the scale chart is positioned within the weight dead zone, only the word "LBS"-is to be illuminated.
This condition results when the sequence counter ls-~loaded ~ -15 with the nu~er ten, while if the scale chart ;is positionedoutside the weight dead zone, then both the words~"weight"~
:
and "LBS" (sequence code of 12) are~ desired. The selected : .-sequence code is ~placed~in the sequence counter at block ~9609 and ~the transfer ~of`~net welght to display memory per-~20~ formed at blocl~9610.- An ~inve~ted status-~ indi~ation is employed in the Table I steps relating to~ block 960~5 in order that RQM space be saved. ~
Prior to actual~ly~displayln~ the net welght or any ~other of th~e~possible values stored in the dispIay~ memory~ e., 25~ tarei price per ~pound ~or~total~value, the most-significant digit of thls qu~ntity lS tested :l~or having zero value~ in~
order that the scale comply wlth the ~common praotlce of not;displaying zeroes in the ~most significant digit position . :
. ~
r~
' '- ., ' ' ' ' ~ . ' . . ~ ~ . ,. , .: :
,, - : ~:', ': ' ' . :
- .
,' ' ' ,. ~ ,:, ' . : ,, ' ' - : , : - ' ,,, .. . ' ' ., ' , ' ~L~D5~S~ t~
Docket 6196 of any number. This test is performed at thc blocks 9612;
a zero found in the most significant position is suppressed as indieated at bloek 9615. This suppressing involves the writing of BCD code 15 in the most significant digit position as performed at line 6532 and 6540 of Table I. Upon complet--ing the most significant digit 'suppressing, which i5 indicated at block 840 in Fig. 8, a return to the eommunieate cycle eommencing point occurs as indicated at block 9617 and by the path 841 in Fig. 8. In the next following communicate eycle, the newly computed net weight will be displayed.
- If the digit of tare information entered in path - 843 in Fig. 8 is followed by a seeond tare dig1t in some subsequent coMpute cycle sequenee, even~s similar to that indieated by the path 848 oeeur.
15 ~ - In-the interval between tare digit entries or in the interval following tare digit entries, the entered digits are displayed by repeated trips through the eommuni-- cate eycle. A minimum tare display time of 171 communicate eyeles (about one second) is assured by the sequence counter being set to a count of "one" condition at line I690 in ` Table I, block 572 in Fig. 5~ A sequence eounter se$ting of "1" requires that 171 communicate cyeles occur before entry into the next following sequence counterstate, i~e., the display of price per unit weight information.
Fo:Llowing completion of eaeh group o 171 communi-eate eycles d:isplayin~ the tare diyit(s), a trip through the eompute cyele will oecur following the pa h 845. The path 845 ineludes a deeision of no keys to be read at bloek 804 .
, ~ 51 ' -Doc~et 61~6 ~5~7~
and writing ',he update counter status at block ~1~, this writing being used in the price per unit weight display mode an~ being with~ut consequence in path 845. rrhe path 845 also includes a test ~or motion (block 8~8) passage through te~ts 850 and 852, and an exit from the leftmost side of block 85~ to the weight range test block 826.
After the weight range test of block 826, the path 845 is coincident with the path 843 which was described above.
Durins each of the path 845 trips through thecompute cycle, the displayed tare value will be recomputed using the platter weight indIcation developed at blocks 826 and 828. A new display sequence usIng the updated tare value is initiated by return along the path;841.
FolIowIng display of tare~digits for~some time~
interval,-the operator will place a package on ~he platter~
~ 12. Movement of the scale platter in response to the~package -~ will cause the motion test~of block 848 and block 6~0 in Fig. 6, ~ -to precipitate~compute~cycIe abort decisions ~from the right-hand exit of ~block 650. ~Compute cycle aborting involves ~2Q ~update counter~setting,~block 651, and return.to the communi-cate cycle starting terminal indi~caied at block 652. By way ~; of these compute cycle aborting~declsions,~the tare display~
of path 845 will terminate~at block 848 so long as the -scale is in motIon.
25 ~ ~ ~ In~ the~present~scaIe system,~platter ;~motlon is detected by way~of the~ gate circuits 50 and~Sl and one-shot ~- ;pulse gene~ators 54~and 55~in Fig.~ 4A~,~responsive to~the A
and C weight~indicating chart track~ as~earlier described.
Signals generated by the~motion detecting;circuit output ~ gate~S7, via inverte~r~58" are received as 5tatus~bits~throu :
`~ ~ the tri-state buffer: 59~ into thé microcompute~by;~way of`~the .
:: ' ' - . . .
- . : ,, : . - , .
~c~_t 6196 ~5~
dat2 bus. These signals are stored in statlls wol-d zero of ~ register 1 (Fig. 11). The s~or~d signals are accessed at bloc'~ 6~9 in Fig. 6 and tested at block 650 to determine if the scale is in motion. It shoul~ be noted that scale mo ion is also uetected at block 570 in the communicate cycle o~ Fig. 5 in order that illumination of the display 20, ~ig. 1, ~e inhi~iteu while the scale is in motion.
Once weight induced platter motion termLnates, aborting of path ~45 at the motion test of block~849 will terminate. Since th~-detecting of motion sets the sequence counter to a condition of "1", block 572 ln Flg. 5, the left-hand exit from block 854~in Fig. 8 will be employed, i.e., a sequence counter co~e less than nine is pre~sent-,~and the weight range test and net weight computation of blocks 8~26 and 828 3.5 performed. Pollowing net weight computation, the test or block 830 is not met, i.e., the system is not in the to:tal ~mode.
Xot~e~er, the test of block~832 finds the~scale chart to be out : . .
of the dead zone so that a code of 12 is entered into the sequence counter at block 836 to both cause~ display of the "LBS"
:
20~ and "weight"~signs (Fig. 2~) and to modly~the decision at block ~854 during the;next~following compute cycle.: Pollowing~lock 836;
the computed~net weight resulting ~from the operator having placed~ ~ `
- an article on the scale platter is entere~ into memory, upper digit zero presence. tested~and blanked at block ~840, and the 25~ weight is dis~layed during the next communicate cycIes which`
are initiated by the return path 841.~ On successive t`rips ~through a compute~cycle se~uence with the~pl~atter~loaded and mo,ion terminated, the path 845 is modi~ied to the extent ~hat : ~ ' - ' :
a5~ '$~:' Docket 6196 the lefthand exit from block 856 is used to enter the weight range test, and setting the sequence countex at block 836 alters the route through blocks 854 and 856.
Price per ~nit Wei~ht Entrv ' Once the operator presses a ~irst k~y of price per unit w~ight entry, the path 847 is no longer employed since the aecision at block 804 indicates a key entry to be present.
When the presence of a closed key is established at block 804, i.;e., when the communicate cycle key sta~us sequenoe of blocks 53~-549 has been ~atisfied by the several communicate cycle trips needed to set the key down status e at block 549, the key information is read and decoded at blocks 808 and 810 -as descxibed previously in compute cycle operation in connec-, tion with a tare key entry~ The rightha~d exit from block lS 813 is also employed, in Yiew of the scale chart being out of tha weight dead zone. If the oper,ator is properly entering , a number rather than a total key,' the lower exit ~rom block 842 is employe~d and the price per pound entry sequence ~ " '' , ~ of block 846 performed.
2D As indicated by the reference number at 644 at block 846, the price per pound entry sequence shown in detail commencing at block 644 in ~ig. 6B. In the price per pound entry sequence the binary key number representing the key depressed by the operator is entered to the price entry ~, 25 memory, block 644, this entry being into RAM position 10 ~Fig. 11), and then shifted one position to the lef~, block ~45, by way of the price shift'left register at RAM locations 43-47, and returned to RAM position 11. This shift left ,operation is performed in ordex that the first entered digit .. : .
- .
-54- .
Dc~cket 619~
~ S~
of price per unit weight information ulti~ately appear as the most signific2nt digit of the price per unit welght entry and the least signiicant di9it position o the price memory be ma~e a~ailable for price per unit weight digits entered du~ing subsequent trips through a compute cycle sequence.
As digits from these subse~uen. entries acc~mulate aL memory locaLions 11-15, each successive execution OL the bloc~ 645 instructions operates on a greater number o~ entered digits, the digits being transferred from l~cation 11-15 to location 43-47 and then back to locations 11-15 in shifted position, one digit at a time. The shi't left resister (locations 43-47) is employed in lieu of the more common shift left instruction since instructions for the micro computer disclosed do not provide normal shift left capability. ~'ollowin5 ~ne Iirs~ ana eacn ~uDsequent trip tnrough the block-644-648 sequence a p~ice entry status word is loaded into status word one of register 0 in the RAM
(Fig. 11), this loading being accomplished at block 647, - ~ The price~per unit-weight Xey entry sequence also includes~setting ~he update counter s`tatus ~AM locatio~ S
in Fig. 11~) to a value of "15", block 648; (the instruction at line 3720 in Table~I) as part o~ a segu,ence involving the blocks 862 and 816 in Fig. 8 to assu~e the price per unit weight~display 1S n~ot erased if the operator strikes the total~key before at least 171 communicate~cycles have~been performçd, i.~e., beore~a time lnterval of approximately one second has elapsed~. ~At~block 862 in Fig. 8, the sequence counter is tested to'determine'if at least 171 communicate cycles have intervened~since the last price per unit key entry~
-. ~: :, ~5 5-~oc]c~t 6196 was made, this t~st is indicated at block 9628 (Fiy. 6D) and performed by the instructions at line 5G60 of Tabla I Setting the update counter to a "0" eondition when a minimum of 171 communicate cycl~s have been performed is aeeomplished at bloek 612 ~Fig. 6A) (line 2~00 Table I). Returning to bloek 846 in Fig. 8, once the price entry status word is set, block 647, the same eompute cycle will use the lower exit of block 856 and enter the price par unit weight loading and display sequence of block 858. - ~
The steps of block 858 are shown at bloek 9658 (Fig. 6D), these steps include setting the sequence counter to ~ state of 13, i.e., the price per pound mode. In the sequenee eounter 13 eondition, the signs ~Ipriee~l 38 and l'per lb.l 36 (Fig. 2) are illuminated to ind1cate numerals displayed represent priee per unit weight entry. Information~
- to be displayed as a result of the block 858 operation is transferred to display memory at block 9659 (Fig. 6D) and the display test (block 8~0 in Fig.-8) is aceessed to blank the most significant digit of the displayed information if - 20 this digit is zero value.
Once the sequence eounter is set to the l'13l eondi-tion at block 9658, the lefthand exit from b~ck 852 will be employed ~or subsequent eompute eyeles, this lefthand exit leading to the deeision of biock 860 where a righthand exit occurs since the total key status is not ye~ set. This will : eause repeated display loading, bloek 858. This load funetion will cause the :latest contents of the price memory, which may inelude a n~sw key entry to be transferred to the display memory, the blanking test and blanking o~ block 840 performed, and the path 84:L used to initiate a new se~uenee of 171 communi-eate eycl~s.
"'' - ' ~, .
. .
.
.
Docket 6196 ~095172 Total ~ey Command At some subsequent time, it is c~ntemplated that the operator will strike the key TOT (Fig . 3) in order that the scale perform the computation and display o~ total value inrormation. The path 849 in Fig. ~ indicates the compute cycle of events which occurs immediately following verification of a TOT key closure in communicate cycle operation. The path 849 involves the righthand exit from block 813 and the lefthand exit from block 8~2, since the scale is respectlvely out of the dead zone and the TOT ke~ is depressed. The path 849 also employs the lower exit from block 855, and a;compute cycle ~ abort decision is used where the operator strikes the TOT
; key before having entered any price per unit weight digi~t.
In block 844 which corresponds to blocks 657-660 (Pig. 6B) a ; 15 status flag is set indicat1ng that the total key has~been depressed, block~ 657, and~ the tare reset status ls~set (block 658).~ The~tare~reset status is used~at block 559 in the communicate cycle sequence (Fig. 5j to enable resetting tare upon the scale next~enter~ing the weight dead zone.~As , ~20 ~indicated ear1ier-in the -scale characterlstics,~the tare memory is resét in~the~present scale when the~total key~TOT
has heen depressed~ and the scale chart re~urns~to the~weLg:ht ` dead zone; these will be the condi~ions~when the scale operator completes a~weigh1n~ and computlng transaction.
~ ~ At block 659 ~(~ig. 6B) the sta~tus switch infoxma-tionffrom jumpers 65 (Flg.~4B)is read to determine the~
display duration desired for th`e price per unit-weight~entry.
It has been found~that~in many~scale uses à customer havin~ a - r Doc}.et 6196 purchased item weighed on a computing scale is especially interested to ~bserve the price per ~nit weight e~try made by ~he scale operator. The jumpers 65 ma~e provision for field selection of the minimum price per uni~ weight di.splay time, in order that the need o~ the scale operator and the customer both be ~,et. The status word which is read at block 659 (Fig. 6B) is tested at block 3628 to determine if another jumper selected increment of communicate cycles is desired to meet the minimum price per pound display time requirement. The status switch information read in block 659 is u~ed to preset the update counter at block 660, with the lower eY~it from block 9628 being used only~if a predetermined ~: :
minimum amount of price per unit weight display has occurred.
If the minimum price per pound display time has not occurred ~-lS the righthand exit from block 862 is~employed'~and the loading '~ and displaying of price per unit weigh' l~nformation (bIocks 858 and 840) are~repeated. The diversion from the path 849 to achieve minimum~price~per'unit weight displa~ time is indicated at 8~3.
~ Compute Totalvalue (Ar,icle~ Price)~
Follo~ing display time testing a~ block 862, the totalvalue~o~mputation and rounding of block 864 is~
- -performed. The computation of total value oommences at 9629 (Fig. 6D) where the total value~or~product location ln~
; 25 RAM locations 32-3~ (Fig. 11)~ are accessed~and cleared and the tare status tested at b~locks~9630 and 9~31 to prevent '~' ,total value comput,ation in the event a negative net weight value has been~detlermined. ThLs migh~t result'from the~operator ' ,. :
~ 58~
, - : ...... : . , , ,, . :.: .
~ 7 Docket 6196 entering a tare number larger than the weight of the article placed on the scale platter. The finding of a tare status code indicating negative weight vallle at block 9631 results in a display error condition indicated at 9632.
Multiplication of net weight and price per unit weight is performed by the program steps indicated at blocks 9634-9642 in Fig. 6D. This multiplication is per-formed by the process of repetitive addition. The path 9636 in the multiplication sequence repeat~ the process of adding the multiplicand digit to the total number of times dictated by the multiplier digit under consideration.
The path 9643 provides access to successive multiplier digits and the path 9633 provides a jump around the addition steps in the case of a multiplier digit of zero.
Once multiplication is complete, the total value rounding and transfer sequence of blocks 9647--9652 is per-formed. In this sequence the round subroutine is used to increment the appropriate digits of the total value product stored in RAM locations 32-39. At block 9649 the sequence counter is set to the "14" state ~the total mode) while at block 9650, the transfer from product memory to display memory, i.e., R~M locations 32-39 to RAM locations l-4 is accomplished. :[n block 9651 and 9652, the total value product - in RAM locations 32-39 is tested for having a non-zero digit in the fifth most significant digit p~sition, i.e., RAM
location 38. Finding o~ a non-zero value in this digit position indicating that the product has overflowed the display capability so that an error condition should be 1ndicatedO The sixth digit ~ A , ', ':' ' ' .-' " . - ' Docket 6196 .
of product in RAM location 39 can also be tested~for overflow.
The steps of setting the sequence counter, transferring total value and testing the fifth digit overflow indicated in blocks 9649-9652, are represented by block 86~ in Fig. 8. Following computation, ~ounding and testincJ of the total value quantity, the test for zero bianking in the most significant digit position, block 840, is performed and a retuxn along path 841 performed to commence displaying the newly computed total value in communlcate cycle operation, block 802.
Total ~alue Display Mode ~ ollowing setting of the sequence counter to a "14"
condition at block 9649 (Fig. 6D) a periodic compute cycle, executed as a result of 171 communicate cycles being completed will follow a path which includes the lower exit from bloc~ 80A
tFig. 8~, passage through the blocks 816 and 848, a lefthand . exit from block 850 through the weight range and net weiyht computation events, out the righhand exit of block 830 through blocks 860 and 862 to a new computation, testing - an~ displaying of total value quantity. Display occurs during communicate cycle operation indicated at block ~02. It should be noted that this path involves new computation of net weight and new computation of total value at blocks 828 and 8~4, respectively, it being int~nded that the total value number displayed by the scale be updated periodically, for example r about once every secon~, so long as total value is displayed. It should also be noted i~ platter 12 is moved by some small amount as by a slight addition o~ weighed material to the platter, and this movement is les~s than required to activate the mot:ion test o~ block 848, that ~ the lefthand .
.
,~ 0-.. ' ~ ' , .
~cket 6196 exit pa,h from blocks 850 and updating of net weight and total value quantities will continue so that the scale is continuously and actively responsive to e~en minute changes of weight on the platter while total value is displayed. Ir during total value display it is desired again to display the net weight value which is being used to obtain the updated total ~alue, the operator may, of course, disturb the platter. Platter disturbance activates the motion test of block 848 and causes compute cycle aborting. Alternately, the operator can also return the scale to weight display mode by striking clear entry Xey CE which is sensed at block 544 (Fig. 5A) and provokes an immediate compute cycle by way of blocks 548 and 549.
In the compute cycle which results from a clear key entry, the key test and decoding sequence of blocks 601-620 I5 are performed and the right hand exit from block 621 em-: ployed. The scale is in the total value~mode~and therefore : . .
out of the weight:dead zone, and the read price sequence of block 633 is commenced where the binary key number is read and tested at block 636 for being a clear key entry:.
20 The finding of a clear:key~code at block 636 results in . ~
a jump to the clear prlce u~routine at block 6~0. This :
subroutine which is shown~in Fig. 7, in blocks 724-731, ~
returns the sequence:counter to ~he weight displaying sequence ~ code of i'l", returns the price per unit weight memory~to~ the "0" condition,.blocks 725-728, and cIearsthe price-and~
~total key statuses, blocks 729 and 730, so that~the scale is placed in the weight display mode. ~It should~be noted that ~;
the clear price subroutine~does not erase the entered tare ` number, tare being erased~only upon the~scale chart belng ~ -61 :
: :
' ' ' ' -Docket 6196 ~95~
within the weight dead zone as indlcated by the lower exit from bloc3~ 813 in Fig. 8 down th:rough the block 822, where a lefthand exlt ~ads to the block 81~ and the tare clearing sequence occurs.
The blocks 633-640 s.eps which access the clear price subroutine are omitted from Fig.-8 for simplicity; if shown, the steps would be located between blocks 813 and 842.
ComPute Cycle - O~rall The paths 843, 845, 847 and 849 in Fig. 8 indicates f~ur possible compute cycle sequence combinations in the present scale. In the course of describing these four paths and describing the function blocks in Fig. 8, several compute cycle sequence paths in addition to these four paths have also been defined. For exam~le, the path leading~rom~the righthand exit of block 860 when the scale is in the price per pound~ mode but the total key~status memory has not been~set,~the compute cycle abort path from the lefthand exit of -block 855 when the weight indicating ohart is positloned out~of the weight dead zone; a~d the total~key depressed prior~to~a price entry being made, have all been described~ From the description of the four paths 843, 845,~847, and 849 and the described modi-fications of these paths, it should~be clear that a great number of variations are possible in the route by which . ~ : .
25 passage throug~ the compute cycle events from block B02 throu~h block 840 is achieved. I~ each possible path between b}ocks 802 and 840 is considered, e.g., including such modi~ica-tions as path change a~ter the firs~ and second and third price per unit weight~ dlgit are~entered, the number of possi-30: ble diferent p~ths~8Q2 to 804 could~be quite~large. ~isted-belo~i ~-62-: . : .
, .
.
Doc};et 61~,9 ~ ~
are scale events which result in the major different paths ~rom block 802 through 840 in Fig. 8. The num~ers 843, 845, 847 and 8~9 in the list identify entries which correspond to paths indicated in Fig. 8.
List of Compute Cycle Sequences 1. quiescent ~^Jith 0.00 displayed 2. enter tare from keyboard (843) 3. tare display rou~ine (845) : 4. second tare entry:from keyboard ` :10 5. article received on scale (chart moving)
In the present scale, the communicate cycle which is repeated frequently, àt about 5.9 millisecond interval~, is limited to the ~ewest possible number of functions in order that its duration be as short as possible and the above listed events which relate to the inputing and outputing ~i.e., communication) of new information, be repeated as often as possible and with sufficIent frequency to assure . an operator~'s visual and manual capabilities are accommodated.
- In a similar manner, the initiation of computation events at spaced intervals is in keeping with the limited need for new computation information to pre~ent operator confusion.
~ ~ Computè Cycle - 20 ~ The compute cycle is~in reality a plurality of ; program paths which arè alternately follGwed depending upon conditions encountered. ~
~When the~ CPU display up~ate counter reaches a condi-~ tion of all zeroes as a result~of the soale~-having performed~the predetermined nun~er of communicate cycles, i.e., 171 in the preferred embodime~n~, or as~a result of presetting this update~
. ~
counter, the decision~o~block 597 in Fig. 5B will enable~the~
path~586 to the bi.ock~598~which commences~a compute~;cycle o~ ~
; ~ scale-operation.~The~all~zero~condition~in~the~update counter ~ ;
30` may result from~presetting instructions~such~as block`SOS, where the update c:ounter ~is~pres~et to maximùm to~in~u~e a ~: , :
~ 36- ~
Docket 6196 compute cycle occurs following the first co~municate cycle after scale turn on, or block 548,wherein ~he update counter is preset in response to a determination that valid keyboard data is available and should be sampled quickly before the o~erator has time to release a depressed key. The update counter is also forced to a maximum condition as indicated at block 651 and at other locations in the program as ex-plaine~ subsequently. .:
It should be noted that upon.co~mencing scale operation at block 500 in Fig. 5, the update counter at block 505 is immediately forced to a condition which will initiate a compute cycle so that following one trip through ~" ~ the communicate cycle of '~ig. 5Aj the path 586~will.be ~.
~ employed and a compute cycle follow. ,The initial~step of , , this following compute cycle .lS of course,;lndica~ed'by :block 598 where the update counter is.preset to:a low , .value which will cause~repeàted trips throu~h the ~ig. 5A - :' :
communicate~cycle sequence upon completing~the block 505 : initiated first trip through a compute cycle.~ Re~tatiny 20::~ tnis concept, i~ can be.said that following any trip ' . through~a compute cycle:;~sequence in Fig. :6, the scale wil~
.
.execute:a predetermlned number of communicate cycles unless~
:~ interrupted by- the appearance of neW input: inf ormation .
.: . As indicated previously, the overall philosophy~
, 25 :of~the present sca.le is to relegate to:a compute cycle~as :' -: , . .
' . much of the scale ope~ating sequence as possib}e while - ' ': .
; :
, ~ retaining in the oommunicate cycle ~the.capability for : meeting new d,ata i:nputs and the~real time.displiy;requi~rem~s.
- - . , Doc}~et 6196 ~9 In accordance with this philosophy, the program steps of the compute cycle are provided with capability for performing keyboard code conversion and che~king, weight range testing, weigh~ signal code conversion, tare weight subtraction, most significant zero blan~ing, weight times price per unit weight multiplication, and total price rounding functions. At several points in each of:the:possi~le compute cycle sequences, provision is made for aborting~a compute cycle and returning to the commencing point of the communicate cycle:in response to ~n operator omission and certain other events. ~ As indicated at block 651 where all of the compute cycle aborting~ paths terminate, durin~ the abort sequence the update counter is set to a maximum condition before returning to.the communicate cycle terminal point in order that a new~compute cycle will immediately ollow the next communicate cycle.~
Fig. 8 of the drawings shows the program flow dia- -grams of Figs. 5, 6 and 7 in a simplified form~herein the interrelation between:functions in the scale~operating se-.quence can be ~dlscerned.~ De~ails of the scale operation ~20~ ~ including:many-o t~e compute cycle abort~polnts and error ~
:condition-'responses:are omitted from,Fig. ~ for simpl1:fying `the ove~all view presented therein. The following.compute -cycle description thus~makes pximary reliance on diagrams o~ :
.
Figs. ~, 6,~and 7 and the~program listing;of Table I:. Reference, to Pig. 8 is made during the initial description of an operat-ing sequence~and thereafter only ~as:needed to indicate ~ .;
interrel-atlonships. ~
.~
.
~ 38~
~: - - : - ., .
- .: : - ~ : , ~ : ' . . . ~ . ~ . .
~5~.7~
~oc}~et 6196 In Fig. ~ the nun-~rs S02-8~0 are used .in the customary manner to identify blocks in ~e flow diagram while numbers enclosed in parentheses, i.e., the numbers 630 at block 820 and ~e number 9629 at block 864, relate the Fig. 8 flow diagram blocks to blocks in the more detailed flow diagrams of ~igs. 5, 6 and 7. Only major decision points in the program have been indicated, blocks 822, 852, 86~, etc. The decision made in each of these blocks is indicated along the path leading from the decision block in lieu of the more formal indication within the decision block as shown in Figs. 5, 6 and 7~. ~
In fig. 8,~the paths identi-fied by the numbers 843, 845, 847, etc., indicate a selected one of the~compute cyc~e operating s~quencas in the present scale~. The-nun~er 843, for example, in~icates the~ decisions and functions which ;
occur when the scale has been sitting in the unused condition~
and a ~eyboard key is~pressed for the~purpose of entering - ~ a~digit of tare weight inonnation. Line 845 in~ Fig. 8, as another example, i~llustrates the sequence occurring aftèr 20 ~ tare inform~tion has been;received by the scale, that is the sequence which causes~an~ entered d~g~t of tare ~nformation - to be illumlnated on the ~display 2Q ~Figs. 1 and 4C). In a similar manner, t~e lines 847 and 849, respectively, ind~cate the sequence of steps followed through the~flow charts of Figs. 5, 6 and 7 and the-~Table I listing in order that digits-: ~of w eight be di.spla~ed~and a total key entry be~recei~ed -into the computer.~ ~
:
~39 ; ~
' ' -'' , . . ; -: .
D~c~et 6196 Retu1-nins to the line 8~3 in Fig. 8, it will be noted that if a tare entry is to be made, then immediately following the con~unicate c~cle at b:Lock 802, the keyboard related steps of blocks 804, 808 and 810 are to be perlormed.
As indicated by the parenthetic n~m~ers associated with these three ~;eyboard related blocks, the keyboard steps are de-scribed in detail by blocks 604-619 in Fig. 6 of the drawings.
To describe the path 843 sequence, ea~h of the major events along path 843 is described brie~ly com~encing with the key-board sequence.
Key Decoding During the communicate cycle, the sequence of eventsrepresented by blocks 532-549 was employed~to determine whether a key closure sensed at block 524 should be read into the system, ignored for being in a bounce~condition, or ignored for having previously~been read ~i.e., the status A
status B and status C tests of blocks ~34-549). If the key closure sensed~at block 524 is found acceptable for computa-tion purposes, the block~532-549 sequence terminates with the - 20 setting of a~flag~signal called "status C" at~block 549~to tell the next compute cyclè, provoked~at-block 548, that a key read-ing sequence should be performed. Commencing at block 601 in ~- Fig. 6A is the~key reading sequence which result fro~ the de-cision-of blocks 548 and S4-9.~ This~key -reading sequence com~
mences with loading~and testing key down status C flag,~blocks 601 and 604, the status test~of block 604 providi~g a ~ump around the keyboard~reading sequence along path 603 for compute cycles whi~ch~have been initiated~by something other ' L:oc};e t G19 6 ~ S~7~
th~n sensing ~e~r closure at bloc~ 524. Such compute cy~les c~n be initiated by performing 171 communicate cycles, or by the events of blocks 505,651, etc., wherPin the update counter is forced to a compute cycle initiating conditlon.
Just prior to testing the key down status C signal to determ~ne if keyboard information processing is to be performed, the motion read inhibit status is placed in the "one" condition as indicated at block 602, in order that motion testing not be performed for some time interval following a keyboard actuation. It has been noted that keyboard actuation is capable of initiating vibration and resulting ~alse motion signals. The status bit which is set in block 60Z is effective : durins the next subse~uent communicate cycle at block 567 and 568 to inhibit motion signal testing. -The motion read inhlbit~
status is reset at block 602~following execution of the lnter-:
vening program steps which provides the desired motion detect inhibits time of approximately 730 milliseconds.
If the key~down status ~ tes.t of block 604 ~Lndicates ~ that the reading of key: information.is ~appropriate, the status C flag is reset, block 605~ the addressing constant for key reading placed in-~memOry, block~607, and the~instructions~ at ~ lines 2430 and 2630 in Table I and the sequence of key reading steps 608-611 commences. In the.steps 608-611, the key ~ memory at locations 21,:22 and 23:in RAM "0" is examined, one .memory location du:rlng each trip~ through the 608-611-stepsj-to find the single bit of information among the:twelve bits~
stored indicating~that:~a ~ey has been closed. ~As shown~in ~ -Fig. 4A the keyboard is wired sùch that:during D-6 time: .
intervals, power i~s applied to the:first~column~of~keys : :
~: . : .
:
~ -41- :
Docket 6195 (numbers 1, 4, 7 and CE), these being assi~ned key numbers of 1, 2, 3 and 4, respectively. The powered circuit is labelled XYBD. St. A. During the D6 time pulse, each of the four key~oard output lin~s B0-B3 is examined for being ln the powered state, indicating a :key closure~
. During one of the D6, D7 or D8 keyboard sensing .
times, a signal will be found on one of the four keyboard output lines if a key has been depressed to make the connec-tion between a D time input signal line and an output signal . ~ 10 line. The block 60%-611 sequence repeats via the path 606 until a closed key is found, whereupon the righthand exit .
from block 609 leads to the sequence for testing and conver-t-ing the key closure signal to BCD~ form. The lower exit from block 611 provides a safety exit from the block 608-611 sequence as5uring no progr~m hang up wil~ occur ~n the event a noise pulse or other unpredicted event allows entry into the blocks 608-611 sequence without a keyclosure actually existing.
. The conversion of key closure information-ro~ the form of one binary bit of a possible twelve bits in key memory, - (RAM locations 21, 22 and 23 in Fig. 11) to a BCD coded word . . . representing a number on the keyface of Fig. 3 is performed in a plurality of steps whicl- commence with the finding of a closed key indication at block 609. These steps involve adding to the memory bit number which contains the closed key indication, a conversion constant having a value of zero, four or eight in accordance with whether the key being converted is located in the first, secolid or third keyboard column (ST. ~/ B or C) in Fig. 3, and then using this summation of bit n~er nnd ' ' ~ .
. . . . .. . . .
Docket 6196 conversion constant as the ad~ess for a table look up operation in the table at line 5010, Table I. For example, if the operator has pressed key 8, the binary signal rep-resenting closure of this key is stored in bit position 3 5 of I~ location 22 and therefore has a bit number of three.
Since the key 8 is located in the second column, a numerical constant of four is added to this bit number of three to provide ~ table look up address of seven as indicated at line 5080. A look up address of seven provides BCD outpu~
of eisht which corresponds with the keyface numeral.
By way of a second example, the numeral six in the third column of the Fig. 3 keyboard is stored at bit two of R~M location 23; by adding this nu~,ber two to a conversion constant of eight, a table address of ten results. As indi-c~.ed at line 5110 in Table I, address 10 provides a key output of BCD six as deslred. In the flow diagram of Fig. 6, the constants ~ero, four and eight are developed at block 610 by the instructlons al line 2780 and 2790 of Table I.
The conversion from bit position to key number, i.e., the conversion from a one bi~t in the third memory position, from the first example above, to a key number position is performed at block 616~ The addition of a correcting constant is inaicated at block 618 and the table look up operation is set at block 619.
The~conversion of block 615 employs the KBP
instruction at llne~2900,~ Table I. This instruction, as indicated in the Intel U5ers Manual, provides an error signal (BC~ 15) if two ~ey closures in the same key memory :
3~
Docket 6196 ~09S~2 word (the same keybo2rd colu~n in Fig. 3) are detected. Thetest of block 617 is responsive to this KBP instruction error indication and pro~ides a compute cycle abort along the le~t-hand exit from the b~ock 617, ic the o~erator has erroneousl~7 closed more than one ~ey in any vertical column of the keyboard.
~ Error If the operator should close two ke~s in the same horizontal ro~ in Fig. 3 r for example the 8 and 9 keys, the keyboard sequence ~ust described will respond to the first encountered key, i.e., the leftmost of the two closed keys r and will ignore the rightmost of the two closed keys. It should be noted, howe~er, that the keyboard status sequence commencing at block 532 in Fig. 5 will not permit the second of two closed keys in the same hori7Ontal~row to be read as data since the~finding of a key open condltion mus- precede the sensing-of key closure if the key status B and~C signals of blocks 542 and 549 are to be set. This arranyement of .
ignoring the rightmost of a horizontal~two key closure and requi-rins~a no key~condltlo~n immediatley preceding the reading ~Z~O of any key~closure~provldes~key roll over-protection in the - keyboard horizontal~rows~wh1le the prevlously mentioned com pute cycle~abor~t, commencing at the lefthand exit of block 617, provides key roll over protection in the keyboard vertical columns. It is also to~be noted iD the above sequence that 25` the CE and-TOT are regàrded in the program~equence as numeric values and provide numerlc outputs of~ 11 and 12 in the line 5010 con~erslon~table. These numerlc~values are interpreted as the dlear~entry and tv~tal ~unctions at the appropriate poinl; in the~program.
~ 44-~
Docket 6196 Tare Inhibit Continuing now with the description of e~ents along the tare entrv path 843 in Fig. 8, if tare is being entered the scale chart is in the weight dead ~one so that the lower exit from block 621 (bloc]c 621 appears in both Fig. 6 and Fig. 8) is employed, and the tests of blocks 624 and 625 accessed to determine if the tare inhibit jumper 65 in Fig. 4B indicates tare capability is to be omitted from the present scale. Presence of the jumper 65 indicates tare omit and results in a lefthand exit from block 625.
If the tare inhibit jumper is absent so that storage of the decoded keyboard digit as tare is desired, the tare memory is addresse~ for later use, block 627, the key`number read in, block 628, the key tested for being a total or ~lear key blocks 630 and 631, then the least significant digit contents of the~tare memory shifted to the second significant position and the key number entered into the least si~nificant~position, blocks 632 and 634.
~ Finding of a total key a~ bloc~ 630~results in a jump around block 632 and 63~ while finding a clear key at block 631 not only~av~ids~the~entries of block 632 and 634 but al50 initlates the clearing and compute cycle aborting steps of blocks 637 and 638.~
` Compute cycle ~borting, which is usually done ; ~5 as the result of an~operator~ac~ion, includes within the abort sequence se1;ting the update counter, register pair 7, to .
a maximum conditlon. This preloading in the abort se~uence assures that a new compute cyc~le will comm~nce i~ediately : :
~ -45- ~
Doc:}~et 6196 ~0~S~
aft~r ihe communicate cycle which ~ut~matically follo~s a compuLe cycle abort. The concept of ab~rting upon finding an undesired or oYerriding condition in the compute cycle minimizes time the computer spends outside the display driviny communicate cycle, since the c~mpute cycle steps following the improper or overriding condition are not performed. It is to be noted that just prior to leaving each com~l~nicate cycle initiated by an aborted compute cycle, the update counter is preset, at block 598, to cause repeated communica~e cycIe executions once a compute cycle is successfully completed and the display information thereby updated. Most compute cycle abort events return to the starting terminal of the communicate cycle at block 500, however, the abort of blocks 637-639 returns instead to block 562 in the communicate cycle tare-clear sequence in order that a "D" time display sequence not fol~low a clear entry command.
ei~ht Ran~e Returning now to block 631, if neither the total .
key nor the clear key is~present, which should be the case in following the path~ 843: in~ Plg. 8, the tare functions of block 632 `and 634 are performed, the weigh~ xange test of blocks 672-678 is accessed. This test is indicated at block 826 in Fig. 8. In the weight xange test, if either -of the E and G weight chart photocells have provided data ~` : .
' : ~ .
' ~: ~ ~ : ' : ` - 4 6 ~
Doc~et 6136 bits for the weight reading under consideration, the weight chart is determined to be within its weighing capability, i.e., bet~een weiyht indications of 0.00 and 25.00 pounds for a twenty-five pound domestic scale The concept of S testing E and G weight chart photocell signals to detex-mine 7eight values within the scale range is more fully explained in U. S. Patent No. 3,557,35:3, if an improper weight indication is found at block 674 or 675, the sequence counter of the CPU ~AM location O is set to a "one" condl-tion to cause illumination of the word "weight" 32 in Fig.
2, znd the display error subroutine eY.ecuted to provide illumination of the center bar segments of the numeral displa~s. The combination of foux illuminated bar`seg-ments and the sign 32 is used to indica~e an 1mproper condition relating to weight in the scale, as was~ex-plained in the scale characteristics.
Gross Weight~Less Tare : ~
If either of the we1~ht chart E or G track photo-cells, but not bOthr lS found to be in the light condition, ~2Q indicating a proper weight~value~, the compute net weight se-quence indicated at block 8a8 and commencing~at b10ck 681 is accessed to subtract the tare weight entry~from the gross - weight reading. The compute~net weight sequence be~ins w1th~
subroutine conversion of scale chart gray co~de information -2~5 ~ into binary ooded decimal form as indicated~at~block~681.
~: - . : - :
; ~47~ ;~
~: I
, ':' ' Doc};~t 6196 ~ 9 The properties of the scale cllar. sray code and a~ example of this conversion ~y be found in U. S. patents No. 3,557,353 and No. 3,439,760, this conversion is performed in the present instance by the code conversion subroutine commencing at bloc~ 740 in Fig. 7, ~ith the use of the code conversion tabl2 commencing at line 7950 in Table I.
Once gross weight and tare weight quantities are accessed from memory, block 682, the subtraction of these t~o quantities is performed by the looped instructions 68A-687 The path 686 around these instructions provides access to successi~ely higher order digits for the subtractlon sequence until *he test of block 687 indicates all o~ the required subtraction has been performed. Since the numbers being subtracted are in binary coded decimal form, under certain lS conditions i, is necessary~that~a correction constant of 10 be included in the subtraction process. The test for this correction is indicated at~block 688 and found at line 4390 of the Table I program.
.It is, of course, possible that th:e:scale opera*or has entered intQ the scale a tare value~exceeding: the~weight~
~ ~placed on the scale platter,::in this case~the subtraction of ;
:
block 684-687:will invo~lve a subtrahen~which is larger than the minuend-~ When.a subtraction is performed under thes:e ' conditions the accumulator carry bit in the CPU is set to ~ - .
~a "one" conditlon. .The~ set~ carry bit~is sensed at block 691, and if present results::in~a.reverse subtrac~ion process and subtr~action of the origlnal~mlnuend frcm the~criginal sub- ~
trahend to obtain ~ di:f~erence~qaantity~indicatLng the amou~t by which~the tare welght~exceeds~the platter weight. This ~ ~-48~
: ~
- ~ . ~ ' :, Docl;et 6196 ~irtel-ence quantity is ultlmately displayed as a net weiyht but is, however, accompanied by a nec~ative sign indicating tare value was greater l~han the platter weight.
It shoul~ be noted that the normal displaying of a iare entry is achie~ed in the present scale by exactly the same process as described here. When tare weight display is to be accomplishe~, the tare value (the subtrahend) is greater than the weight value (the minuend), which is zero. Thus, the second subtraction is performed and the required ne~ative sign developed at block 695. For this reason in the ne~t few para-graphs of this specification where ~he tare entry of path 843 in Fig. 8 is being followed, the tare data can~be referred to as a net weight value. Addresses for performing the second ; subtraction are set at block 693 while the negatlve sign in-dicating a larger subtrahend value is set at block 6g5 in response to an indication of two subtractions having been performed in the test of block 694.~ At block 69~ a tare status flag is set indlcating whether a negative or positive net weight value has been developed~ this status flag is tested at block 9631 to prevent computation of total value with a negatlve net welght.~ ~ -Test & Load Ultimately, once net weight ~or tare) is computed,~
~ the display memory is loaded with this value, as indicated at ; ~5: ~ block 9610:, in preparation for weight disp~aying during a ;
fc)llowing communiceLte cycle. Prior to transfexring the net weight to the cllsplay memory, however, the sequence counter test of block~699 is performed to determl;ne ~f the~
scale is in the tot:al value mode~ The~possibility o~ total - : :, . ~
- : .
3L7;
n~c}~et 6196 value mode e}:ists following net weight com~utation, arising from reuse of the ~eight range test of block 672-675 for a new computation of net weight in blocks 681-6~5 during the total value mode as can be observed in Fig. ~3 from one path 5 857.
The addresses used in the transfer to display memory at block 961û are set at block 9602, and a code which determines which of the word lamps 32, 33, 35, 36, 37 and 38 (Fig. 2) are to be ilIuminated during the ne~;t subsec~uent commu~icate cycle 10 is loaded into the sequence counter as indicated by the blocks 9604-9609. The criteria for the block 9607 and 9608 test is that if the scale chart is positioned within the weight dead zone, only the word "LBS"-is to be illuminated.
This condition results when the sequence counter ls-~loaded ~ -15 with the nu~er ten, while if the scale chart ;is positionedoutside the weight dead zone, then both the words~"weight"~
:
and "LBS" (sequence code of 12) are~ desired. The selected : .-sequence code is ~placed~in the sequence counter at block ~9609 and ~the transfer ~of`~net welght to display memory per-~20~ formed at blocl~9610.- An ~inve~ted status-~ indi~ation is employed in the Table I steps relating to~ block 960~5 in order that RQM space be saved. ~
Prior to actual~ly~displayln~ the net welght or any ~other of th~e~possible values stored in the dispIay~ memory~ e., 25~ tarei price per ~pound ~or~total~value, the most-significant digit of thls qu~ntity lS tested :l~or having zero value~ in~
order that the scale comply wlth the ~common praotlce of not;displaying zeroes in the ~most significant digit position . :
. ~
r~
' '- ., ' ' ' ' ~ . ' . . ~ ~ . ,. , .: :
,, - : ~:', ': ' ' . :
- .
,' ' ' ,. ~ ,:, ' . : ,, ' ' - : , : - ' ,,, .. . ' ' ., ' , ' ~L~D5~S~ t~
Docket 6196 of any number. This test is performed at thc blocks 9612;
a zero found in the most significant position is suppressed as indieated at bloek 9615. This suppressing involves the writing of BCD code 15 in the most significant digit position as performed at line 6532 and 6540 of Table I. Upon complet--ing the most significant digit 'suppressing, which i5 indicated at block 840 in Fig. 8, a return to the eommunieate cycle eommencing point occurs as indicated at block 9617 and by the path 841 in Fig. 8. In the next following communicate eycle, the newly computed net weight will be displayed.
- If the digit of tare information entered in path - 843 in Fig. 8 is followed by a seeond tare dig1t in some subsequent coMpute cycle sequenee, even~s similar to that indieated by the path 848 oeeur.
15 ~ - In-the interval between tare digit entries or in the interval following tare digit entries, the entered digits are displayed by repeated trips through the eommuni-- cate eycle. A minimum tare display time of 171 communicate eyeles (about one second) is assured by the sequence counter being set to a count of "one" condition at line I690 in ` Table I, block 572 in Fig. 5~ A sequence eounter se$ting of "1" requires that 171 communicate cyeles occur before entry into the next following sequence counterstate, i~e., the display of price per unit weight information.
Fo:Llowing completion of eaeh group o 171 communi-eate eycles d:isplayin~ the tare diyit(s), a trip through the eompute cyele will oecur following the pa h 845. The path 845 ineludes a deeision of no keys to be read at bloek 804 .
, ~ 51 ' -Doc~et 61~6 ~5~7~
and writing ',he update counter status at block ~1~, this writing being used in the price per unit weight display mode an~ being with~ut consequence in path 845. rrhe path 845 also includes a test ~or motion (block 8~8) passage through te~ts 850 and 852, and an exit from the leftmost side of block 85~ to the weight range test block 826.
After the weight range test of block 826, the path 845 is coincident with the path 843 which was described above.
Durins each of the path 845 trips through thecompute cycle, the displayed tare value will be recomputed using the platter weight indIcation developed at blocks 826 and 828. A new display sequence usIng the updated tare value is initiated by return along the path;841.
FolIowIng display of tare~digits for~some time~
interval,-the operator will place a package on ~he platter~
~ 12. Movement of the scale platter in response to the~package -~ will cause the motion test~of block 848 and block 6~0 in Fig. 6, ~ -to precipitate~compute~cycIe abort decisions ~from the right-hand exit of ~block 650. ~Compute cycle aborting involves ~2Q ~update counter~setting,~block 651, and return.to the communi-cate cycle starting terminal indi~caied at block 652. By way ~; of these compute cycle aborting~declsions,~the tare display~
of path 845 will terminate~at block 848 so long as the -scale is in motIon.
25 ~ ~ ~ In~ the~present~scaIe system,~platter ;~motlon is detected by way~of the~ gate circuits 50 and~Sl and one-shot ~- ;pulse gene~ators 54~and 55~in Fig.~ 4A~,~responsive to~the A
and C weight~indicating chart track~ as~earlier described.
Signals generated by the~motion detecting;circuit output ~ gate~S7, via inverte~r~58" are received as 5tatus~bits~throu :
`~ ~ the tri-state buffer: 59~ into thé microcompute~by;~way of`~the .
:: ' ' - . . .
- . : ,, : . - , .
~c~_t 6196 ~5~
dat2 bus. These signals are stored in statlls wol-d zero of ~ register 1 (Fig. 11). The s~or~d signals are accessed at bloc'~ 6~9 in Fig. 6 and tested at block 650 to determine if the scale is in motion. It shoul~ be noted that scale mo ion is also uetected at block 570 in the communicate cycle o~ Fig. 5 in order that illumination of the display 20, ~ig. 1, ~e inhi~iteu while the scale is in motion.
Once weight induced platter motion termLnates, aborting of path ~45 at the motion test of block~849 will terminate. Since th~-detecting of motion sets the sequence counter to a condition of "1", block 572 ln Flg. 5, the left-hand exit from block 854~in Fig. 8 will be employed, i.e., a sequence counter co~e less than nine is pre~sent-,~and the weight range test and net weight computation of blocks 8~26 and 828 3.5 performed. Pollowing net weight computation, the test or block 830 is not met, i.e., the system is not in the to:tal ~mode.
Xot~e~er, the test of block~832 finds the~scale chart to be out : . .
of the dead zone so that a code of 12 is entered into the sequence counter at block 836 to both cause~ display of the "LBS"
:
20~ and "weight"~signs (Fig. 2~) and to modly~the decision at block ~854 during the;next~following compute cycle.: Pollowing~lock 836;
the computed~net weight resulting ~from the operator having placed~ ~ `
- an article on the scale platter is entere~ into memory, upper digit zero presence. tested~and blanked at block ~840, and the 25~ weight is dis~layed during the next communicate cycIes which`
are initiated by the return path 841.~ On successive t`rips ~through a compute~cycle se~uence with the~pl~atter~loaded and mo,ion terminated, the path 845 is modi~ied to the extent ~hat : ~ ' - ' :
a5~ '$~:' Docket 6196 the lefthand exit from block 856 is used to enter the weight range test, and setting the sequence countex at block 836 alters the route through blocks 854 and 856.
Price per ~nit Wei~ht Entrv ' Once the operator presses a ~irst k~y of price per unit w~ight entry, the path 847 is no longer employed since the aecision at block 804 indicates a key entry to be present.
When the presence of a closed key is established at block 804, i.;e., when the communicate cycle key sta~us sequenoe of blocks 53~-549 has been ~atisfied by the several communicate cycle trips needed to set the key down status e at block 549, the key information is read and decoded at blocks 808 and 810 -as descxibed previously in compute cycle operation in connec-, tion with a tare key entry~ The rightha~d exit from block lS 813 is also employed, in Yiew of the scale chart being out of tha weight dead zone. If the oper,ator is properly entering , a number rather than a total key,' the lower exit ~rom block 842 is employe~d and the price per pound entry sequence ~ " '' , ~ of block 846 performed.
2D As indicated by the reference number at 644 at block 846, the price per pound entry sequence shown in detail commencing at block 644 in ~ig. 6B. In the price per pound entry sequence the binary key number representing the key depressed by the operator is entered to the price entry ~, 25 memory, block 644, this entry being into RAM position 10 ~Fig. 11), and then shifted one position to the lef~, block ~45, by way of the price shift'left register at RAM locations 43-47, and returned to RAM position 11. This shift left ,operation is performed in ordex that the first entered digit .. : .
- .
-54- .
Dc~cket 619~
~ S~
of price per unit weight information ulti~ately appear as the most signific2nt digit of the price per unit welght entry and the least signiicant di9it position o the price memory be ma~e a~ailable for price per unit weight digits entered du~ing subsequent trips through a compute cycle sequence.
As digits from these subse~uen. entries acc~mulate aL memory locaLions 11-15, each successive execution OL the bloc~ 645 instructions operates on a greater number o~ entered digits, the digits being transferred from l~cation 11-15 to location 43-47 and then back to locations 11-15 in shifted position, one digit at a time. The shi't left resister (locations 43-47) is employed in lieu of the more common shift left instruction since instructions for the micro computer disclosed do not provide normal shift left capability. ~'ollowin5 ~ne Iirs~ ana eacn ~uDsequent trip tnrough the block-644-648 sequence a p~ice entry status word is loaded into status word one of register 0 in the RAM
(Fig. 11), this loading being accomplished at block 647, - ~ The price~per unit-weight Xey entry sequence also includes~setting ~he update counter s`tatus ~AM locatio~ S
in Fig. 11~) to a value of "15", block 648; (the instruction at line 3720 in Table~I) as part o~ a segu,ence involving the blocks 862 and 816 in Fig. 8 to assu~e the price per unit weight~display 1S n~ot erased if the operator strikes the total~key before at least 171 communicate~cycles have~been performçd, i.~e., beore~a time lnterval of approximately one second has elapsed~. ~At~block 862 in Fig. 8, the sequence counter is tested to'determine'if at least 171 communicate cycles have intervened~since the last price per unit key entry~
-. ~: :, ~5 5-~oc]c~t 6196 was made, this t~st is indicated at block 9628 (Fiy. 6D) and performed by the instructions at line 5G60 of Tabla I Setting the update counter to a "0" eondition when a minimum of 171 communicate cycl~s have been performed is aeeomplished at bloek 612 ~Fig. 6A) (line 2~00 Table I). Returning to bloek 846 in Fig. 8, once the price entry status word is set, block 647, the same eompute cycle will use the lower exit of block 856 and enter the price par unit weight loading and display sequence of block 858. - ~
The steps of block 858 are shown at bloek 9658 (Fig. 6D), these steps include setting the sequence counter to ~ state of 13, i.e., the price per pound mode. In the sequenee eounter 13 eondition, the signs ~Ipriee~l 38 and l'per lb.l 36 (Fig. 2) are illuminated to ind1cate numerals displayed represent priee per unit weight entry. Information~
- to be displayed as a result of the block 858 operation is transferred to display memory at block 9659 (Fig. 6D) and the display test (block 8~0 in Fig.-8) is aceessed to blank the most significant digit of the displayed information if - 20 this digit is zero value.
Once the sequence eounter is set to the l'13l eondi-tion at block 9658, the lefthand exit from b~ck 852 will be employed ~or subsequent eompute eyeles, this lefthand exit leading to the deeision of biock 860 where a righthand exit occurs since the total key status is not ye~ set. This will : eause repeated display loading, bloek 858. This load funetion will cause the :latest contents of the price memory, which may inelude a n~sw key entry to be transferred to the display memory, the blanking test and blanking o~ block 840 performed, and the path 84:L used to initiate a new se~uenee of 171 communi-eate eycl~s.
"'' - ' ~, .
. .
.
.
Docket 6196 ~095172 Total ~ey Command At some subsequent time, it is c~ntemplated that the operator will strike the key TOT (Fig . 3) in order that the scale perform the computation and display o~ total value inrormation. The path 849 in Fig. ~ indicates the compute cycle of events which occurs immediately following verification of a TOT key closure in communicate cycle operation. The path 849 involves the righthand exit from block 813 and the lefthand exit from block 8~2, since the scale is respectlvely out of the dead zone and the TOT ke~ is depressed. The path 849 also employs the lower exit from block 855, and a;compute cycle ~ abort decision is used where the operator strikes the TOT
; key before having entered any price per unit weight digi~t.
In block 844 which corresponds to blocks 657-660 (Pig. 6B) a ; 15 status flag is set indicat1ng that the total key has~been depressed, block~ 657, and~ the tare reset status ls~set (block 658).~ The~tare~reset status is used~at block 559 in the communicate cycle sequence (Fig. 5j to enable resetting tare upon the scale next~enter~ing the weight dead zone.~As , ~20 ~indicated ear1ier-in the -scale characterlstics,~the tare memory is resét in~the~present scale when the~total key~TOT
has heen depressed~ and the scale chart re~urns~to the~weLg:ht ` dead zone; these will be the condi~ions~when the scale operator completes a~weigh1n~ and computlng transaction.
~ ~ At block 659 ~(~ig. 6B) the sta~tus switch infoxma-tionffrom jumpers 65 (Flg.~4B)is read to determine the~
display duration desired for th`e price per unit-weight~entry.
It has been found~that~in many~scale uses à customer havin~ a - r Doc}.et 6196 purchased item weighed on a computing scale is especially interested to ~bserve the price per ~nit weight e~try made by ~he scale operator. The jumpers 65 ma~e provision for field selection of the minimum price per uni~ weight di.splay time, in order that the need o~ the scale operator and the customer both be ~,et. The status word which is read at block 659 (Fig. 6B) is tested at block 3628 to determine if another jumper selected increment of communicate cycles is desired to meet the minimum price per pound display time requirement. The status switch information read in block 659 is u~ed to preset the update counter at block 660, with the lower eY~it from block 9628 being used only~if a predetermined ~: :
minimum amount of price per unit weight display has occurred.
If the minimum price per pound display time has not occurred ~-lS the righthand exit from block 862 is~employed'~and the loading '~ and displaying of price per unit weigh' l~nformation (bIocks 858 and 840) are~repeated. The diversion from the path 849 to achieve minimum~price~per'unit weight displa~ time is indicated at 8~3.
~ Compute Totalvalue (Ar,icle~ Price)~
Follo~ing display time testing a~ block 862, the totalvalue~o~mputation and rounding of block 864 is~
- -performed. The computation of total value oommences at 9629 (Fig. 6D) where the total value~or~product location ln~
; 25 RAM locations 32-3~ (Fig. 11)~ are accessed~and cleared and the tare status tested at b~locks~9630 and 9~31 to prevent '~' ,total value comput,ation in the event a negative net weight value has been~detlermined. ThLs migh~t result'from the~operator ' ,. :
~ 58~
, - : ...... : . , , ,, . :.: .
~ 7 Docket 6196 entering a tare number larger than the weight of the article placed on the scale platter. The finding of a tare status code indicating negative weight vallle at block 9631 results in a display error condition indicated at 9632.
Multiplication of net weight and price per unit weight is performed by the program steps indicated at blocks 9634-9642 in Fig. 6D. This multiplication is per-formed by the process of repetitive addition. The path 9636 in the multiplication sequence repeat~ the process of adding the multiplicand digit to the total number of times dictated by the multiplier digit under consideration.
The path 9643 provides access to successive multiplier digits and the path 9633 provides a jump around the addition steps in the case of a multiplier digit of zero.
Once multiplication is complete, the total value rounding and transfer sequence of blocks 9647--9652 is per-formed. In this sequence the round subroutine is used to increment the appropriate digits of the total value product stored in RAM locations 32-39. At block 9649 the sequence counter is set to the "14" state ~the total mode) while at block 9650, the transfer from product memory to display memory, i.e., R~M locations 32-39 to RAM locations l-4 is accomplished. :[n block 9651 and 9652, the total value product - in RAM locations 32-39 is tested for having a non-zero digit in the fifth most significant digit p~sition, i.e., RAM
location 38. Finding o~ a non-zero value in this digit position indicating that the product has overflowed the display capability so that an error condition should be 1ndicatedO The sixth digit ~ A , ', ':' ' ' .-' " . - ' Docket 6196 .
of product in RAM location 39 can also be tested~for overflow.
The steps of setting the sequence counter, transferring total value and testing the fifth digit overflow indicated in blocks 9649-9652, are represented by block 86~ in Fig. 8. Following computation, ~ounding and testincJ of the total value quantity, the test for zero bianking in the most significant digit position, block 840, is performed and a retuxn along path 841 performed to commence displaying the newly computed total value in communlcate cycle operation, block 802.
Total ~alue Display Mode ~ ollowing setting of the sequence counter to a "14"
condition at block 9649 (Fig. 6D) a periodic compute cycle, executed as a result of 171 communicate cycles being completed will follow a path which includes the lower exit from bloc~ 80A
tFig. 8~, passage through the blocks 816 and 848, a lefthand . exit from block 850 through the weight range and net weiyht computation events, out the righhand exit of block 830 through blocks 860 and 862 to a new computation, testing - an~ displaying of total value quantity. Display occurs during communicate cycle operation indicated at block ~02. It should be noted that this path involves new computation of net weight and new computation of total value at blocks 828 and 8~4, respectively, it being int~nded that the total value number displayed by the scale be updated periodically, for example r about once every secon~, so long as total value is displayed. It should also be noted i~ platter 12 is moved by some small amount as by a slight addition o~ weighed material to the platter, and this movement is les~s than required to activate the mot:ion test o~ block 848, that ~ the lefthand .
.
,~ 0-.. ' ~ ' , .
~cket 6196 exit pa,h from blocks 850 and updating of net weight and total value quantities will continue so that the scale is continuously and actively responsive to e~en minute changes of weight on the platter while total value is displayed. Ir during total value display it is desired again to display the net weight value which is being used to obtain the updated total ~alue, the operator may, of course, disturb the platter. Platter disturbance activates the motion test of block 848 and causes compute cycle aborting. Alternately, the operator can also return the scale to weight display mode by striking clear entry Xey CE which is sensed at block 544 (Fig. 5A) and provokes an immediate compute cycle by way of blocks 548 and 549.
In the compute cycle which results from a clear key entry, the key test and decoding sequence of blocks 601-620 I5 are performed and the right hand exit from block 621 em-: ployed. The scale is in the total value~mode~and therefore : . .
out of the weight:dead zone, and the read price sequence of block 633 is commenced where the binary key number is read and tested at block 636 for being a clear key entry:.
20 The finding of a clear:key~code at block 636 results in . ~
a jump to the clear prlce u~routine at block 6~0. This :
subroutine which is shown~in Fig. 7, in blocks 724-731, ~
returns the sequence:counter to ~he weight displaying sequence ~ code of i'l", returns the price per unit weight memory~to~ the "0" condition,.blocks 725-728, and cIearsthe price-and~
~total key statuses, blocks 729 and 730, so that~the scale is placed in the weight display mode. ~It should~be noted that ~;
the clear price subroutine~does not erase the entered tare ` number, tare being erased~only upon the~scale chart belng ~ -61 :
: :
' ' ' ' -Docket 6196 ~95~
within the weight dead zone as indlcated by the lower exit from bloc3~ 813 in Fig. 8 down th:rough the block 822, where a lefthand exlt ~ads to the block 81~ and the tare clearing sequence occurs.
The blocks 633-640 s.eps which access the clear price subroutine are omitted from Fig.-8 for simplicity; if shown, the steps would be located between blocks 813 and 842.
ComPute Cycle - O~rall The paths 843, 845, 847 and 849 in Fig. 8 indicates f~ur possible compute cycle sequence combinations in the present scale. In the course of describing these four paths and describing the function blocks in Fig. 8, several compute cycle sequence paths in addition to these four paths have also been defined. For exam~le, the path leading~rom~the righthand exit of block 860 when the scale is in the price per pound~ mode but the total key~status memory has not been~set,~the compute cycle abort path from the lefthand exit of -block 855 when the weight indicating ohart is positloned out~of the weight dead zone; a~d the total~key depressed prior~to~a price entry being made, have all been described~ From the description of the four paths 843, 845,~847, and 849 and the described modi-fications of these paths, it should~be clear that a great number of variations are possible in the route by which . ~ : .
25 passage throug~ the compute cycle events from block B02 throu~h block 840 is achieved. I~ each possible path between b}ocks 802 and 840 is considered, e.g., including such modi~ica-tions as path change a~ter the firs~ and second and third price per unit weight~ dlgit are~entered, the number of possi-30: ble diferent p~ths~8Q2 to 804 could~be quite~large. ~isted-belo~i ~-62-: . : .
, .
.
Doc};et 61~,9 ~ ~
are scale events which result in the major different paths ~rom block 802 through 840 in Fig. 8. The num~ers 843, 845, 847 and 8~9 in the list identify entries which correspond to paths indicated in Fig. 8.
List of Compute Cycle Sequences 1. quiescent ~^Jith 0.00 displayed 2. enter tare from keyboard (843) 3. tare display rou~ine (845) : 4. second tare entry:from keyboard ` :10 5. article received on scale (chart moving)
6. chart stopped, chart out of range
7. chart stopped (in range), compute net weight
8. display net weight (847)
9. enter ~irst digit of price per unlt weight :
(minimum weight~dIsplay time expired)
(minimum weight~dIsplay time expired)
10. enter first digit of price per unit wei~ht welght display~too short) : ~ ~
: :
enter second digit o~ price per unit weight 12. enter total key ~minlmum price per pound display~
. ~20 expi~red) (849)~
13~ enter::total~key~price:per pound dlsp~}ay too short)~
` 14. compute total price .
-~ 15. change~platter~weight~(no motlon si`gnal) 16. ~lsplay tot~al-price~
25~ ~ 17~ :change~platter weight:~(motion ~signal but~chart ~ doesn't enter WDZ) : ~ 18.- change platter weight (chart enters~WDZ) ;: ~ :
, ' . ' .
, r~ f~
Dock~t 6196 From the description o~ the flow charts in Figs. 5, 6, 7, 8 and 9, with the program listing of ~able I, persons skilled in the art can identify the various possible paths between the blo~ks 802 and 840 in Fig, 8. - - -Typical compute cycle operating times for this scale are listed below. Incorporation of events performed in even the shortest of these sequences into the 5.95 millisecond communlcate - cycle sequences would significantly alter the communicate cycle operating time and diminish the display multiplex ratio, the portion of the communicate cycle whereln the display elements are illuminated. Such incorporation could also diminish the assurance of capturing a closed key in real time operation~
Hence, it is significant that the sequences of the communicate ànd compute cycles are separatecl and apportioned as described,-to assure complete scale functioning with a minimum of electronic - components, and compatible wi~h human response intervals, such . . . . .
as finger (digit) manipulation of keys or other manual devices, and visual recognition, deciphering, etc., of the display.
~ Display weight, weight mode 4 ms (milliseconds) - 20 Display weight, two tare sub- -- - - `
tractions - 5 ms - Key entry, price~pounds mode 3.7 ms Motion aborted compute cycle 0.8 ms Total Value Compute ( 3 digit 25 x 3 digit multiply) 37 ms - Bven though the computation of total value requires xepeated use of the steps in blocks 9635-9642 (Fig. 6D) requir-ing computer time during which operatio~ o the real time display ~ is prevented, the operating sequence of the scale is so arrangcd that this cessation of display occurs during transition between ~ -6~-Docket 6196 the price per unit weLght display mode and the total price mode. Location of the time consuming compute operation in this position is ef~ective to prevent display degradation both when the display is sequencing through the weight/pr~ce per unit weight!total price sequence in response toopera-tor aetions, platter loading, numeral entry, etc., and also when the scale is sequencing through its operating sequence automatically after platter motion, or in the altexnate scale embodiment deseribed herein wherein net weight, price per unit weight and total priee are displayed in an automatic sequenee.
- - - -~ Interlocking - It should be noted that even though the sequence compute cycle, co~l~unicate cycle, compute cycle is pre-cipi',ated by a compute cycle abort event, a repeated series of compute eycles which would terminate operation of the real time dis-play is prevented by an interlocking arrangement. An example of this interlocking arrangement is found in the situation where a key closure has been verified as valid by the block 532-549 sequence (Fig. 5A), and an immediate compute cycle ; precipitated by the update counter setting of block 548.
If this keyboard initiated compute cycle should end with a eompute eycle abort as, for example, would occur if the operator had pressed two keys in the same vertical eolumn ~block 617) it would appear that the steps of bloek 651 and 652 in the compute cycle abort sequence ~update counter set to maximum in order that a compute cycle immediately follow ' .
-65~
~, . ~
Docket 619 6 ~ ~ 5~7 ~
the communicate cycle initiated at block 652) would have the effect of locking the scale in a repeated series of compute cycle operations. It should be noted, however, that this un-desired operation does not occur since the keyboard status "words" of block ~32-549 preclude keyboard reading and decoding in the resultinq compute cycle until an "all key open"
condition has been sensed. Even though the operator maintains ` a closed key closure condition, oni.y one compute cycle will be devoted to an attempted reading of double keys as h result of ~- 10 the interlocking provided by the keyboard status steps, blocks : 532-549. In the compute cycle which results from update counter setting-at block 651 the keyboard reading and decoding steps of block 605-619 will not occur and the compute~cycle abort condition of block 617 will bè avoided since the test ~ lS of block 604 precludes keyboard activity:until the~"all~key open" condi~tion has been:~detected. ~The.keyboard:status ~ se~uence~of ~locks 532-549 ~is simi~larly effective:to prevent other acts.per~orméd on the keyboard from noticeably alfecting: :
operation of the real time display~
~ It is:~also to be noted tha~ no:.~ac~s per~ormed on the.scale-platter can~-alter~the deslred motlon signal response-~ .
~ which is to.~blank~the ~lsplay~ Motion~:(or "no~ tion");slgnal : ~ is derived~directly.~from the-chart: and the photocells A--N, ~ ~ thus, this~signal l5 dire.ctly related~to whether or not:the .~ 25 ~weight code signal ~eing~"read" l:s changing, and~whether::~the~
platter has stabil`izéd with an article on`it. Moreover, events occurring during the~compute cycle~of~the~present;scale~ such~
as co~putation, are;aenerally i~mune to cperator~intervention, : ~except for scale~motion)::.since: com~un~catLon of;the microco~.puter ~ ~ :
6-- :
~ .
, Doc~et ~196 with outside events occurs during corNmunicate cycle operation or the s~7stem.
Sequence and ~pda'~e Cou~ter Operation In th~ preceding description, it will be noted that t~o counters, the display update counter and the sequence counter, are used to determine the operating seql~ence of the present scale. In particular, the display update counter which is located within the CPU (register pair 7, see Intel handboo]~) is used to determine when a sufficient number of trips through the communicate cycle have occurred, and a trip through the computate sequence is therefore appropriate.
As indicated above, the update counter can reach the count of "0" condition either as a result of being incremented one count each ti~ a t.rip through the c~mm~nicate cycIe is performed, or as~a result of presetting (bloo~k 505). It : should be noted that the update counter (CPV register pair 7 : : is separate and distinct from the update counter status word at RAM register loca~ion~5~ (Fig. 11). The update counter :status word is used to indicate ~hen a ~full 171 communicate ` 20 ~ cycles have been counted~and approximately one second has , : : .
:~elapsed, wit~:the price per uni~t weight entry being dlsplayed;
5.975 ms X;~171 e~uals. 1.022 sec.
:The sequence counter is located~at RAM location "0"
(Fig. ll) while the~addr2ss information needed~for acces.sing :25~ this RAM~location i.s permanently stored in CPU register~pair 6 ~:
; (a~progxamnung convenience~ As indica~ed in the firs~ column : : o~ Table II, six ~equence counter:states are contemplated, identifiec~by counts l,~l0,~l2, 13, 14 and 15. ~ Each of these : . ~ : :: ~: :
. ~ . . :
:
~ 67~
- : : : : : . : ~ . :
:
Doc};et 6196 ~0~5~7Z
states is force~ or preset in the sequence countcr rather than obtained ~y incrementing f~om a previous state. (The sequence counter in this sense can be considered a sequence con,rol register.) ~he sequence counter serves two major functions in the scale, the first of these functions being selection of p2~1S through the compute cycle sequence of bloc~s 802-840 in Fig. ~. Examples of this sequence counter function are found at bloc~s 850, 852 and 854. The second function of the sequence counter is to control which of the function ~ord - signs 32, 35, 36, 37 and 38 (Fig. 2) are to be illuminated in a display event. The relation between sequence counter codes and the function word signs is shown in column 1 of Table II.
~ It should be noted that during Dl time in the communicate cycle, the contents of RAM location 1!Oll is placed on the dispiay driving lines (Figs. 4B and C) in precisely the same manner as the contents of RAM locations 1-4 d~ring the time intervals D2 to D5. In decoding the RAM location 0-4 signals sequence counter states of "1'` and "10" control the same function lamp, e.g., the~"lbs" lamp, while~sequence counter state "15" prov~id~s no lamp illumlnation as indicated in the first column o Table II.
The~sequence counter is placed in a count of "1"
at block 572 any time ~he scale is found to be in motion.
~25 This assures that the scale will return to the weight display mode following detection~of motion. The sequence counter~is also set to a Count~ of "1" at block 678 upon detecting chart out o range error, in order that the~scale remain in the ~ ::
,: :
68- ~
:: ~ , : ~ ' .
7~
Docket 6196 .
weight reading and indicating mode and be restrained from entering a subsequent mode until this condition is corrected.
The sPquence counter is also set to a count of "1" at block 724 in the clear price subroutine, in order that'the scale - 5 return to the weight display'mode in response to closure of the clear key CE detected at block 639. The sequence counter - ' is also set to "1" at block 502 ln order that weight mode operation occur following power up. ~ ;~
The sequence counter is placed in a count of "10", which also results in illumination of only the "lbs" function sign, at block 9608 when the scale weight chart is located in ~ the weight dead zone and 171 trips through the communicate cycle have been performed. With the sequence counter in ' the count of "10l', the decision block8854 allows the scale to enter the price per unit weight display mode.
With-the scale in the weiyht display mode and the weight indicatlng chart out of-the weight dead zone, the sequence counter is placed in the count of "12" to illuminate both the "weightll and 'llbs" function lamps 33 and 32 (Figs. 2 20 and 4C) as shown at blocks 9607 and 9610, this condition ~
lndicating that w~ight has been placed on the scale platter.
The sequence counter is set in a count "13ll ~herein the function'signs l'pricei' and "per lb" are illuminated at block 9658 following Pntry of the first price per unit weight digit.
The sequence counter is placed in the count "14";
the total mode, wherein the function signs "total" and "price"
are illuminate~ at block 9649, once the total value or product has been computed. In each o the abo~e corditions ', ', ' '' .. .
- -: . , . ' Doc~;et ~196 ~9 wh~re the sequence c~unter is set to a new state, it should be noted that a requirement for the settillg to this new state is ~hat the counter be already in the next lower state. That is, the sequence counter is al~ays changed from any of the states in column 1 of Table I~ to the state immediately following, without the possibility of jumping or reversing.
Cor.~unicate Timiny . _ _ In the lower portion of Fig. 10 there is shown a timing dia~ram ~hich describes events occuring during the com~unication cycle of the present scale. As indicated in the second line of this timing diagram, the information ~hich d~termines which of the display segments, e, f, g and decimal point ~dp) are to be illumlnated, appears at the-ROM "0"
output port some 85 microseconds prior~to the Dl timing i~ pulse and is terminated s~le 40 microsecon~s followins the -~ end o~ the Dl timing pulse. Segment selection ~or illumlnating is~determined by which of the e~, f, g and dp signals are present. The posslbility o~no segments from this group being present is indicated by dotted li~nes in~FLg. 10. After the ~0~ desired e~, , g and~dp~segment inform~ation~has been placed on ;~ ~ the ROM l0" output port~lines, the~Dl pulse~`commences to initiate current flow in the~selected segment.~ In a similar ~
manner, the data selected for the a, b, c and d segments, i e., ~ the top, the rlghthand~op slde, the rlghthand lower s~ide and - 25 ~the bottom of~a numeral eigh~r~appears~some 40 microseconds ahead of~the Dl pulse and termlnates~some 85 microsecond~s after the - ~ :
` ~ Dl pulse, the~:current: ~flow~tlme again being ~eined by the Dl pulse.
:
`:' ' ~cket 6196 ~9~7Z
In the lowest llne of ~he Plg. lO timing chart, the location and duration of the infor~tion sampling strobe pulses withi~ D time inter~-als is defined, the locations of these timing pulses in the lower portio~ of ~ig. 10 can, of course, be determined from the inp~t/output communication inform~tion contained in the Intel _ser's Manual.
Alternate En~odiments In the preferred embodiment of the scale, the display remains in the total price display mode permanently once a proper total key entry has been made (i.e., permanently until operator intervention). It is, of course, possible to modify this such that the scale, while in the total value mode, repeats the display sequence of weight/price per pound/
total value continuously, in order that the s~cale user has , -repeate~ access to each of the numbers relating to thearticle being weighed. A modification to~the communicate~
.
c~cle flow diagram of Fig. 5, which accomplishes this repeated '-.
cycling t-hrough the weight/price per pound/total-value, display sequence while in the total value mode, is'shown in Fig. 9O
20 ~ The blocks 567 to 57S represent the~motion testing sequence block of~67 to 575 in Pig. 5B, with the~,exception that the ` ~ block 572 has been omitted, this block being inserted as the last step in~the dified form of the blank display subroutine shown at 700 to~ 710 iD Flg. 9. ' ~ ~
Moving block;572 from its normaI~position in~Fig. 5 to a location ln the~blank displa~ subroutine has the~effect of returning the sequence counter in Table II to the~coun~t of "1"
(the weight display mode) each time the display bla~k subroutine~
~ -71-`
S~7~
Docket 6196 block 700 to 710 is utili~ed in the program. Tlle use of the blanX display subroutine which is effective to return the scale to the desired weight display mode occurs at block 594 in Fig. 5, where the display ~lank subroutine is employed for flashing the total price displa~. ~ith the ~odified form of the display blank subroutine, sho~n at 700 to 710 in Fig. 9, after the total price has been displayed for one update countj the sequence counter ~ill be rekurned to the count of `'l" and the information stored in the net weight, price per unit wei~ht, and total price RAM memory,locations accessed in turn during different routes between blocks 802~
and 840 in Fig. 8, which occur in response ~to route modifying decisions.
It should be noted that removing the a~ressing ,~
~ and setting of the sequence~counter to a~co~unt of "l", ~ indicated at block ~572, to the alternate position at 975'in ,~ the modified display suhroutine of Fig.~9, has no effect on the Fig. S motion test sequence of blocks 567-575, since the blank dLsplay subroutlne is acce~ssed at,blook~574 and 20-~ the desired settlng of the sequence~counter to a "l" is `; ~ ,therein performed.
- Another ~ternate~arrangement~of,the~present scale , achieves operation wherein~removal of àn article from~the scale'platter causes~the~display 20 to~return permanently ~ ;
25~ "to the weLght~indicating~ mo~e, remalning,~in this~ mode unt the~operator makes a~new pr~ ce per unit welght~entry.
Permanent residing~in the~weigh~display~mode fol-, lowing platter clesring~aan be~.achi~ved~as~ i~llustrated~by the ; blocks 567 to:973 Ln Fig.~-~9,~these~blocks,bei~ a modi~ied , . . .
- : . : : .
Doc~t c196 ~99S1 7æ
version of the motion testing sequence of block 567-575 in Fig, 5 . In th~ mction test:in~ sequence of Fig. 9, the bloc~;
973 has been adde~ in orde~- that a jump to the clear price memory subroutine occur in response ~o detecting motion 5 during a communicate cycle operation. As indicated by blocks 724-731 in ~ig. 7A the clear price subroutine includes setting the sequence counter to a count of "1", block 724, accessing and zeroing each digit of the price per unit weight memory, block 725-72~, clearing the price entry and total key status blocks 729 and 730, and return to the communicate cycle operation. In this sequence returning the sequencing counter to the count of "1" provides the scale with abilit~ to remain in the price per unit weigh~
mode until a new price per uni~t weight entry is made by the -15 operator.
Subroutines In connection with~ the alternate embodiments described above the blank display~and clear ~pr`ice ~subroutines were described. Fig. 7 shows the subrou ines~ employed for (l) .
20~ performing addition during~ the total value `computation,sequence of blocks 9637-9642 in~Flg.~ 6;~ (2) transferring~data be~ween RA~ emory locationa as performed in the~left shlfting~o prLce per unlt~weight diglts~ at R~M~locations ll-lS in F~
` (3~ rounding to: lncremeDt and drop digits from the total~ price 25 ~product before transer to the display memo,ry'at R~M locations 4; and (4) code' converting~ to change- the grRy~ code~ used~ on the scale weight c'hart to~binary coded decimal form. ' , `
; ~ ~73~
.
, . . . ~ . . . ~ , . , ~. .
Docket 6196 ~9~
The "add" subroutine shown at blocks 711-722 in Fig. 7 performs the addition of two digits in the CPU accumu-lator, block 712 and 714, deciMal adjusts the accumulator, bloc~ 715, transfers the accumulated sum to memory, and then increments addresses to access higher order digits, block 719 and transfers the generated carry bit to the accumulator and then to the sum bloc~s 720 and 721. The decirnal adjus~ step of block 715 is performed by the DAA instructions at line 7340 in Table I. This instruction performs the function of changing ~10 the BCD accumulator numbers to declmal weighted numbers as explained in the Intel User's Manual.
The transfer data subxoutine ~ block 732~-739 reads the first digit of data from its originallocation into the CPU
accumulator block 732, then writes the accumulator:data into ; 15 the designated~new memory addxess block 735~, and- increments ~: both new and old addresses~block 737 until~the test:of block 738 indicates the desired transfer to be complete.
:~ The round~subrout1ne of blocks 755-760 in ~ig. 7B
~ includes loa~i~g a rounding constant of value of 5 into the~
~20 ~;accumulàtor block 755; th;ls~constant~:is added to the number ~ being rounded~to~determine i~ it has~a value of 5 or more;
-~: performing the additionj block:757, decimal adj.usting the ~ ~ accumulator contents, block-758~ us1ng the~D~ instruction : . ~
àt line 7540~in Table I,~loading the rounded~digits in memory,~ :
:b}ock~759, testing~.for the presence o~a ¢arry~bit;:indicating next hi~her:number .incrementing i~s.to be performed, and addlng: ;
the carry bit to th~ accumulator~ contents~ for:the purpose of~ ; :
incrementlng the~next:~higher~igit.~`~This~next higher digit lS ~ -at block 762, for the ne~t:~following trip through~the.~blocXs ~:~
757-760 sequence. ~Return to the;compute~cycle:sèquence is :: lndlcated at block~761-.
: _74~
':
Docket 6196 The code conversion subroutine of block 740-752 in Fig. 7B operates by designating a memory location for receiving the most significant digit of weight information, block 740, collecting the first gray code digit of weight information to the cleared accumulat:or, blocks 741 and 742, testing for the pre~ious weight digit being odd or even, block 744, storing the gray code digit in memory, block 747 and converting the gray code digit to binary coded decimal form, blocks 748. The conversion indicated at block 748 is performed with the conversion table at line 7950 in Table I.
The con~erted gray code digit is wrltten in binary coded decimal form in memory,a nd if found to be odd, a carry bit is loaded into the CPU accumulator at block 750 for use in making the test of block 744 durlng the next following trip through the code~convert sequence. The memory addresses ` for both the gray code and BCD converted numbers are decremented ; ~ at block 751 for the next trip through the block 740-752 sequence.
It should be noted that decrementing of the memory addresses is required since he code conversion sequence is performed first on the highest ordered digits. The test of block 752 is used to access successively lower order digits in the weight indicating gray code word.
- , ' ' ' ; ' --` -75-.
: :
-~ S~2 Dock~t 6196 140 000000000001 00101100 FIM P6 0 OADR OF SEQ .CTR
180 ooOOOOOOOlol I 1100000 ~RM ~SEI SEQ CTR
190 OOOOOOOool l.O 01010010 JMS E3LNK. ~JMP TO BLIIK DISP
. 00 1 000 1 000 210 OOOOOGOOlOOO 00101110 FIM P7 255 /SET UPDATE C1~2 2~0 ll~J11~1 230 OOOOOOOOlOJO 00100010 S.TRTl FIM Pl O ~AUR OF DISP MEM
250 000000001100 00100100 FIM P2 16~ADR OF RD-IN MEM
270 000000001 1 l O 001 00 1 10 FIM P3 33 ~ADR . OF ROM OUT
290 000000010000 0010.1000 FIM P4 23~ .
300 lllO1010 310 000000010010 00101010 ~IM P5 0 ~SET WASTE TIM
330 OOOOQOO I O I 00 00101 1 00 FIM :P6 () ~ADR OF SEQ CTR
340 . 00000000 350 000000010 1 l O J 1 1 1 0000 CLB
360 000000010 1.1 1 01000000 JUN SCAN
370 ooo I I I J I
o 200000011.001 . Cl 1.0 1^ 11 ';IAS~ C t 1 ~INC~ ~IA~>TE: T~M REG
390 000000011010 IOlOJOlI I.D 11 ~00 0000000 i 101 1 000 1 1 100 JCN NZA ~JAS.T ./TST REG = O
410 . 000~ 1001 420 00000001.1101 00101010 FIM. P5 8 /SET WAS~E TIME
430 : 0000 l 000 440 OOQOOOOIIIil 00100011 SCAN, SRC P1 450 000000100000 00100000 FIM PO 2~0 . ~ADF~.FOR FIN.INSTR
460 : I I I I 0000 470. OOOOOOlOOOlO 11101001. RDM ~RD DISP.MEM DIG
480 OOOOOOIOOOJ I 101 10001 - XCH I ~EXC~l FOR COI;~E~ CHANGE
490 0000001 001 00 1 1 1 1 1 l O l DCL
500 000000 1 00 1 0 1 00 11 0000 . FIN PO ; /CHANt~E COI:IE
510 oooooa I oo 1 1 o oo I ooo I I : SRC P I ~ADR RAM"O" I~UTPUT
520 0000001001 11 11100001 WMP .. JRESET DIG ADR
530 000000101000 OOlOOlOl SRC P2 540 OOOOOOlOlOOl :10110000 XCH O ~FETCH IST HALF OF COI~
550 000000101 O J O I I 1 00010 ~RR ~WR ON ROM " i~ OUIPlJTC
560 O()OOOOlO:lOl l 00100111 SRC P3 570 000000101100 10110001 XCH J ~F~TCH ~ND HALF OF CO~
580 000000 lOl J 0 1 1:1 1 00010 WRR J'~R ON ROM "~ OUTPUTr 590 0000001011J:O 101001 11 LD 7 ~iOO OOOOQO 10 ~ J I I 001000 1 I SRC P I ~ADR RAM UUTPl)T
,.. : ~,. . . : . . . ..... .
' , . ' : ' . ' ' . .
' ~ '' . ' ' ' ' , , ' , ' ' . ' ' ' ' -.' , ~ ~7 6 .
;
Doc~et 6196 610 OOOOOO l l OOOO l l 1 OOOO l WMP /WP. DIG ADR
620 OOOOOO l l OOO I l I l O l O l O R~R /RD INPUT TO ROM J)OJ~
630 OOGOOO l l OO l O OO l OO l O l SRC P2 /ADP. MEM POS
640 oOOOOO l l OO l l l l l OOOOO WRM /~YR INPUT
650 000000 l l O l OO O l l OOO l l I NC 3 / I NCR I~EM A~R
660 OOOOOO l lOiOl Ol l OOl 0~ INC 5 /I~CR RD-IN ~.IEt~ ADR
670 OOOOOOllOllO OllOO~ll INC 7 ~INCR RAM OU~ ADR680OOOOCO i ] O l l 1 011 l 1001 ISZ 9 WAS.T /CT NO OF DIG SCAND
690OOOllOOl 700OOOOOO l J lD~ l OOO l l 100 SCA2, JCN NZA KDSA /T5T FOR KY DN
710OlOOOl~l 720OOOOOOlJl011 lOlOOlll LD 7 730 OOOOOOll]lOO OOlOOOll SRC Pl /ADR RAM OUTPUT
740 OOOOOO l l l l O l l l l OOOO l WMP /WR DI~ NO
750 OOOOOOl l ll lO ll]OlOlO RDR fRD INPUT
7~0 OOOOOO l l l l 1 1 OO l OO l O l SRC P2 /ADR MEM POS
770 OOCOOl OOOOOO l l lOOOOO ~iRM fWR INPUT
780 OOOOOl OOOOO l O l l OOl Ol INC 5 790 OOOOO l O OOO l O O.l l OO l l l I NC .7 800 OOOOOl OOOOl l O l l l l OOO ISZ 8 SCA2 810 001]lOOl 820 OQOOOlQOOlOl 00010100 JCN A~ WK`YD flST:FOR KY DN
840 OOOOOl OOO l I I l l l O~ l Ol KDSA, RDl fRD ~:KY - DN STAT ~'A~
850 OOOOO l OO l OOO l I l l O l l O RAR
860 ooooolaolool I 1 1 101 10: RAR
~7~ OOCOO l CO ' v . v. ~ Cvv J G~ I O J CN C l KDSB /TS.~ K Y-~N S~AT ~' A"
890 OOOOOl OO l l OQ . l l lO l ] 00 RDO ZRD MOT S~AT
900 OOOOOlOOllOl .OOOlllOO . JCN NZA KSAI fTST FOR ~OT
9!0 01010001 920 OOOOO l OO L l l l I J O I l l l l LDM l 5 930 QOOOOlOl OOOO l 1100l lO~ WR2 ~WR MOT RD INHI~
940 OOOOOlOlOOOl lllOilOi XSAl, RDI : :
:950 OOOOOlOlOO:lO-llllOO!o : IAC
960 OOOOOlOl COl l 01000000 JUN WKY~ : /JMP TO WR S~AT J'~h`"
910 . O.l lOlOlO
980 OOQQOIOIOI;Ol:: II I1000 I KDSB, LC
990 OQOOOIO10.110 1 1101101 : RVI
1~000 0000010101 11 1 1110101 : RAL
1010 00000101 10~)0 OCOI 0010 JCN Cl WDZT frsl KY-DN S~AT J'BJ' 1~020 O~ 10~0:1 1 : -1030 00000 ] 0.1 1 01:0: 001 001 00 FI M P2 21 : /ADR OF CLR KY
~040 . : 0.001010~ ~
105Q 00000101 1100 QOlOOiOI `:~: SRC P2 IO~SO OQOOOIOI.IIOl 111.01001: RD,U fRD CLR KY
1 070 O C)000 1 0 1 1 1 10 l: l .l l O i O 1 ` ~ RAL
1080~ OOCOOIQ~ .li oooloolo ~ JCN C1 KSBl: frS:I CLR I~Y. :~ .
I Q90 : 0~ 1 00 :1 1 0 , : ~ ~ `
l l OQ OOQQ~ OOQO I 001.000 1 1 ~ SRC Pl :
~7~7~
::
.:
.. .. .
' - : . .:
~9~
Doc}iet 6196 lilO 000001100010 1110111I RD3 /RD TOT KY S~AT
1120 0000011 00011 00100101 SRC P~
~i30 OOOOOJIOOI 00 00011100 JCN hlZA WKYD fTS~ FOR T~T KY
1140 0110~010 1150 oOOoOllOOlZO 0010.1110 KSBI, FI.~I P7 255- fSET UPD,4TE CTR
1180 000001101001 IJ100111 ~'YR3 /~YR KY-- DN S~AT ~'CJJ
1]90 000001101010 11100101 WKYD, WRl f~R KY-- DN S~AT "A~ 'B~' 1210 / WEIGHT DEAD ZONE TES.T
1230 000001101011 00100100 WDZT, ~IM P2 20 ~AD2 MSD CELL Rl)G
1250 000001101101 llliOOOO CLB
i260 OOOoOI101110 Oo100JOI SRC P2 1270 000001 101111 IilOlOOJ RDM JRD MSD CELLS
~280 000001110000 00010100 JC:N AO i'^lD;~I fTS:I J'1,~J' 8- 13~U _ O
1290 olllooll 1310 OOOOOlllOOil 00100011 ~lDZI, SRC Pl 1320 oOoOOI110100 ~JIoOloO ~YRO - ~WR~WDZ STAT
1330 000001110101 00011100 : JCN NZA MOTS fTS:r FOR~ DZ
13~0 I 0000111 1350 000001110l3:1 OlOlOOiO JMS .CLER fJMP :TO CLEAR P~ ~F
13~j~) IûOI1011 ~ ~
1370 OoOOO]lllOol 11101110 RD2 fRD TAFiE RESEI STAT1380 0000011~1010 00010100 JC~I~ AOhlOTS ~ fTST:FOR TARE RESEI
1390 100001`1~
1400~ OOOOOtl:113QO 11110000 ~ CLB
IAIO OOQOOlIlJ101: IllO~liO . WR2 : ~ ~ JCLR TARE PESET STAT
1420 000001tl1110 00100:~00 .FIM P2 28 1~30 .OOol~
1440 OOOOIOOOOOOO~ OQlO:~O10 ~ FIM ~P5 1:2 : . fSET .P~O OF DIG
-450 `OOOoll-OQ~
14~SO 000010000010 OOIOOIOJ TARZ, SRC.P2 /ADR TARE )!EM ~ :
1470 OOQOI 00000.11 11100000 ` WRM fZERO .TARE MEhl 1:480 00001:0000100 011.00101 ~- .INO 5 1490: 00001 0000101 01Il-lO:li ISZ .11 'rARZ
150Q - I OOOOOlQ: ::
1520 f- MOTION` TES.T
1540 :QOOOIC1000111 00100101 ~ MOTS, SRC .P2 1550 OOOOIQOOI OOO- 11101110 ~ ~ RD2 1560:: :OOOOIQOOIOOI::00011]00:~: JCNNZA INDC ,'TS~ TO JMP MOT~RD
157Q - . 1001:1101: : :
1580` 000010001011 00100100: ~ ~ FIM P2 16 :
~5S'O ~oo~ oooo ~ : :
1600 00001 0001101 001.0~0101 ~ SRC P2 ~ fADB INPUI STAI` MEM ~ ;
.
Docket 6196 1610 000010001110 11101001 RDM ~RD INPUT S~AT
1620 oooo I ooo I I I ~ I l l l o l l o RAR
1630 OOOOl OOlOOoo 00011010 JCN. CO MOTI /TST FOR MOTION
1640 1001101 ~
1650 oooo I oo I oo I o I ~ o I I l I I LDM 15 1670 ooool oololoo OOlol lOl SRC P6 /ADR SEQ CTR
1690 OOOOl OOlOi 10 I l ] 00000 WR~l fSET SEQ CTR = 1 1700 OOoO10010111 01010010 JMS BLNK /JMP TO BLANK DISP
1710 ~0001000 1720 OOOOICOIIOOI O~OoOOOo JUN INDC ~JMP TO CONT
17301001 ~ 101 174000001001101I 11110000 MOTI, CLB
1750000010011100 11100100 WRO ~RESET MOT 51AT
1770 / INCREMENT UPDATE~COUNTER
i79000001001] 101 011011.11 INDC, INC 15 jINCR UPDATE CTR JJAJ~
180000~010011110 10101111 LD 15 18100000100111:11 00011100 JCN NZA S.TRT JTST CTR FOR ~ERO
18200000~010 i 830OooO l O l OOoO I oO I O 1 101 SRC P6 /ADR SEQ CTR
1850 oOOOlOl0~011 111~1011 ADM ~
1860 Qoc~lol~)o!no QO011030 JC~l CO I~lDI ::.,'TSI Cca C.R - ~T
1870 . 10110001:
1880 OOOOlOlOOllO 1.1110001: CLC
1890 000010100~111 tlO30010 LDM 2 lgOO 000010101000 10001110 ADD:14 1910 000010101001 OQOI~O10~ JCN~CO IND4 ~TST crR ~l Bl' = 14 1920 - I1001 000~
1930OOOOlOlOlol l 11011111 LDM 15:
1940000010101l-00 Il:lOOQOO : WRM /SET SEQ CTR = 15:1950000010301101 Ol:OI:OO10: : JMS BLNK /JMP TO: BLANK DISP .0-: I 000 1 0 00 ~
1970OQOOlOiOllli-O1 000000 .JUN IN~4 1980~: J1001000:
19~90~00001:0110001 1 1.310010 INDI, IAC
2000: 00001011.0010 OOOiOOI-O JCN Cl IND4 JTS.T SEa CTR = 13 20~10llOO:1000 ~: :
2020OOOOlOl lOlQO 00100010 ~ FIM Pl g 2030oooo~oo~
2040OOOOIQl 10:1:10: 00100011 ~ SRC Pi /ADR MSD. OF :STOR MEM
20500000101 lOt 11 J 10101~1:0 LDM 6 : :
2060 000010111 0~0 1110101-1 . :~ ADM : : ~ .
. :2070OOQO10111001 00011010 : JCN CO IND4 ~TS~ FOR: "-~; SIGN
2080:~ 01000 20900000101.1101 I 10101: 110 ~ ~ LD 14 2100 OQOO I~ O l ~l l l OO ~ l l. l l O.I 10 ` ~ ~AR~
. -. . .. ., - . . . . . . . . . . . . .. .
.
, ~
~, ~ - : - -.. . : . . : . , . .
~7~d Dc)cket 6196 2 1 1 O 0000 l 0 1 I 1 1 O l . l I I l O I t 0 .FIAR
2120 OOOOlOlllllO OOQllOlO JCN C0 IND2 /TST CTR J'B" FOR BIN 2 2130 llOOOOll 2140 OOOOllO00000 llOlllll ~ LDM 15 /LD BLNI~ CODE IN ACCM
2150 OOOO l l OOOOOl OlO00000 JUN IND3 2160 l]OOOlO0 2170 Ot)OOl l OOOOI l 11011011 IND2,LDM 11 ,~LD Jl~ SIGN IN AOCM
2180 000011000100 00100010 IND3~FIM Pl 4 2 i 90 00000 l 00 2200 000011000110 OOlOOOll SRC Pl /ADR MSD 0~ DISP ME~
2210 000011 000111 11100000 WRM f WR ~--" OR " BLNK~
2220 000011001000 ~ OoOl IND4,CLC
2230 oooolloolQ01 ollolllo INC 14 ~INCR UPDATE CTR 3~BJ~2240 000011001010 lOlOlllO LD 14 2250 00001 lDOIOI I OOOl l l O0 JCN NZA. STRT /TST CTR FOR 7ERO
2270 000011001101 0010111.0 FIM P7 85 ~SET UPDATE CTR
2280 0~0101~1 2290 ~
2310 ~
2320 OOOOJ I 001.~ 1 l OOlOOlOl SRC P2 2330 0000110~ 0000 11101 t l l RD3 ~RD KY--DN STAT ~C"
2340 000011010001 111001.10 WR2 2350 0000110100] 0 000111 00 JCN NZA KET3 ~TS:I KY--DN sTAT "C~
~.~60 110.11010 2370 0000 1 1 0 1 0 1 00 00 1 000 1 1:1 KET2, FIM .P I 5 239C) OOOQl lO10110 00100031 SRC Pl ~ADR UPDATE CTR STAT
24 00 OOOO J 1010113 11100000 WRM /WR UPDATE .CTR STAT
2410 00001] 011000 01 000001 JUI`~ RDP2 2~2C~ 011010~1 2430 0000110.11010 .01 000001 KET3,JUN KETS ~JMP TO TS:I Ky ENTRY
2440 . 00000000 24~;) *240 2460 000031110000 lo~ g1 247~ 000011110001 10000110 134 24~30 00001 1110010 1101101~ 219 2~gO 000011110011 11001111 20~
250Q oooolllloloo lJlOOllO 230 2510 00001 1110101 IJ101 ~O~ 237 2520 000011~10110 ~1]1~10~ 253 2530 0000111101.11 10000~ 35 2540 00001 1~1~000 11111 111 255 2550 OOOO ] l l l l OO l l l l O l l. l l 239 2560 000011111010 000001 ~ O 6 2570 000011 ~ 11011 01000000 64 :
2580 0000111 ~I 100 01~00011 i ~7 2600 000011 111.110 00101 oc~o 40 ~80--.
. .
~s~
Doc)cet 619 6 2610 00001 1 1 1 1 i I ~ (:0000000 0 2620 ~*256 2630 0001 00000000 1 I t I 0000 KETS, CLB
26~0 000100000001 1 1 1001 1 1 ~R3 ~RESET KY-DN STAT J'C-~
26~00~0100000010 00100100 FIM P2 21 ~ADR OF KY MEM
2670000100000 J 00 00100110 FI M P3 0 JKY NO CORR CNS.T
2680oooooooo 2~90000100000110 oololoJo FIM P5 13 ~SET NO CF DIG
27000000 ~ 101 2710000100001000 00101110 FIM P7 128 /SET UPDATE CTR.
2730000100001010 OOlOOlOJ KETl, SRC P2 27400001000010] 1 1 ~ 101001 RDM ~RD KY NO
2750000100001100 ooo l l l 00 JCN NZA RDKY ~TS.T KY NO = O
2780000100001111 .11010100 . LDM
2790000100010000 100001. I l ADD 7 2800OQOIOOOIOOOI 10110111 XCH 7 ~SET NEW CORR
281.0000100010010 01111011 ISZ 11 KETI ~TS~ NO OF DIG
~830030100010~00 OJOOOOOO KET4, JUN:KET2 :/JMP- UPDTE CTR STAT
2840:1 1.010~00 28S0 / :
2860- fR AD KEY RO~TINE:
2870 ~ -2880 000100010110- 00100000 RDKY9 FIM PO 240 . :fkDR FOR :FIN INSIR
28~0 ~ ~ ~ 1110000 ~
2900 000100011000 i 1111100 :: KBP
2910 0001000:11001 i l l 10100 CMA
2~20 OOOlOOOliOiO o~oolo!oo ~ ~ : JCN AO:RDP:l :/TST F~:MPL ~YS
2~30 - ~ 10000000:
2940 OOO l OOO l l l:OO 11110100 ~ CMA ~ . :
2950 000~0001~10] 10000111 ~ ADD 7 : ~ADD GORRECTION
2960 OOOlOOQllllQ 10.110001 . `XCH 1 : ~ -2g70 00010001 J 111 00 i.l 0000 :: FIN PO /XCH COUES
2~80- 000100100000 00100011 . SRC Pl: `
29gO000100100001 1-1101100 - : RDO /RD WDZ SIAT
30000001001000)0 OQOI I 100 :: JCN NZA RDPR~TS~ WDZ : ~ :
3010~O ~ 000:~110 : :
302QOOD i OO 100100 00100100 - FI M P2 16 3030.: 00010000 ~ .:
3040000100100110 :00100101 SRC P2 /ADR SIAT SW MEM~
30~0000100100111 1]101001 . RDM :: ~RD STAT SW~ MEM
306Q000100101000 J l l ~0110 :~ R4R
3070OOO l OO l O i OO I l l. l l O:i.] O - RAR~
3080QOOtOO101010 OOOl.OOl Q JCN Cl: RDP:l /TS~ FOR TARE INHIB30~0~ 1 OOOOOOO
3100ooolooioiloQ ool~:oo!:oQ FIM ~2 2:8::
~: :
.
- : ' : .. .
.
I~ck'~t 61~ 6 3120 000100101 1 10 C0100 10] SRC P2 /ADR TARE MEM
3130 000100101111 11010100 LD~ 4 3150 00010011000 i 00010010 JCN O l RDK I /TST FOR TOT KY
3160 . 001 1 1 1 10 31~0 OOOlQOI.10100 OOOIOOIQ JC:N Cl ZTAR /TST FOR CLR KY
3200 0001001101 10 00100010 FIM .PI 25' /ADR OF 2ND ~IG TARE
3220 OOOlOOillOOO 11101001 RDM /RD lST DIG TARE
3230 OOO l OO I l ~ 001 00100011 SRC P I
3240 0~')100I l lOiO 11100000 '~iRM /WR IN 2ND DIG PClS
3250 0001001 11011 00100101 SRC P2 /ADR ~IS:r DIG 7~EM
3260 0001 001 ~1 1.00 1 O I 00001 LD
3270 COO IOO I I 1101 11100000 WRM /WR ~ IN TARE MEIl 3280 00010011 l l lO Q1000001 RDKl ~ JUN WTR.T
3290 l OOOO l OO
3300 0~0101000000 ~00101010 ZTAR9 FIM P5 12 fSET NO OF DIG
33 1 0 0000 1 ~ 00 3 320 0 001 O 10 QOO 1 0 00 1 O 1 1~1 0 .FI M P7 2 55 ~S ET :UPDATE CTR
3340 0.00101000100 01000000 J~N TARZ /J~,4P TO ZERa; TARE
3350 . l OOOOO 10 3~6C COOI~!OC~ O JIO)IQ:II RnPR~ l~M 11 3370 000 i 010001.J I 10010001 SUB I
3380 OOO l O l OO l OCO 000 l O l OO JCN AO ZKEY ~TSI FQR CLR KY
3390 ~ Ol~l l l.l lO
340Q OOOlOl~OlOtO 11110~01 CL C
3410 OOO IQ ~ OOI OJ 1 11101111 RD3 fRD .TOT KY STAT
3420 000-101001100 OOO l l l GO JCN MZA ~ R~P 1 /TST FOR PREY .TOT
3440 OOOlOiOOlllq llO30100 LDM :4 3450 000101001 111 lOpOOOO I ADD `1 3460 000101 O I OOQO 00010010 JC N C I UKEY /TST FOR . TOT KY
3470 : 01: 1 i OO~
3480 OOO I Q I D I OO I O 10 l 00001 :: LD 1 :
3490 .00010JOlOOI:I OOI:QOQOO FIM~PO 10:
3510 .OOOlOiO10101 OOI OOOOJ SRC PO /ADR PR ENTRY ME~
3520 0~010-10101 10 1 1 100000 ~ WRM~ R ND
3530 000101010111 ~oloooi~o: . FIM .PI ~3: JADR QF LS REG : -3540 ~ OOlOlOl~l :
3550 .OOOlO:lOI I OOl ~ 00100100 - ~ FIM P 2 1::1. ~ fSET NO OF DIG `
3560 000010 ~
~3570~ OOOlO10110ll 0101001:0 : JMS TRNS /XFR~PR TO LS REG
3580 . - lOl~ Qli 3590 .000101011101 001:00000 FIM PO 43 ~ADR ~F I S REG
360Q ~ 00:1;010 ~
, ~ . : . . .
: - 8 2 ~
: . . - . , . ` . . ` -' Doc};et 6196 3610 000101011111 001000i0 F:[M P1 .11 /ADR OF PR MEM
363Q 000101100001 00100100 F:[M P2 27 /SET NO UF DIG
3650 000101100011 01010010 JMS TRNS /XFR PR TO ME~
3660 10]0]011 3670 000101]00101 11011111 L~M 15 3080 000]01]00~10 11100101 ~Rl 3690 OOOIOIIOOIIJ 00100010 FI~ Pl 5 3710 000101101001 00100011 SRC P] /AVR UPDATE CTR S.TAT
3720. 000101101010 1] 100000 WRM fSET UPDATE CTR STAT
3730 000101101011 001 ~0101 RDP2, SRC P2 37ao 000]0.1101100 11101100 R~0 3750 .000] 01 } 01101 00011100 JCN NZA RDP1 /TSI MOT S~AT
3760 . 10000000 3770 000101101111 ~01000010 JUN TSEQ
3780 00000~00 3790 000101110001 J 1110001 DKEY, ~CLC
:3800 000101110010 I l lOl lOi RD1 ~R~ PR ENTRY STAT
3810 00010.111001i 00010100 . JCN AO RDPI /TS.T PR ENTRY STAT
3830 OOOIOI.J 10101 111001 31 WR3 /SET TOT.KY STAT
3840 0001011~0~10 11100110 WR2 . ~SET TARE RESET SIAT
3850 000101 J 10111 00100100 :rIM P2::16 3860 000 ~ 0000 ~
3870 000101111001 00100101 SRC P2 /ADR .INPUT SIAT .~.~EM
3880` B0010111:1010 IIIQIOOI ~ RDM ~RD INPUT:S.TAT
3890 ooololll!oll 1~t~1110: XCH:14 ~fSET UPDATE CTR
39Q0 000101111100 01000001 : JUN ~P2 fJMP TO MOT SIAT TST
3910 0~ 101011 . : ::
3920000101: 111110 ~10]001:0: ZKEY, JMS.CLER: ~JMP TO CLR PR MM
39301001~011 3940000110000000 OQIOIII0:- RDP1, FIM.P7~ 255 /SET UPDATE CTR
3960 000110000010 01000000: . JUN STRT ~RETURN .TO START
3g70 : ~ - 00~01010 3~8~
3990 ~ WElGHT~RANGE TESI
4010 0001~0000100;0atCO100 WTRIs:FIM.P2 18 /ADR OF 2ND DI:G CELLS
4020 - ~ OOQ10010~. : . :
4030 000110000110 001DV101 SRC P2`
4040 000 1 l 0000 ! ~ 101001 : RDM
4050 0001:10001000 1:1~10110.~ RAR
40~0 000110001001 ~00110:10~ JCN CO:WTRD /TST Jl~ll IN D~RK
4070 : ~ : 1 OO ! o I oo : :4080 0001JO.001011:11 IIOItO RAR
4090 000110001100 1~1101.30 RAR
4100 0001.10001101 0001~1010: JCN CO WTRD ~TSI "~'`IN DARK
.
, . . -: , . . `` ~ : ` ~::
... . . ~ .. ... ..... . ..
. .
: ~
:
.
; : : ~ 8 ~ -s~
D~cket 5196 4110' 1,0010100 -4120ODOl.IOOOIIII 0010~101 SRC.P6 /ADR SEO CTR
4130oOOllOOJOOOO .11010001 LC)M 1 4140000110010001 11100000 ~IRM /SET SEQ CTR = 1 4150OOOll.OOlOOiO 01000010 JUN ERRD /JhlP TO DISP ERROR
41600~ 100 4180 / COMPUTE NET WEIGHT - .
4200 000.~ 1.0010100 01010010 WTRDl JMS SDCH ~JMP TO CNVT CODE
4210 1 ~-0]0J 00 4220 000110010110 00100000 CNWT, FIM PO 17 fADR OF WT MEM
4230 ooo l ooo ~
4240 OOOJ t 0011 000 00100010 FIM P I 28 ~ADR OF TARE MEM
4250 ooo I l ~ 00 4260 000110011010 00100100 FI 1.5 P2 5 /ADR DF STOR MEM
4270 0000010~
4280 000110011100 00100110 FIM .P3 ]O /SET CORR CONSTANT
4290 00001OlO
4300-- 000110011~10 00101000 FIM P4 32 /ADR OF TARE .STAT
4320000110100000 001010~0 FIM P5 12 /SET NO OF DIG
43AO 000110100010 Jll~OOOO SUB5 , CLB
4350 0001 10100011 00100001 SU~I, SRC PO - /ADR WT MEM (MINUEND) 43~0 000.1 101001 00 I 1 10] 001 RD?.l 437Q 000.110.100101 0010001~ SRC Pl /ADR TARE (SUBTRA31END3 - 4380 OOOl]OlOOliO 1JiO1000 SBM
4390 000110100] 11 00010010 JCN Cl SUB3 /TST FOR CORR REQMT4400 . 10~01100 4410 000]10101001 10000111 ADD 7 4421:~ 000~ 10101010 01000001 JUN SUB2 4430 . 10101101 4440 00011.0] 01100 . I I I I 0001 SUB3, CLC
4450 OOOJ1010~101 01 1.00101 SUB2, ~NC 5 4460 0001 10101.1 10 00100101 SRC P2 fADR -STOR MEM (DIFF) 4470 000110101111 111 ()0000 WRM /WR VALUE
4480 0001101.10000 01 i 00001 INC
.4490 0001~0110001 01100011 INC 3 4500 000~301J0010 01 111011 ISZ 11 SUBI ~TST NO OF DIG
4~10 - ~01000~1 .
4520 000110~10100 OOQIIOIO JCN CO SUB4 ~TS:I VALID SUBT
4530 1 t 000000 4540 000110110110 00100000 FIM PO 28 .~DR OF TARE MEM
4550 0001]100 4560 ~)0110111000 001 QOO 10 - FI M P 1 17 ~ADR OF ~'iT .MEM
4570 . 00010001 4590 . COO~O l O I
4600 000110] 1] 100 00]0~1010 FIM P5 44 /SET ND OF DIG . .
. : , .
.
5~
Docket 619 6 , 461000101~00 4620000110111110 .01000001 JUN SUB5 ~JMP - SUBT WT FRM TAR
4630JO~OOOIO
4640000111000000 10101010 SUB4, LD 10 4650oOOlllOOODOI 00101001 SRC P4 ~ADR TARE STAT
4660000111000010 111.00100 WRO ~WR TARE STAT
4670000111000011 00010100 JCN AO WTDS /T5T lST OR 2ND SUBTN
469000011100010l OOlOOlOJ SRC P2 .4700 000111000110 .11011011 LDM I I
4710000111000111 l l l OOOC~O ~YRM fWR ''-" SIGN IN MSD
4~20 ~
`~740 4750000111001000 0010-101 WTDS, SRC P6 /ADR SEQ CTR
4760000111001001 ~1010010 LDM 2 4770000111001010 1~101011 ADM
4780OOOlllDO1011 00010010 JCN Cl WTD3 fTST SEQ CTR = 14 47901101111~
48~0 000001~O
4820 000111001 111 00100010 .FIM Pl 1 ,~ADR l:lF~ISP MEM
4840 000 1 1 10 10~01 00 ] 00 1 00 .FIM P2 12 ,'SET NO OF DIG
4850 00001~00 48600001~1010011 Illolloo RDO ~RD W~Z STAT
4~70OO~t:lOlOlOC ODOl.1100 JCN ~ZA ~'I~Dl fTS.
4880~1011001 4890000111010110 ~10.11010 LDM 10 . /LD iO CO~E IN ACCM
4900 0001.3101011101000001 JUN WTD2 4910 1 10.1 1010 4920 00011101100111011100 WTDl, LDM 12 ~LD CODE ~ ' IN ACCb5 49300001.11011010 11100000 WTD2, P~RM ~3'lR CODE IN SEQ CTR
4940 0001110.1101 1.0101.0010 JMS TRNS /XFR STOR MEM TO DISP
49~0 lU~O1011 4960 00011101110101000010 JUN DISI ~JMP TC3 DISP TEST
4g70 01110010 4980 00011101111101000010 ~YTD3, JUN COMT ~JMP TO CMPT TST
4990 0~00000 5000 .*496 ~0~0 0001 1 1 1 10000 00000000 0 ~020 0001 1 1 1 10001 00000001 . I
5030 0001]1110010 000001~0 4 ~050 000111110~00 00001011 11 5060 0001111~0101 00000010 2 5070 000~111101100000010~ 5 5080 000 1 1.1 1 10 1 1 1 00001 000 8 5090 000 ~ ~ 1 1 1 1 000 OoooooOo o ~oo o~ oo? 0000001~ 3 .. . . . .
.
, ' . , . : :
7~
D~c~et 619 6 5110 0001111110~0 00000110 6 5120 OOOllllltOII 00001001 9 5 1 30 000 i I I 1 1 1 ~ 00 0000 1 1 00 1 2 51 .0 0001 1 1 ] 1 ~ 101 00000000 0 5160 0001 1 1 1 1 1.~ 1 1 00000000 0 5170 -*512 5190 / SEQUE~JCE COU3~1TER TEST
521 0001 000000000 00 1 0 11 0 I TSEO, SRC P6 /ADR SEQ CTR
52~0001000000011 00010010 JCN Cl TSEI ~T81 CTR - CO~E 14 5 260 I 0OOogoooo I O ooo 1 0010 JCN C l CD,I.~T / TST CTR = CODE 13 52Q~00100000 52900010000010.00 ~lOlOi.10 LDM 6 531000100~001010 0001.0010 JCN Cl TPRE: /TST CTR ~ CODE 9 53330001000001 1~0: 01000001 TSEl, ~JUN WTRT /JMP TO IYT R~i TST
5340- l OQOO 100 5360~ PRICE~ ENIRY TESI ~ ~
5380001000001110 00100011 TPRE, SRC P I ~ADR PR ENTRY S.TAT
5390001000001111 11110001 CLC fRD PR E~TRY STAT
5400l 000o l o0ool ooo l~ JCN AO TSEI~TSI~ FOR PR EN~RY~
543000 i 000010011 ~ 0010 ~ 101 PR~ 1, SRC P6~DR SEQ CTR ~-5440 .00 l OOOQ,10100 11011 I03 : ~ w2~ ~ /SET SE~ CTR = 13 .
5460 001000010-110 00300000 ~ FI~ .PO 11 ~/ADR OF PR MEM ; : :
5480 .03iOQOO:l~OOO 00100010 ~ : FIM: Pl l~ /ADR OF D;ISP MEM:
5500 001000011010 QOlOOlOo~ ~ FIM P2 12 /SET ~0 OF :DIG
555520 - 001 000011 100 ololoolo ~ ~MS TRNS fXE~R PR~ ID DISP ~ ; -5540 001000011110 01000010; ~ JUN :~IST: ~JMP TO DISP TEST
5550 : 01~110010 5570 ~: COMPUIE .TOTAL PRICE ~
559Q : 00~1 oooi oo~oo ool ooolo ~COMT, ~FIM ~ Pl S . ~ ;
:
- ~ ~
- ` : : -, ~
DOCket 6196 5620001000100011 1110111; RD3 /RD STAT
5630001000100100 00010100 JCN AO.PREI fTSI FOR TOT KY
565000100010Q110 11101001 RDM ~RD UPDATE CTR SIAT
5660001000100111 00011100 JCN NZA PRE1 ~TST FOR ZERO
56800010001~1001 11110000 COMP~ CLB
5730001000101110 00100013 PROZ, 5RC P1 /ADR PROD MEM
57400010001011.11 11~00000 WR~ ZERO PROD M~M
57600010001.10001 011.11011 ISZ 11 PRO~ ~CT NO OF DIG
57700010!110 5780001000110011 1l10.1100 RDO ~RD TARE STAT
5~0~01111100 5810001000110110 00101010 Flh~ P5 J2 582000001.1QO - -5840- ~ 00001011 5850001000111010 ~0101001 MPY4? SRC P4 5860 . 00100011 1Ol 1 11101000 SBM ~16 COMP - MPLR DIG
5870 001000111100 00010100 JCN AO MPY2 fTST FOR ZERO
5880 01C~O1 5890 001000111110 101110~0 - XCH jO /STOR COMP - MPL2 Dl~5900 0010QO111111 00100110 MPY1, FIM P3 12 59~0 00001100 5920 001001000001 00100100 FIM P2 35 ~ADR ~F PROD
5930 00100011 ~ -5940 001001000Q11 ~0100010 FIM P1 35 ~ADR OF PART PROD
5~5~ CO100011 5960 001001000101 00100000 - FIM PO 6 fADR OF MPLCN
5970 000001.10 5980 ~01001000111 01010010 - J~S ADD fADD ~PLCN TO PART PRO~J
6000 OQ1001001001 01111010 ISZ 10 MPY1 ~INCR MPLR DIG COMP
-60~0 001l 111~
: : : - -602Q 001001001011 01101001 MPY2, INC 9 6030 001001001100 011.11011 IS~ 11 MPY3 050 001 001 001 1 10 01 000010 J~N VLPD ~JMP TO RND VAL
6060 .01011101-: . 6070 0010010100GO 00100000 MPY3, FIM PO 33 tS080 00 1 0000 1 . : .
: ` 6090 00100101.0010 00100010 . FIM P1 32 - -. ~ 6100 . 00100000 . ~ , .. .. .
~ ,: ' . .' . .`' ' ' ' . ' , : . ' .
:, - . . .
~ ,_ , . . . . . ... ....
.
, . - .
.
~ -, ~3~Z
Docket 6196 6130 Oû10û1010110 01010010 .JMSTRNS ~SHIFT PART PROD
6~40 .. lOJ0101 ~
6150 001001011 000 11110000 . CLB
6160 .001001011001 00100011 SRC Pl 6170 001001011010 11100000 ~RM ~2ERO MSD
6180 .001001011011 0 I G00010 JU N MPY4 ~'JM P TO CONT MU LT
6190 001.1 1010 6200 f 6210 / ROUND VALUE ~ TRANSFER TO DISPLAY
6220 ~ .
6230 001001011101 001 00000VLRD, FIM PO 33 /ADR OF DIG TO RND
6250 001.001011111 01010010 JMS RND /RND TOTAL PR ICE
~260 110001.. 11 ~2~ . OQ.IOOIIOOOOI OOIOIIOI VLTR, SRC P6 ~ADR SEQ CTR
6280001 00 1~ 00010 1 1 0 1 1 1:~0 LDM 1-4 629000100 110001 i 11100000 WRM /SET SEQ CTR = 14 -6300001001100100 001 0~)000 FIM PO 34 ~ADR OF LSD YAL
632000100 1 100 1 10 001 00010 FIM P 1 1 ~ADR OF DISP`7~EM
6340.001001101000 00100100 FIM P2 12 ~SET NO OF DI G
63~0 - 00001100 6360 OOlOû~ ;ûiCiO OlO;GOiO - JhlS TRNS fXFR YJ~L TO DI'-R
6370 - ~0101031 6390~01001101101 11101001 RDM
6400003001101110 .00010100 JCN AO DIST /TST FOR ZERO
6410. - - 0 1 1 1 00 1 0 ~ ' ' 6420-0010011 10000 01000010 JUN ERRD ~JMP TO DISP ERROR
6430~ ~ ~ 1111100 6~60 6470001001 1 1.0010 001 00000 DIST" FIM Pû 4 ~ADR MSD OF DISP hlEM
6480 : 00000100 6490001 00 1 1 10 1 00 Oû l ûûOO I . SRC PO
6500001001110101 11101001 RDM ~RD MSD
6510001001110110 00011100 . JCN NZA DISI ~TST MSD ~ O
6530001001111000 I l O i 1 1 1 1 LDM 15 6~40001001111001 1110000û WRM ~BLNK MSD
655000 1 00 11. 1 1 0 1 0 0 1 000000 DISI, JUN .STRT ~RETURN TO START
o560~ . , 1 i O
6580 / ERROR ~ISPLAY
6590 ~
6600 00100111110û 001 00000 ERRD, FIM PO I fADR OF DISP MEM
.
'' . . ~ ' 1. ' ' i ' ' . '' . :. ' . . . -, : ` . .. . .. .... .
, ~ ~ . :, .. : . . . . . . .
.. ~ ,., .. . ~ ,, . - . -.. ~ .. .. .. .
.; :
.-.
., ,~ ' , ' .
-. - , .
.
... --.. . -: ~
Docket 619 6 3~ 7f~
6610 oooooool Fl~l P5 12 /SET 1~0 OF DIG
6640 0010l llOIIOo~ ERRI LSRCpo /WR ERROR CODE
6660 00101 000001 0 1 1100000 WRM ~INCR DIG ADR
66~0 001010000100 01111011 ISZlt ERRl /TST Nt~ OF DIG
6700 001010000110 01000000 IUN SIRT ~RETURN TO START
6730 / Bl ANK DISPLAY ROUTIN
6750 001010001000 00100000 BLNK, FIM PO 1 /ADR OF DISP MEM
66770 001010001010 OOlOOOlO FI1~ Pl 6 ~ADR OF SlOR MEM
6790 OOlOlCOOllOO 00101010 FIM-P5 204 fSET NO OF DIG
6810 001010001~10 11110000 CLB /ADR STOR ME~I~
6820 .DO1010001111 0010001] BLNl, SRC /CLEAR STGR MEM
6830 00 1 ~:) I 00 1 0000 1 1 1 00000 6840 0001 01 00l OOlO o l 1 1 1010 ISZ 10 BLNI ~TST NO OF DIG
6~ 0^1~ G l ^V 110~ BLN2 SCRC PO JADR DIS -ME~
6900 ~ ootolQOotloOO ollllolt ISZ 11 BLN2 /Tsl NO OF DIG
65'30 QO1010011010 ~t! ~ ~RETURN
6950 / CLEAR PRI::E ROUTIl~E ~
6970 001010011011 11010001~ CLER, LD 1 /ADR SEQ CTR
6980.- 001010011100 00101101 WRM /SET 5Ea CTR = I
69~?0 DOIottoOoI1l0O~ oo 1~oo80Q ~ F : ~ADR l:lF PR:.M1A
702Q 001010100000 00101010 FIhl P5 -iO JSET.NO OF DIG
7050 D;)~tOtO10001-1~ 001~00001 CLRl, SRC PO /ADR DIG
7060 OOlOlOlOOlOQ: 11100000 INC I /INCR MEM~ADR
778o~ oooolootootooot lo oo~ ololt ISZ 11 CLR~l /TSI~N QF DIG
7090 ~ olO~Ol01000~ 11100101 ~ ~
: : . . . - - . :
,, : :
89- :~
-.
D~cket 6196 7110 001010101001 11100111 WR3 /ZERO TOT KY S~AT
7120 001010101010 11000000 BBL. O /RETURN
7]40 / TRANSFER DATA ROUTINE
7160 001010]01011 11 110000 TRNS, CLB
7]70 OOlolO101 lOo OOloOoO] rRNI, SRC PO /ADR l)ATA
7180 DOlOIOlOI101 11101001 RDhl /RD DATA
7190 001010101110 001 OOOI 1 SRC` P1 fADR NEW LOCATION
7220 00101 0 1 1 OOCI 0 11 000 11 INC 3 /INCR 1~1EW DATA ADR
7230001010110010 01~10101 ISZ 5 TRNl /INCR CHAR CTR
724010101.100 7250 .001.0]0110103 liOOOOOO BBL O
7~70 / ADD ROUTINE
7240001010110101 11110000 AD~, CLB
7300001010~10.110 00100001 ADDl, SRC PO /ADR ADDEND
7310001010110111 1~101001 RDM ~RD ADDEND
7320001010111000 00100011 SRC Pl ~ADR hUGEND
7330001010111001 11101011 ~ADM /ADD AUGtND
7340OOlOiOI11010 11 111011 DAA ~ ~D ADJUST
7350OOlOlOlliOil 00100101 SRC P2 /ADR SUM
7360 . 001010111100 11100000: WRM /WR SUM
7370 . OOlDlOIlllOI 01100001 INC I
7340 .001010111111 01100101 INC 5 7400001011000000 01.1101.11 ISZ 7 ADDl ~INCR CHAR CTR
7420001011000010 llllOllJ. TCC
743000101.1000011 :00100101 SRC P2 ~ADR SUM .
7440001011000100 111010:11 ADM ~ADD LASl CARRY
7450001011000101 11100000:. ~ WRM : ~WR SUM
7460001011000110 llQOQOOO: BBL:O
74:70 7480 :/ ROUND ROUTINE
7500001011000111 11110000 RND~ CLB:
7510001011001000 .11010101 . LDM 5 7520OQ1011001001 0010000]- RND2~ SRC PO /ADR RND DATA
753000101 lOO1010 1 i 101011 ` A3N -7540 oolol!oololl I:lllloll DAA : :
7 550 ~ oo l o 1 1 oo ! I oo I 1 1: ooooo WRM ~ IJ? RouNDED DATA
75:60oOIol !ool lol QOO10010`~: : JCN C:I RND4` /TSTFOR CA~:2RY7570-: .11010000 758000101.10011~11 1]000000: BBL 0: ::~
755'0 00101 IOI;OQOO I 11 10:1.11 : RND4~ TCC ~ /X~R CARRY
7~iOO 001011010001 01 100001 INC 1 - , . .
- " ` . - . ~
, ~ - . : ~ :
. .
, , -g o_ ~
:
' ~ ', -.. ' ~ ' , ~ -, ~ ' . ' ' " . . , , ' . '' , ' ., - , . . .
Doc]i~t 6196 ~ 7~2 !
7610001011010010 01000010 JUN RND2 /JMP T0 RND MORE DI~
7620. 110~1001 7~50 76~0001013010100 00100100 CDCH, FII~I P2 20 /A3R DF CELL READING
7680. O0101J010110 00101000 FIM P4 12 ~7700 001011011000 OOJ 00000 FIM PO 240 /ADR OF CHA~ TABLE
7710 1~110000 7720 D~1011011010 11110000 CLB 1:
7730001011011011 OOID3101 CDC, SRC P2 /ADR C~lAR
7740001011011100 11101001 RDM /RD CHAR ¦ -7750001011011101 aooloo]o JCN Cl BII~V /~ST FOR ODD-EVEN
77601 ~ 101011 7770001011011111 10110001 INVR, XCH I ~STOR FOR FIN II~S~R
7780001011100000 0011.0010 FIN Pl ~ ¦
7800001011100010 11100000 ~RM : /WR T0 MEh~ .
7810001011100011 101.00101 LD 5 78~0001 Q 111 G0100 11111000 DAC
7830~OIOIl lQ0101 10110101 XCH 5 . fMODIFY CELL MEM ADR ` .
7~4000101 ~ 100~ 10 10100011 LD 3 .
785000101.1100111 1 1 1101 !0 .RAR /SIOR ODD-EVEN BIT ~ .
7860001011101000 Ol.lllOOi ISZ 9 CDC- ~CONV 4 DIG
78701101~ 1011 . ~ .
7880001011101010 11000000~ BBL 0 7890001011101011 11~101:01 B`IN~/~ RAL ~ :
7900001011]01~00 11110011 SMC -~COMP 4TH BIT
7910 D31011101101 l l l lQI 10 .RA~
: -792000101~101 i10 OiOQ0010`~: ~ JU~:lNYR
7~30~ 110111 }~
7940*752 : :
7g50. OO~OI l l lOQ00 00000000 -~ 0 7g600010~ 1110001 OOOQ0000~ 0 : :
797000101 ~ 110010 00000010 `~ ~2 7980OO l O l l l :l Q011 OOOQOOO I
79900010111 i ~ 100 00000100 ~
8Q00 ~ 00101 ~11010~ O00oQoOQ~: o :
8010 001011110110 ooooco! I 3 : ~
8020 001011 ~ 10111 00000000 ~ o Q30 Q0101 i I 11 :OQ0 - 00000000::: O :
8040: QOIOlllll~Q01 00001001 ~ ~ 9 8050 0010111~1101-0 000001~ 7 8060 00101111~10:11 00001000: 8 :
8070 001011 i-l l ~ 00 000~0]~01`~ ~ ~ 5 . ~ : :
8080 ~001011111 ~ 101 00000000 ~ : 0 . :~0~0- 00 ~ 011111110 ~ 00000 :110 ~ 6 ~
~100 00101 ~ I 001300000~ .0~ .
- - . :
:
- ~ . . ~ .
j~Q3~3 U~ U~
~rl UJ
E~
Z o U~ U~
. ~ ~
3 ~ JJ ~o r`
O ~ . .
V F~~ ~i o E~ ~
~ U~ 11.11 11 11 Et ~ o .
3 a) U~ U~ U ~1 a :C ~ U U~
.i ~ X Q) t~ Z ~2 ~ H ~ O
il 11 11 11 11 ,~
O
rH~I R
1: q) a : .
O O ,~ ~ ~ ~r Ln ID 1~ ~
~,) ~ Q C~ a a a a a ~ n1I n ~ 1l 1l 1l 1l 1~ 1l E~ ~ o ~ o ~ o ,~ o ~1 o Z ~ oo _~ ~ o ~ ~ ~ o ~ ~ :~ C~O O O ~1 ~1 ~1 ~1 0 H ~ P~ O O' O O O O O O O ~1 H ~ ~ N
r:n m rn ,,~ r~
:
:
~ ~ E~
o :~
o Xg P; o o--i ~ ~ : , . . .
~o ~
~ -~ o: ~
a) . o ~ Q~
P~ v c ? V : W ~ ~a o o * ~
:
R
r~
rr~ .C` ~ ,~ X .
O ~1 E~ o rn _ ~a "
o ~ o ~: : .
' ' ~' : , ~ ` : ~ .
., : : : .
.
`. . ',` : , ' ' '' , ` ' `
s~
Docket 6196 , While the forms of apparatus herein described constitute preferred embodiments of this invention, it is to be understood that the invention is not limited to these precise forms o~ apparatus, and that changes may be made therein without departing rom the scope of the invention.
:~
.
~ ~ , .
: .
-q3~
a .
: :
enter second digit o~ price per unit weight 12. enter total key ~minlmum price per pound display~
. ~20 expi~red) (849)~
13~ enter::total~key~price:per pound dlsp~}ay too short)~
` 14. compute total price .
-~ 15. change~platter~weight~(no motlon si`gnal) 16. ~lsplay tot~al-price~
25~ ~ 17~ :change~platter weight:~(motion ~signal but~chart ~ doesn't enter WDZ) : ~ 18.- change platter weight (chart enters~WDZ) ;: ~ :
, ' . ' .
, r~ f~
Dock~t 6196 From the description o~ the flow charts in Figs. 5, 6, 7, 8 and 9, with the program listing of ~able I, persons skilled in the art can identify the various possible paths between the blo~ks 802 and 840 in Fig, 8. - - -Typical compute cycle operating times for this scale are listed below. Incorporation of events performed in even the shortest of these sequences into the 5.95 millisecond communlcate - cycle sequences would significantly alter the communicate cycle operating time and diminish the display multiplex ratio, the portion of the communicate cycle whereln the display elements are illuminated. Such incorporation could also diminish the assurance of capturing a closed key in real time operation~
Hence, it is significant that the sequences of the communicate ànd compute cycles are separatecl and apportioned as described,-to assure complete scale functioning with a minimum of electronic - components, and compatible wi~h human response intervals, such . . . . .
as finger (digit) manipulation of keys or other manual devices, and visual recognition, deciphering, etc., of the display.
~ Display weight, weight mode 4 ms (milliseconds) - 20 Display weight, two tare sub- -- - - `
tractions - 5 ms - Key entry, price~pounds mode 3.7 ms Motion aborted compute cycle 0.8 ms Total Value Compute ( 3 digit 25 x 3 digit multiply) 37 ms - Bven though the computation of total value requires xepeated use of the steps in blocks 9635-9642 (Fig. 6D) requir-ing computer time during which operatio~ o the real time display ~ is prevented, the operating sequence of the scale is so arrangcd that this cessation of display occurs during transition between ~ -6~-Docket 6196 the price per unit weLght display mode and the total price mode. Location of the time consuming compute operation in this position is ef~ective to prevent display degradation both when the display is sequencing through the weight/pr~ce per unit weight!total price sequence in response toopera-tor aetions, platter loading, numeral entry, etc., and also when the scale is sequencing through its operating sequence automatically after platter motion, or in the altexnate scale embodiment deseribed herein wherein net weight, price per unit weight and total priee are displayed in an automatic sequenee.
- - - -~ Interlocking - It should be noted that even though the sequence compute cycle, co~l~unicate cycle, compute cycle is pre-cipi',ated by a compute cycle abort event, a repeated series of compute eycles which would terminate operation of the real time dis-play is prevented by an interlocking arrangement. An example of this interlocking arrangement is found in the situation where a key closure has been verified as valid by the block 532-549 sequence (Fig. 5A), and an immediate compute cycle ; precipitated by the update counter setting of block 548.
If this keyboard initiated compute cycle should end with a eompute eycle abort as, for example, would occur if the operator had pressed two keys in the same vertical eolumn ~block 617) it would appear that the steps of bloek 651 and 652 in the compute cycle abort sequence ~update counter set to maximum in order that a compute cycle immediately follow ' .
-65~
~, . ~
Docket 619 6 ~ ~ 5~7 ~
the communicate cycle initiated at block 652) would have the effect of locking the scale in a repeated series of compute cycle operations. It should be noted, however, that this un-desired operation does not occur since the keyboard status "words" of block ~32-549 preclude keyboard reading and decoding in the resultinq compute cycle until an "all key open"
condition has been sensed. Even though the operator maintains ` a closed key closure condition, oni.y one compute cycle will be devoted to an attempted reading of double keys as h result of ~- 10 the interlocking provided by the keyboard status steps, blocks : 532-549. In the compute cycle which results from update counter setting-at block 651 the keyboard reading and decoding steps of block 605-619 will not occur and the compute~cycle abort condition of block 617 will bè avoided since the test ~ lS of block 604 precludes keyboard activity:until the~"all~key open" condi~tion has been:~detected. ~The.keyboard:status ~ se~uence~of ~locks 532-549 ~is simi~larly effective:to prevent other acts.per~orméd on the keyboard from noticeably alfecting: :
operation of the real time display~
~ It is:~also to be noted tha~ no:.~ac~s per~ormed on the.scale-platter can~-alter~the deslred motlon signal response-~ .
~ which is to.~blank~the ~lsplay~ Motion~:(or "no~ tion");slgnal : ~ is derived~directly.~from the-chart: and the photocells A--N, ~ ~ thus, this~signal l5 dire.ctly related~to whether or not:the .~ 25 ~weight code signal ~eing~"read" l:s changing, and~whether::~the~
platter has stabil`izéd with an article on`it. Moreover, events occurring during the~compute cycle~of~the~present;scale~ such~
as co~putation, are;aenerally i~mune to cperator~intervention, : ~except for scale~motion)::.since: com~un~catLon of;the microco~.puter ~ ~ :
6-- :
~ .
, Doc~et ~196 with outside events occurs during corNmunicate cycle operation or the s~7stem.
Sequence and ~pda'~e Cou~ter Operation In th~ preceding description, it will be noted that t~o counters, the display update counter and the sequence counter, are used to determine the operating seql~ence of the present scale. In particular, the display update counter which is located within the CPU (register pair 7, see Intel handboo]~) is used to determine when a sufficient number of trips through the communicate cycle have occurred, and a trip through the computate sequence is therefore appropriate.
As indicated above, the update counter can reach the count of "0" condition either as a result of being incremented one count each ti~ a t.rip through the c~mm~nicate cycIe is performed, or as~a result of presetting (bloo~k 505). It : should be noted that the update counter (CPV register pair 7 : : is separate and distinct from the update counter status word at RAM register loca~ion~5~ (Fig. 11). The update counter :status word is used to indicate ~hen a ~full 171 communicate ` 20 ~ cycles have been counted~and approximately one second has , : : .
:~elapsed, wit~:the price per uni~t weight entry being dlsplayed;
5.975 ms X;~171 e~uals. 1.022 sec.
:The sequence counter is located~at RAM location "0"
(Fig. ll) while the~addr2ss information needed~for acces.sing :25~ this RAM~location i.s permanently stored in CPU register~pair 6 ~:
; (a~progxamnung convenience~ As indica~ed in the firs~ column : : o~ Table II, six ~equence counter:states are contemplated, identifiec~by counts l,~l0,~l2, 13, 14 and 15. ~ Each of these : . ~ : :: ~: :
. ~ . . :
:
~ 67~
- : : : : : . : ~ . :
:
Doc};et 6196 ~0~5~7Z
states is force~ or preset in the sequence countcr rather than obtained ~y incrementing f~om a previous state. (The sequence counter in this sense can be considered a sequence con,rol register.) ~he sequence counter serves two major functions in the scale, the first of these functions being selection of p2~1S through the compute cycle sequence of bloc~s 802-840 in Fig. ~. Examples of this sequence counter function are found at bloc~s 850, 852 and 854. The second function of the sequence counter is to control which of the function ~ord - signs 32, 35, 36, 37 and 38 (Fig. 2) are to be illuminated in a display event. The relation between sequence counter codes and the function word signs is shown in column 1 of Table II.
~ It should be noted that during Dl time in the communicate cycle, the contents of RAM location 1!Oll is placed on the dispiay driving lines (Figs. 4B and C) in precisely the same manner as the contents of RAM locations 1-4 d~ring the time intervals D2 to D5. In decoding the RAM location 0-4 signals sequence counter states of "1'` and "10" control the same function lamp, e.g., the~"lbs" lamp, while~sequence counter state "15" prov~id~s no lamp illumlnation as indicated in the first column o Table II.
The~sequence counter is placed in a count of "1"
at block 572 any time ~he scale is found to be in motion.
~25 This assures that the scale will return to the weight display mode following detection~of motion. The sequence counter~is also set to a Count~ of "1" at block 678 upon detecting chart out o range error, in order that the~scale remain in the ~ ::
,: :
68- ~
:: ~ , : ~ ' .
7~
Docket 6196 .
weight reading and indicating mode and be restrained from entering a subsequent mode until this condition is corrected.
The sPquence counter is also set to a count of "1" at block 724 in the clear price subroutine, in order that'the scale - 5 return to the weight display'mode in response to closure of the clear key CE detected at block 639. The sequence counter - ' is also set to "1" at block 502 ln order that weight mode operation occur following power up. ~ ;~
The sequence counter is placed in a count of "10", which also results in illumination of only the "lbs" function sign, at block 9608 when the scale weight chart is located in ~ the weight dead zone and 171 trips through the communicate cycle have been performed. With the sequence counter in ' the count of "10l', the decision block8854 allows the scale to enter the price per unit weight display mode.
With-the scale in the weiyht display mode and the weight indicatlng chart out of-the weight dead zone, the sequence counter is placed in the count of "12" to illuminate both the "weightll and 'llbs" function lamps 33 and 32 (Figs. 2 20 and 4C) as shown at blocks 9607 and 9610, this condition ~
lndicating that w~ight has been placed on the scale platter.
The sequence counter is set in a count "13ll ~herein the function'signs l'pricei' and "per lb" are illuminated at block 9658 following Pntry of the first price per unit weight digit.
The sequence counter is placed in the count "14";
the total mode, wherein the function signs "total" and "price"
are illuminate~ at block 9649, once the total value or product has been computed. In each o the abo~e corditions ', ', ' '' .. .
- -: . , . ' Doc~;et ~196 ~9 wh~re the sequence c~unter is set to a new state, it should be noted that a requirement for the settillg to this new state is ~hat the counter be already in the next lower state. That is, the sequence counter is al~ays changed from any of the states in column 1 of Table I~ to the state immediately following, without the possibility of jumping or reversing.
Cor.~unicate Timiny . _ _ In the lower portion of Fig. 10 there is shown a timing dia~ram ~hich describes events occuring during the com~unication cycle of the present scale. As indicated in the second line of this timing diagram, the information ~hich d~termines which of the display segments, e, f, g and decimal point ~dp) are to be illumlnated, appears at the-ROM "0"
output port some 85 microseconds prior~to the Dl timing i~ pulse and is terminated s~le 40 microsecon~s followins the -~ end o~ the Dl timing pulse. Segment selection ~or illumlnating is~determined by which of the e~, f, g and dp signals are present. The posslbility o~no segments from this group being present is indicated by dotted li~nes in~FLg. 10. After the ~0~ desired e~, , g and~dp~segment inform~ation~has been placed on ;~ ~ the ROM l0" output port~lines, the~Dl pulse~`commences to initiate current flow in the~selected segment.~ In a similar ~
manner, the data selected for the a, b, c and d segments, i e., ~ the top, the rlghthand~op slde, the rlghthand lower s~ide and - 25 ~the bottom of~a numeral eigh~r~appears~some 40 microseconds ahead of~the Dl pulse and termlnates~some 85 microsecond~s after the - ~ :
` ~ Dl pulse, the~:current: ~flow~tlme again being ~eined by the Dl pulse.
:
`:' ' ~cket 6196 ~9~7Z
In the lowest llne of ~he Plg. lO timing chart, the location and duration of the infor~tion sampling strobe pulses withi~ D time inter~-als is defined, the locations of these timing pulses in the lower portio~ of ~ig. 10 can, of course, be determined from the inp~t/output communication inform~tion contained in the Intel _ser's Manual.
Alternate En~odiments In the preferred embodiment of the scale, the display remains in the total price display mode permanently once a proper total key entry has been made (i.e., permanently until operator intervention). It is, of course, possible to modify this such that the scale, while in the total value mode, repeats the display sequence of weight/price per pound/
total value continuously, in order that the s~cale user has , -repeate~ access to each of the numbers relating to thearticle being weighed. A modification to~the communicate~
.
c~cle flow diagram of Fig. 5, which accomplishes this repeated '-.
cycling t-hrough the weight/price per pound/total-value, display sequence while in the total value mode, is'shown in Fig. 9O
20 ~ The blocks 567 to 57S represent the~motion testing sequence block of~67 to 575 in Pig. 5B, with the~,exception that the ` ~ block 572 has been omitted, this block being inserted as the last step in~the dified form of the blank display subroutine shown at 700 to~ 710 iD Flg. 9. ' ~ ~
Moving block;572 from its normaI~position in~Fig. 5 to a location ln the~blank displa~ subroutine has the~effect of returning the sequence counter in Table II to the~coun~t of "1"
(the weight display mode) each time the display bla~k subroutine~
~ -71-`
S~7~
Docket 6196 block 700 to 710 is utili~ed in the program. Tlle use of the blanX display subroutine which is effective to return the scale to the desired weight display mode occurs at block 594 in Fig. 5, where the display ~lank subroutine is employed for flashing the total price displa~. ~ith the ~odified form of the display blank subroutine, sho~n at 700 to 710 in Fig. 9, after the total price has been displayed for one update countj the sequence counter ~ill be rekurned to the count of `'l" and the information stored in the net weight, price per unit wei~ht, and total price RAM memory,locations accessed in turn during different routes between blocks 802~
and 840 in Fig. 8, which occur in response ~to route modifying decisions.
It should be noted that removing the a~ressing ,~
~ and setting of the sequence~counter to a~co~unt of "l", ~ indicated at block ~572, to the alternate position at 975'in ,~ the modified display suhroutine of Fig.~9, has no effect on the Fig. S motion test sequence of blocks 567-575, since the blank dLsplay subroutlne is acce~ssed at,blook~574 and 20-~ the desired settlng of the sequence~counter to a "l" is `; ~ ,therein performed.
- Another ~ternate~arrangement~of,the~present scale , achieves operation wherein~removal of àn article from~the scale'platter causes~the~display 20 to~return permanently ~ ;
25~ "to the weLght~indicating~ mo~e, remalning,~in this~ mode unt the~operator makes a~new pr~ ce per unit welght~entry.
Permanent residing~in the~weigh~display~mode fol-, lowing platter clesring~aan be~.achi~ved~as~ i~llustrated~by the ; blocks 567 to:973 Ln Fig.~-~9,~these~blocks,bei~ a modi~ied , . . .
- : . : : .
Doc~t c196 ~99S1 7æ
version of the motion testing sequence of block 567-575 in Fig, 5 . In th~ mction test:in~ sequence of Fig. 9, the bloc~;
973 has been adde~ in orde~- that a jump to the clear price memory subroutine occur in response ~o detecting motion 5 during a communicate cycle operation. As indicated by blocks 724-731 in ~ig. 7A the clear price subroutine includes setting the sequence counter to a count of "1", block 724, accessing and zeroing each digit of the price per unit weight memory, block 725-72~, clearing the price entry and total key status blocks 729 and 730, and return to the communicate cycle operation. In this sequence returning the sequencing counter to the count of "1" provides the scale with abilit~ to remain in the price per unit weigh~
mode until a new price per uni~t weight entry is made by the -15 operator.
Subroutines In connection with~ the alternate embodiments described above the blank display~and clear ~pr`ice ~subroutines were described. Fig. 7 shows the subrou ines~ employed for (l) .
20~ performing addition during~ the total value `computation,sequence of blocks 9637-9642 in~Flg.~ 6;~ (2) transferring~data be~ween RA~ emory locationa as performed in the~left shlfting~o prLce per unlt~weight diglts~ at R~M~locations ll-lS in F~
` (3~ rounding to: lncremeDt and drop digits from the total~ price 25 ~product before transer to the display memo,ry'at R~M locations 4; and (4) code' converting~ to change- the grRy~ code~ used~ on the scale weight c'hart to~binary coded decimal form. ' , `
; ~ ~73~
.
, . . . ~ . . . ~ , . , ~. .
Docket 6196 ~9~
The "add" subroutine shown at blocks 711-722 in Fig. 7 performs the addition of two digits in the CPU accumu-lator, block 712 and 714, deciMal adjusts the accumulator, bloc~ 715, transfers the accumulated sum to memory, and then increments addresses to access higher order digits, block 719 and transfers the generated carry bit to the accumulator and then to the sum bloc~s 720 and 721. The decirnal adjus~ step of block 715 is performed by the DAA instructions at line 7340 in Table I. This instruction performs the function of changing ~10 the BCD accumulator numbers to declmal weighted numbers as explained in the Intel User's Manual.
The transfer data subxoutine ~ block 732~-739 reads the first digit of data from its originallocation into the CPU
accumulator block 732, then writes the accumulator:data into ; 15 the designated~new memory addxess block 735~, and- increments ~: both new and old addresses~block 737 until~the test:of block 738 indicates the desired transfer to be complete.
:~ The round~subrout1ne of blocks 755-760 in ~ig. 7B
~ includes loa~i~g a rounding constant of value of 5 into the~
~20 ~;accumulàtor block 755; th;ls~constant~:is added to the number ~ being rounded~to~determine i~ it has~a value of 5 or more;
-~: performing the additionj block:757, decimal adj.usting the ~ ~ accumulator contents, block-758~ us1ng the~D~ instruction : . ~
àt line 7540~in Table I,~loading the rounded~digits in memory,~ :
:b}ock~759, testing~.for the presence o~a ¢arry~bit;:indicating next hi~her:number .incrementing i~s.to be performed, and addlng: ;
the carry bit to th~ accumulator~ contents~ for:the purpose of~ ; :
incrementlng the~next:~higher~igit.~`~This~next higher digit lS ~ -at block 762, for the ne~t:~following trip through~the.~blocXs ~:~
757-760 sequence. ~Return to the;compute~cycle:sèquence is :: lndlcated at block~761-.
: _74~
':
Docket 6196 The code conversion subroutine of block 740-752 in Fig. 7B operates by designating a memory location for receiving the most significant digit of weight information, block 740, collecting the first gray code digit of weight information to the cleared accumulat:or, blocks 741 and 742, testing for the pre~ious weight digit being odd or even, block 744, storing the gray code digit in memory, block 747 and converting the gray code digit to binary coded decimal form, blocks 748. The conversion indicated at block 748 is performed with the conversion table at line 7950 in Table I.
The con~erted gray code digit is wrltten in binary coded decimal form in memory,a nd if found to be odd, a carry bit is loaded into the CPU accumulator at block 750 for use in making the test of block 744 durlng the next following trip through the code~convert sequence. The memory addresses ` for both the gray code and BCD converted numbers are decremented ; ~ at block 751 for the next trip through the block 740-752 sequence.
It should be noted that decrementing of the memory addresses is required since he code conversion sequence is performed first on the highest ordered digits. The test of block 752 is used to access successively lower order digits in the weight indicating gray code word.
- , ' ' ' ; ' --` -75-.
: :
-~ S~2 Dock~t 6196 140 000000000001 00101100 FIM P6 0 OADR OF SEQ .CTR
180 ooOOOOOOOlol I 1100000 ~RM ~SEI SEQ CTR
190 OOOOOOOool l.O 01010010 JMS E3LNK. ~JMP TO BLIIK DISP
. 00 1 000 1 000 210 OOOOOGOOlOOO 00101110 FIM P7 255 /SET UPDATE C1~2 2~0 ll~J11~1 230 OOOOOOOOlOJO 00100010 S.TRTl FIM Pl O ~AUR OF DISP MEM
250 000000001100 00100100 FIM P2 16~ADR OF RD-IN MEM
270 000000001 1 l O 001 00 1 10 FIM P3 33 ~ADR . OF ROM OUT
290 000000010000 0010.1000 FIM P4 23~ .
300 lllO1010 310 000000010010 00101010 ~IM P5 0 ~SET WASTE TIM
330 OOOOQOO I O I 00 00101 1 00 FIM :P6 () ~ADR OF SEQ CTR
340 . 00000000 350 000000010 1 l O J 1 1 1 0000 CLB
360 000000010 1.1 1 01000000 JUN SCAN
370 ooo I I I J I
o 200000011.001 . Cl 1.0 1^ 11 ';IAS~ C t 1 ~INC~ ~IA~>TE: T~M REG
390 000000011010 IOlOJOlI I.D 11 ~00 0000000 i 101 1 000 1 1 100 JCN NZA ~JAS.T ./TST REG = O
410 . 000~ 1001 420 00000001.1101 00101010 FIM. P5 8 /SET WAS~E TIME
430 : 0000 l 000 440 OOQOOOOIIIil 00100011 SCAN, SRC P1 450 000000100000 00100000 FIM PO 2~0 . ~ADF~.FOR FIN.INSTR
460 : I I I I 0000 470. OOOOOOlOOOlO 11101001. RDM ~RD DISP.MEM DIG
480 OOOOOOIOOOJ I 101 10001 - XCH I ~EXC~l FOR COI;~E~ CHANGE
490 0000001 001 00 1 1 1 1 1 l O l DCL
500 000000 1 00 1 0 1 00 11 0000 . FIN PO ; /CHANt~E COI:IE
510 oooooa I oo 1 1 o oo I ooo I I : SRC P I ~ADR RAM"O" I~UTPUT
520 0000001001 11 11100001 WMP .. JRESET DIG ADR
530 000000101000 OOlOOlOl SRC P2 540 OOOOOOlOlOOl :10110000 XCH O ~FETCH IST HALF OF COI~
550 000000101 O J O I I 1 00010 ~RR ~WR ON ROM " i~ OUIPlJTC
560 O()OOOOlO:lOl l 00100111 SRC P3 570 000000101100 10110001 XCH J ~F~TCH ~ND HALF OF CO~
580 000000 lOl J 0 1 1:1 1 00010 WRR J'~R ON ROM "~ OUTPUTr 590 0000001011J:O 101001 11 LD 7 ~iOO OOOOQO 10 ~ J I I 001000 1 I SRC P I ~ADR RAM UUTPl)T
,.. : ~,. . . : . . . ..... .
' , . ' : ' . ' ' . .
' ~ '' . ' ' ' ' , , ' , ' ' . ' ' ' ' -.' , ~ ~7 6 .
;
Doc~et 6196 610 OOOOOO l l OOOO l l 1 OOOO l WMP /WP. DIG ADR
620 OOOOOO l l OOO I l I l O l O l O R~R /RD INPUT TO ROM J)OJ~
630 OOGOOO l l OO l O OO l OO l O l SRC P2 /ADP. MEM POS
640 oOOOOO l l OO l l l l l OOOOO WRM /~YR INPUT
650 000000 l l O l OO O l l OOO l l I NC 3 / I NCR I~EM A~R
660 OOOOOO l lOiOl Ol l OOl 0~ INC 5 /I~CR RD-IN ~.IEt~ ADR
670 OOOOOOllOllO OllOO~ll INC 7 ~INCR RAM OU~ ADR680OOOOCO i ] O l l 1 011 l 1001 ISZ 9 WAS.T /CT NO OF DIG SCAND
690OOOllOOl 700OOOOOO l J lD~ l OOO l l 100 SCA2, JCN NZA KDSA /T5T FOR KY DN
710OlOOOl~l 720OOOOOOlJl011 lOlOOlll LD 7 730 OOOOOOll]lOO OOlOOOll SRC Pl /ADR RAM OUTPUT
740 OOOOOO l l l l O l l l l OOOO l WMP /WR DI~ NO
750 OOOOOOl l ll lO ll]OlOlO RDR fRD INPUT
7~0 OOOOOO l l l l 1 1 OO l OO l O l SRC P2 /ADR MEM POS
770 OOCOOl OOOOOO l l lOOOOO ~iRM fWR INPUT
780 OOOOOl OOOOO l O l l OOl Ol INC 5 790 OOOOO l O OOO l O O.l l OO l l l I NC .7 800 OOOOOl OOOOl l O l l l l OOO ISZ 8 SCA2 810 001]lOOl 820 OQOOOlQOOlOl 00010100 JCN A~ WK`YD flST:FOR KY DN
840 OOOOOl OOO l I I l l l O~ l Ol KDSA, RDl fRD ~:KY - DN STAT ~'A~
850 OOOOO l OO l OOO l I l l O l l O RAR
860 ooooolaolool I 1 1 101 10: RAR
~7~ OOCOO l CO ' v . v. ~ Cvv J G~ I O J CN C l KDSB /TS.~ K Y-~N S~AT ~' A"
890 OOOOOl OO l l OQ . l l lO l ] 00 RDO ZRD MOT S~AT
900 OOOOOlOOllOl .OOOlllOO . JCN NZA KSAI fTST FOR ~OT
9!0 01010001 920 OOOOO l OO L l l l I J O I l l l l LDM l 5 930 QOOOOlOl OOOO l 1100l lO~ WR2 ~WR MOT RD INHI~
940 OOOOOlOlOOOl lllOilOi XSAl, RDI : :
:950 OOOOOlOlOO:lO-llllOO!o : IAC
960 OOOOOlOl COl l 01000000 JUN WKY~ : /JMP TO WR S~AT J'~h`"
910 . O.l lOlOlO
980 OOQQOIOIOI;Ol:: II I1000 I KDSB, LC
990 OQOOOIO10.110 1 1101101 : RVI
1~000 0000010101 11 1 1110101 : RAL
1010 00000101 10~)0 OCOI 0010 JCN Cl WDZT frsl KY-DN S~AT J'BJ' 1~020 O~ 10~0:1 1 : -1030 00000 ] 0.1 1 01:0: 001 001 00 FI M P2 21 : /ADR OF CLR KY
~040 . : 0.001010~ ~
105Q 00000101 1100 QOlOOiOI `:~: SRC P2 IO~SO OQOOOIOI.IIOl 111.01001: RD,U fRD CLR KY
1 070 O C)000 1 0 1 1 1 10 l: l .l l O i O 1 ` ~ RAL
1080~ OOCOOIQ~ .li oooloolo ~ JCN C1 KSBl: frS:I CLR I~Y. :~ .
I Q90 : 0~ 1 00 :1 1 0 , : ~ ~ `
l l OQ OOQQ~ OOQO I 001.000 1 1 ~ SRC Pl :
~7~7~
::
.:
.. .. .
' - : . .:
~9~
Doc}iet 6196 lilO 000001100010 1110111I RD3 /RD TOT KY S~AT
1120 0000011 00011 00100101 SRC P~
~i30 OOOOOJIOOI 00 00011100 JCN hlZA WKYD fTS~ FOR T~T KY
1140 0110~010 1150 oOOoOllOOlZO 0010.1110 KSBI, FI.~I P7 255- fSET UPD,4TE CTR
1180 000001101001 IJ100111 ~'YR3 /~YR KY-- DN S~AT ~'CJJ
1]90 000001101010 11100101 WKYD, WRl f~R KY-- DN S~AT "A~ 'B~' 1210 / WEIGHT DEAD ZONE TES.T
1230 000001101011 00100100 WDZT, ~IM P2 20 ~AD2 MSD CELL Rl)G
1250 000001101101 llliOOOO CLB
i260 OOOoOI101110 Oo100JOI SRC P2 1270 000001 101111 IilOlOOJ RDM JRD MSD CELLS
~280 000001110000 00010100 JC:N AO i'^lD;~I fTS:I J'1,~J' 8- 13~U _ O
1290 olllooll 1310 OOOOOlllOOil 00100011 ~lDZI, SRC Pl 1320 oOoOOI110100 ~JIoOloO ~YRO - ~WR~WDZ STAT
1330 000001110101 00011100 : JCN NZA MOTS fTS:r FOR~ DZ
13~0 I 0000111 1350 000001110l3:1 OlOlOOiO JMS .CLER fJMP :TO CLEAR P~ ~F
13~j~) IûOI1011 ~ ~
1370 OoOOO]lllOol 11101110 RD2 fRD TAFiE RESEI STAT1380 0000011~1010 00010100 JC~I~ AOhlOTS ~ fTST:FOR TARE RESEI
1390 100001`1~
1400~ OOOOOtl:113QO 11110000 ~ CLB
IAIO OOQOOlIlJ101: IllO~liO . WR2 : ~ ~ JCLR TARE PESET STAT
1420 000001tl1110 00100:~00 .FIM P2 28 1~30 .OOol~
1440 OOOOIOOOOOOO~ OQlO:~O10 ~ FIM ~P5 1:2 : . fSET .P~O OF DIG
-450 `OOOoll-OQ~
14~SO 000010000010 OOIOOIOJ TARZ, SRC.P2 /ADR TARE )!EM ~ :
1470 OOQOI 00000.11 11100000 ` WRM fZERO .TARE MEhl 1:480 00001:0000100 011.00101 ~- .INO 5 1490: 00001 0000101 01Il-lO:li ISZ .11 'rARZ
150Q - I OOOOOlQ: ::
1520 f- MOTION` TES.T
1540 :QOOOIC1000111 00100101 ~ MOTS, SRC .P2 1550 OOOOIQOOI OOO- 11101110 ~ ~ RD2 1560:: :OOOOIQOOIOOI::00011]00:~: JCNNZA INDC ,'TS~ TO JMP MOT~RD
157Q - . 1001:1101: : :
1580` 000010001011 00100100: ~ ~ FIM P2 16 :
~5S'O ~oo~ oooo ~ : :
1600 00001 0001101 001.0~0101 ~ SRC P2 ~ fADB INPUI STAI` MEM ~ ;
.
Docket 6196 1610 000010001110 11101001 RDM ~RD INPUT S~AT
1620 oooo I ooo I I I ~ I l l l o l l o RAR
1630 OOOOl OOlOOoo 00011010 JCN. CO MOTI /TST FOR MOTION
1640 1001101 ~
1650 oooo I oo I oo I o I ~ o I I l I I LDM 15 1670 ooool oololoo OOlol lOl SRC P6 /ADR SEQ CTR
1690 OOOOl OOlOi 10 I l ] 00000 WR~l fSET SEQ CTR = 1 1700 OOoO10010111 01010010 JMS BLNK /JMP TO BLANK DISP
1710 ~0001000 1720 OOOOICOIIOOI O~OoOOOo JUN INDC ~JMP TO CONT
17301001 ~ 101 174000001001101I 11110000 MOTI, CLB
1750000010011100 11100100 WRO ~RESET MOT 51AT
1770 / INCREMENT UPDATE~COUNTER
i79000001001] 101 011011.11 INDC, INC 15 jINCR UPDATE CTR JJAJ~
180000~010011110 10101111 LD 15 18100000100111:11 00011100 JCN NZA S.TRT JTST CTR FOR ~ERO
18200000~010 i 830OooO l O l OOoO I oO I O 1 101 SRC P6 /ADR SEQ CTR
1850 oOOOlOl0~011 111~1011 ADM ~
1860 Qoc~lol~)o!no QO011030 JC~l CO I~lDI ::.,'TSI Cca C.R - ~T
1870 . 10110001:
1880 OOOOlOlOOllO 1.1110001: CLC
1890 000010100~111 tlO30010 LDM 2 lgOO 000010101000 10001110 ADD:14 1910 000010101001 OQOI~O10~ JCN~CO IND4 ~TST crR ~l Bl' = 14 1920 - I1001 000~
1930OOOOlOlOlol l 11011111 LDM 15:
1940000010101l-00 Il:lOOQOO : WRM /SET SEQ CTR = 15:1950000010301101 Ol:OI:OO10: : JMS BLNK /JMP TO: BLANK DISP .0-: I 000 1 0 00 ~
1970OQOOlOiOllli-O1 000000 .JUN IN~4 1980~: J1001000:
19~90~00001:0110001 1 1.310010 INDI, IAC
2000: 00001011.0010 OOOiOOI-O JCN Cl IND4 JTS.T SEa CTR = 13 20~10llOO:1000 ~: :
2020OOOOlOl lOlQO 00100010 ~ FIM Pl g 2030oooo~oo~
2040OOOOIQl 10:1:10: 00100011 ~ SRC Pi /ADR MSD. OF :STOR MEM
20500000101 lOt 11 J 10101~1:0 LDM 6 : :
2060 000010111 0~0 1110101-1 . :~ ADM : : ~ .
. :2070OOQO10111001 00011010 : JCN CO IND4 ~TS~ FOR: "-~; SIGN
2080:~ 01000 20900000101.1101 I 10101: 110 ~ ~ LD 14 2100 OQOO I~ O l ~l l l OO ~ l l. l l O.I 10 ` ~ ~AR~
. -. . .. ., - . . . . . . . . . . . . .. .
.
, ~
~, ~ - : - -.. . : . . : . , . .
~7~d Dc)cket 6196 2 1 1 O 0000 l 0 1 I 1 1 O l . l I I l O I t 0 .FIAR
2120 OOOOlOlllllO OOQllOlO JCN C0 IND2 /TST CTR J'B" FOR BIN 2 2130 llOOOOll 2140 OOOOllO00000 llOlllll ~ LDM 15 /LD BLNI~ CODE IN ACCM
2150 OOOO l l OOOOOl OlO00000 JUN IND3 2160 l]OOOlO0 2170 Ot)OOl l OOOOI l 11011011 IND2,LDM 11 ,~LD Jl~ SIGN IN AOCM
2180 000011000100 00100010 IND3~FIM Pl 4 2 i 90 00000 l 00 2200 000011000110 OOlOOOll SRC Pl /ADR MSD 0~ DISP ME~
2210 000011 000111 11100000 WRM f WR ~--" OR " BLNK~
2220 000011001000 ~ OoOl IND4,CLC
2230 oooolloolQ01 ollolllo INC 14 ~INCR UPDATE CTR 3~BJ~2240 000011001010 lOlOlllO LD 14 2250 00001 lDOIOI I OOOl l l O0 JCN NZA. STRT /TST CTR FOR 7ERO
2270 000011001101 0010111.0 FIM P7 85 ~SET UPDATE CTR
2280 0~0101~1 2290 ~
2310 ~
2320 OOOOJ I 001.~ 1 l OOlOOlOl SRC P2 2330 0000110~ 0000 11101 t l l RD3 ~RD KY--DN STAT ~C"
2340 000011010001 111001.10 WR2 2350 0000110100] 0 000111 00 JCN NZA KET3 ~TS:I KY--DN sTAT "C~
~.~60 110.11010 2370 0000 1 1 0 1 0 1 00 00 1 000 1 1:1 KET2, FIM .P I 5 239C) OOOQl lO10110 00100031 SRC Pl ~ADR UPDATE CTR STAT
24 00 OOOO J 1010113 11100000 WRM /WR UPDATE .CTR STAT
2410 00001] 011000 01 000001 JUI`~ RDP2 2~2C~ 011010~1 2430 0000110.11010 .01 000001 KET3,JUN KETS ~JMP TO TS:I Ky ENTRY
2440 . 00000000 24~;) *240 2460 000031110000 lo~ g1 247~ 000011110001 10000110 134 24~30 00001 1110010 1101101~ 219 2~gO 000011110011 11001111 20~
250Q oooolllloloo lJlOOllO 230 2510 00001 1110101 IJ101 ~O~ 237 2520 000011~10110 ~1]1~10~ 253 2530 0000111101.11 10000~ 35 2540 00001 1~1~000 11111 111 255 2550 OOOO ] l l l l OO l l l l O l l. l l 239 2560 000011111010 000001 ~ O 6 2570 000011 ~ 11011 01000000 64 :
2580 0000111 ~I 100 01~00011 i ~7 2600 000011 111.110 00101 oc~o 40 ~80--.
. .
~s~
Doc)cet 619 6 2610 00001 1 1 1 1 i I ~ (:0000000 0 2620 ~*256 2630 0001 00000000 1 I t I 0000 KETS, CLB
26~0 000100000001 1 1 1001 1 1 ~R3 ~RESET KY-DN STAT J'C-~
26~00~0100000010 00100100 FIM P2 21 ~ADR OF KY MEM
2670000100000 J 00 00100110 FI M P3 0 JKY NO CORR CNS.T
2680oooooooo 2~90000100000110 oololoJo FIM P5 13 ~SET NO CF DIG
27000000 ~ 101 2710000100001000 00101110 FIM P7 128 /SET UPDATE CTR.
2730000100001010 OOlOOlOJ KETl, SRC P2 27400001000010] 1 1 ~ 101001 RDM ~RD KY NO
2750000100001100 ooo l l l 00 JCN NZA RDKY ~TS.T KY NO = O
2780000100001111 .11010100 . LDM
2790000100010000 100001. I l ADD 7 2800OQOIOOOIOOOI 10110111 XCH 7 ~SET NEW CORR
281.0000100010010 01111011 ISZ 11 KETI ~TS~ NO OF DIG
~830030100010~00 OJOOOOOO KET4, JUN:KET2 :/JMP- UPDTE CTR STAT
2840:1 1.010~00 28S0 / :
2860- fR AD KEY RO~TINE:
2870 ~ -2880 000100010110- 00100000 RDKY9 FIM PO 240 . :fkDR FOR :FIN INSIR
28~0 ~ ~ ~ 1110000 ~
2900 000100011000 i 1111100 :: KBP
2910 0001000:11001 i l l 10100 CMA
2~20 OOOlOOOliOiO o~oolo!oo ~ ~ : JCN AO:RDP:l :/TST F~:MPL ~YS
2~30 - ~ 10000000:
2940 OOO l OOO l l l:OO 11110100 ~ CMA ~ . :
2950 000~0001~10] 10000111 ~ ADD 7 : ~ADD GORRECTION
2960 OOOlOOQllllQ 10.110001 . `XCH 1 : ~ -2g70 00010001 J 111 00 i.l 0000 :: FIN PO /XCH COUES
2~80- 000100100000 00100011 . SRC Pl: `
29gO000100100001 1-1101100 - : RDO /RD WDZ SIAT
30000001001000)0 OQOI I 100 :: JCN NZA RDPR~TS~ WDZ : ~ :
3010~O ~ 000:~110 : :
302QOOD i OO 100100 00100100 - FI M P2 16 3030.: 00010000 ~ .:
3040000100100110 :00100101 SRC P2 /ADR SIAT SW MEM~
30~0000100100111 1]101001 . RDM :: ~RD STAT SW~ MEM
306Q000100101000 J l l ~0110 :~ R4R
3070OOO l OO l O i OO I l l. l l O:i.] O - RAR~
3080QOOtOO101010 OOOl.OOl Q JCN Cl: RDP:l /TS~ FOR TARE INHIB30~0~ 1 OOOOOOO
3100ooolooioiloQ ool~:oo!:oQ FIM ~2 2:8::
~: :
.
- : ' : .. .
.
I~ck'~t 61~ 6 3120 000100101 1 10 C0100 10] SRC P2 /ADR TARE MEM
3130 000100101111 11010100 LD~ 4 3150 00010011000 i 00010010 JCN O l RDK I /TST FOR TOT KY
3160 . 001 1 1 1 10 31~0 OOOlQOI.10100 OOOIOOIQ JC:N Cl ZTAR /TST FOR CLR KY
3200 0001001101 10 00100010 FIM .PI 25' /ADR OF 2ND ~IG TARE
3220 OOOlOOillOOO 11101001 RDM /RD lST DIG TARE
3230 OOO l OO I l ~ 001 00100011 SRC P I
3240 0~')100I l lOiO 11100000 '~iRM /WR IN 2ND DIG PClS
3250 0001001 11011 00100101 SRC P2 /ADR ~IS:r DIG 7~EM
3260 0001 001 ~1 1.00 1 O I 00001 LD
3270 COO IOO I I 1101 11100000 WRM /WR ~ IN TARE MEIl 3280 00010011 l l lO Q1000001 RDKl ~ JUN WTR.T
3290 l OOOO l OO
3300 0~0101000000 ~00101010 ZTAR9 FIM P5 12 fSET NO OF DIG
33 1 0 0000 1 ~ 00 3 320 0 001 O 10 QOO 1 0 00 1 O 1 1~1 0 .FI M P7 2 55 ~S ET :UPDATE CTR
3340 0.00101000100 01000000 J~N TARZ /J~,4P TO ZERa; TARE
3350 . l OOOOO 10 3~6C COOI~!OC~ O JIO)IQ:II RnPR~ l~M 11 3370 000 i 010001.J I 10010001 SUB I
3380 OOO l O l OO l OCO 000 l O l OO JCN AO ZKEY ~TSI FQR CLR KY
3390 ~ Ol~l l l.l lO
340Q OOOlOl~OlOtO 11110~01 CL C
3410 OOO IQ ~ OOI OJ 1 11101111 RD3 fRD .TOT KY STAT
3420 000-101001100 OOO l l l GO JCN MZA ~ R~P 1 /TST FOR PREY .TOT
3440 OOOlOiOOlllq llO30100 LDM :4 3450 000101001 111 lOpOOOO I ADD `1 3460 000101 O I OOQO 00010010 JC N C I UKEY /TST FOR . TOT KY
3470 : 01: 1 i OO~
3480 OOO I Q I D I OO I O 10 l 00001 :: LD 1 :
3490 .00010JOlOOI:I OOI:QOQOO FIM~PO 10:
3510 .OOOlOiO10101 OOI OOOOJ SRC PO /ADR PR ENTRY ME~
3520 0~010-10101 10 1 1 100000 ~ WRM~ R ND
3530 000101010111 ~oloooi~o: . FIM .PI ~3: JADR QF LS REG : -3540 ~ OOlOlOl~l :
3550 .OOOlO:lOI I OOl ~ 00100100 - ~ FIM P 2 1::1. ~ fSET NO OF DIG `
3560 000010 ~
~3570~ OOOlO10110ll 0101001:0 : JMS TRNS /XFR~PR TO LS REG
3580 . - lOl~ Qli 3590 .000101011101 001:00000 FIM PO 43 ~ADR ~F I S REG
360Q ~ 00:1;010 ~
, ~ . : . . .
: - 8 2 ~
: . . - . , . ` . . ` -' Doc};et 6196 3610 000101011111 001000i0 F:[M P1 .11 /ADR OF PR MEM
363Q 000101100001 00100100 F:[M P2 27 /SET NO UF DIG
3650 000101100011 01010010 JMS TRNS /XFR PR TO ME~
3660 10]0]011 3670 000101]00101 11011111 L~M 15 3080 000]01]00~10 11100101 ~Rl 3690 OOOIOIIOOIIJ 00100010 FI~ Pl 5 3710 000101101001 00100011 SRC P] /AVR UPDATE CTR S.TAT
3720. 000101101010 1] 100000 WRM fSET UPDATE CTR STAT
3730 000101101011 001 ~0101 RDP2, SRC P2 37ao 000]0.1101100 11101100 R~0 3750 .000] 01 } 01101 00011100 JCN NZA RDP1 /TSI MOT S~AT
3760 . 10000000 3770 000101101111 ~01000010 JUN TSEQ
3780 00000~00 3790 000101110001 J 1110001 DKEY, ~CLC
:3800 000101110010 I l lOl lOi RD1 ~R~ PR ENTRY STAT
3810 00010.111001i 00010100 . JCN AO RDPI /TS.T PR ENTRY STAT
3830 OOOIOI.J 10101 111001 31 WR3 /SET TOT.KY STAT
3840 0001011~0~10 11100110 WR2 . ~SET TARE RESET SIAT
3850 000101 J 10111 00100100 :rIM P2::16 3860 000 ~ 0000 ~
3870 000101111001 00100101 SRC P2 /ADR .INPUT SIAT .~.~EM
3880` B0010111:1010 IIIQIOOI ~ RDM ~RD INPUT:S.TAT
3890 ooololll!oll 1~t~1110: XCH:14 ~fSET UPDATE CTR
39Q0 000101111100 01000001 : JUN ~P2 fJMP TO MOT SIAT TST
3910 0~ 101011 . : ::
3920000101: 111110 ~10]001:0: ZKEY, JMS.CLER: ~JMP TO CLR PR MM
39301001~011 3940000110000000 OQIOIII0:- RDP1, FIM.P7~ 255 /SET UPDATE CTR
3960 000110000010 01000000: . JUN STRT ~RETURN .TO START
3g70 : ~ - 00~01010 3~8~
3990 ~ WElGHT~RANGE TESI
4010 0001~0000100;0atCO100 WTRIs:FIM.P2 18 /ADR OF 2ND DI:G CELLS
4020 - ~ OOQ10010~. : . :
4030 000110000110 001DV101 SRC P2`
4040 000 1 l 0000 ! ~ 101001 : RDM
4050 0001:10001000 1:1~10110.~ RAR
40~0 000110001001 ~00110:10~ JCN CO:WTRD /TST Jl~ll IN D~RK
4070 : ~ : 1 OO ! o I oo : :4080 0001JO.001011:11 IIOItO RAR
4090 000110001100 1~1101.30 RAR
4100 0001.10001101 0001~1010: JCN CO WTRD ~TSI "~'`IN DARK
.
, . . -: , . . `` ~ : ` ~::
... . . ~ .. ... ..... . ..
. .
: ~
:
.
; : : ~ 8 ~ -s~
D~cket 5196 4110' 1,0010100 -4120ODOl.IOOOIIII 0010~101 SRC.P6 /ADR SEO CTR
4130oOOllOOJOOOO .11010001 LC)M 1 4140000110010001 11100000 ~IRM /SET SEQ CTR = 1 4150OOOll.OOlOOiO 01000010 JUN ERRD /JhlP TO DISP ERROR
41600~ 100 4180 / COMPUTE NET WEIGHT - .
4200 000.~ 1.0010100 01010010 WTRDl JMS SDCH ~JMP TO CNVT CODE
4210 1 ~-0]0J 00 4220 000110010110 00100000 CNWT, FIM PO 17 fADR OF WT MEM
4230 ooo l ooo ~
4240 OOOJ t 0011 000 00100010 FIM P I 28 ~ADR OF TARE MEM
4250 ooo I l ~ 00 4260 000110011010 00100100 FI 1.5 P2 5 /ADR DF STOR MEM
4270 0000010~
4280 000110011100 00100110 FIM .P3 ]O /SET CORR CONSTANT
4290 00001OlO
4300-- 000110011~10 00101000 FIM P4 32 /ADR OF TARE .STAT
4320000110100000 001010~0 FIM P5 12 /SET NO OF DIG
43AO 000110100010 Jll~OOOO SUB5 , CLB
4350 0001 10100011 00100001 SU~I, SRC PO - /ADR WT MEM (MINUEND) 43~0 000.1 101001 00 I 1 10] 001 RD?.l 437Q 000.110.100101 0010001~ SRC Pl /ADR TARE (SUBTRA31END3 - 4380 OOOl]OlOOliO 1JiO1000 SBM
4390 000110100] 11 00010010 JCN Cl SUB3 /TST FOR CORR REQMT4400 . 10~01100 4410 000]10101001 10000111 ADD 7 4421:~ 000~ 10101010 01000001 JUN SUB2 4430 . 10101101 4440 00011.0] 01100 . I I I I 0001 SUB3, CLC
4450 OOOJ1010~101 01 1.00101 SUB2, ~NC 5 4460 0001 10101.1 10 00100101 SRC P2 fADR -STOR MEM (DIFF) 4470 000110101111 111 ()0000 WRM /WR VALUE
4480 0001101.10000 01 i 00001 INC
.4490 0001~0110001 01100011 INC 3 4500 000~301J0010 01 111011 ISZ 11 SUBI ~TST NO OF DIG
4~10 - ~01000~1 .
4520 000110~10100 OOQIIOIO JCN CO SUB4 ~TS:I VALID SUBT
4530 1 t 000000 4540 000110110110 00100000 FIM PO 28 .~DR OF TARE MEM
4550 0001]100 4560 ~)0110111000 001 QOO 10 - FI M P 1 17 ~ADR OF ~'iT .MEM
4570 . 00010001 4590 . COO~O l O I
4600 000110] 1] 100 00]0~1010 FIM P5 44 /SET ND OF DIG . .
. : , .
.
5~
Docket 619 6 , 461000101~00 4620000110111110 .01000001 JUN SUB5 ~JMP - SUBT WT FRM TAR
4630JO~OOOIO
4640000111000000 10101010 SUB4, LD 10 4650oOOlllOOODOI 00101001 SRC P4 ~ADR TARE STAT
4660000111000010 111.00100 WRO ~WR TARE STAT
4670000111000011 00010100 JCN AO WTDS /T5T lST OR 2ND SUBTN
469000011100010l OOlOOlOJ SRC P2 .4700 000111000110 .11011011 LDM I I
4710000111000111 l l l OOOC~O ~YRM fWR ''-" SIGN IN MSD
4~20 ~
`~740 4750000111001000 0010-101 WTDS, SRC P6 /ADR SEQ CTR
4760000111001001 ~1010010 LDM 2 4770000111001010 1~101011 ADM
4780OOOlllDO1011 00010010 JCN Cl WTD3 fTST SEQ CTR = 14 47901101111~
48~0 000001~O
4820 000111001 111 00100010 .FIM Pl 1 ,~ADR l:lF~ISP MEM
4840 000 1 1 10 10~01 00 ] 00 1 00 .FIM P2 12 ,'SET NO OF DIG
4850 00001~00 48600001~1010011 Illolloo RDO ~RD W~Z STAT
4~70OO~t:lOlOlOC ODOl.1100 JCN ~ZA ~'I~Dl fTS.
4880~1011001 4890000111010110 ~10.11010 LDM 10 . /LD iO CO~E IN ACCM
4900 0001.3101011101000001 JUN WTD2 4910 1 10.1 1010 4920 00011101100111011100 WTDl, LDM 12 ~LD CODE ~ ' IN ACCb5 49300001.11011010 11100000 WTD2, P~RM ~3'lR CODE IN SEQ CTR
4940 0001110.1101 1.0101.0010 JMS TRNS /XFR STOR MEM TO DISP
49~0 lU~O1011 4960 00011101110101000010 JUN DISI ~JMP TC3 DISP TEST
4g70 01110010 4980 00011101111101000010 ~YTD3, JUN COMT ~JMP TO CMPT TST
4990 0~00000 5000 .*496 ~0~0 0001 1 1 1 10000 00000000 0 ~020 0001 1 1 1 10001 00000001 . I
5030 0001]1110010 000001~0 4 ~050 000111110~00 00001011 11 5060 0001111~0101 00000010 2 5070 000~111101100000010~ 5 5080 000 1 1.1 1 10 1 1 1 00001 000 8 5090 000 ~ ~ 1 1 1 1 000 OoooooOo o ~oo o~ oo? 0000001~ 3 .. . . . .
.
, ' . , . : :
7~
D~c~et 619 6 5110 0001111110~0 00000110 6 5120 OOOllllltOII 00001001 9 5 1 30 000 i I I 1 1 1 ~ 00 0000 1 1 00 1 2 51 .0 0001 1 1 ] 1 ~ 101 00000000 0 5160 0001 1 1 1 1 1.~ 1 1 00000000 0 5170 -*512 5190 / SEQUE~JCE COU3~1TER TEST
521 0001 000000000 00 1 0 11 0 I TSEO, SRC P6 /ADR SEQ CTR
52~0001000000011 00010010 JCN Cl TSEI ~T81 CTR - CO~E 14 5 260 I 0OOogoooo I O ooo 1 0010 JCN C l CD,I.~T / TST CTR = CODE 13 52Q~00100000 52900010000010.00 ~lOlOi.10 LDM 6 531000100~001010 0001.0010 JCN Cl TPRE: /TST CTR ~ CODE 9 53330001000001 1~0: 01000001 TSEl, ~JUN WTRT /JMP TO IYT R~i TST
5340- l OQOO 100 5360~ PRICE~ ENIRY TESI ~ ~
5380001000001110 00100011 TPRE, SRC P I ~ADR PR ENTRY S.TAT
5390001000001111 11110001 CLC fRD PR E~TRY STAT
5400l 000o l o0ool ooo l~ JCN AO TSEI~TSI~ FOR PR EN~RY~
543000 i 000010011 ~ 0010 ~ 101 PR~ 1, SRC P6~DR SEQ CTR ~-5440 .00 l OOOQ,10100 11011 I03 : ~ w2~ ~ /SET SE~ CTR = 13 .
5460 001000010-110 00300000 ~ FI~ .PO 11 ~/ADR OF PR MEM ; : :
5480 .03iOQOO:l~OOO 00100010 ~ : FIM: Pl l~ /ADR OF D;ISP MEM:
5500 001000011010 QOlOOlOo~ ~ FIM P2 12 /SET ~0 OF :DIG
555520 - 001 000011 100 ololoolo ~ ~MS TRNS fXE~R PR~ ID DISP ~ ; -5540 001000011110 01000010; ~ JUN :~IST: ~JMP TO DISP TEST
5550 : 01~110010 5570 ~: COMPUIE .TOTAL PRICE ~
559Q : 00~1 oooi oo~oo ool ooolo ~COMT, ~FIM ~ Pl S . ~ ;
:
- ~ ~
- ` : : -, ~
DOCket 6196 5620001000100011 1110111; RD3 /RD STAT
5630001000100100 00010100 JCN AO.PREI fTSI FOR TOT KY
565000100010Q110 11101001 RDM ~RD UPDATE CTR SIAT
5660001000100111 00011100 JCN NZA PRE1 ~TST FOR ZERO
56800010001~1001 11110000 COMP~ CLB
5730001000101110 00100013 PROZ, 5RC P1 /ADR PROD MEM
57400010001011.11 11~00000 WR~ ZERO PROD M~M
57600010001.10001 011.11011 ISZ 11 PRO~ ~CT NO OF DIG
57700010!110 5780001000110011 1l10.1100 RDO ~RD TARE STAT
5~0~01111100 5810001000110110 00101010 Flh~ P5 J2 582000001.1QO - -5840- ~ 00001011 5850001000111010 ~0101001 MPY4? SRC P4 5860 . 00100011 1Ol 1 11101000 SBM ~16 COMP - MPLR DIG
5870 001000111100 00010100 JCN AO MPY2 fTST FOR ZERO
5880 01C~O1 5890 001000111110 101110~0 - XCH jO /STOR COMP - MPL2 Dl~5900 0010QO111111 00100110 MPY1, FIM P3 12 59~0 00001100 5920 001001000001 00100100 FIM P2 35 ~ADR ~F PROD
5930 00100011 ~ -5940 001001000Q11 ~0100010 FIM P1 35 ~ADR OF PART PROD
5~5~ CO100011 5960 001001000101 00100000 - FIM PO 6 fADR OF MPLCN
5970 000001.10 5980 ~01001000111 01010010 - J~S ADD fADD ~PLCN TO PART PRO~J
6000 OQ1001001001 01111010 ISZ 10 MPY1 ~INCR MPLR DIG COMP
-60~0 001l 111~
: : : - -602Q 001001001011 01101001 MPY2, INC 9 6030 001001001100 011.11011 IS~ 11 MPY3 050 001 001 001 1 10 01 000010 J~N VLPD ~JMP TO RND VAL
6060 .01011101-: . 6070 0010010100GO 00100000 MPY3, FIM PO 33 tS080 00 1 0000 1 . : .
: ` 6090 00100101.0010 00100010 . FIM P1 32 - -. ~ 6100 . 00100000 . ~ , .. .. .
~ ,: ' . .' . .`' ' ' ' . ' , : . ' .
:, - . . .
~ ,_ , . . . . . ... ....
.
, . - .
.
~ -, ~3~Z
Docket 6196 6130 Oû10û1010110 01010010 .JMSTRNS ~SHIFT PART PROD
6~40 .. lOJ0101 ~
6150 001001011 000 11110000 . CLB
6160 .001001011001 00100011 SRC Pl 6170 001001011010 11100000 ~RM ~2ERO MSD
6180 .001001011011 0 I G00010 JU N MPY4 ~'JM P TO CONT MU LT
6190 001.1 1010 6200 f 6210 / ROUND VALUE ~ TRANSFER TO DISPLAY
6220 ~ .
6230 001001011101 001 00000VLRD, FIM PO 33 /ADR OF DIG TO RND
6250 001.001011111 01010010 JMS RND /RND TOTAL PR ICE
~260 110001.. 11 ~2~ . OQ.IOOIIOOOOI OOIOIIOI VLTR, SRC P6 ~ADR SEQ CTR
6280001 00 1~ 00010 1 1 0 1 1 1:~0 LDM 1-4 629000100 110001 i 11100000 WRM /SET SEQ CTR = 14 -6300001001100100 001 0~)000 FIM PO 34 ~ADR OF LSD YAL
632000100 1 100 1 10 001 00010 FIM P 1 1 ~ADR OF DISP`7~EM
6340.001001101000 00100100 FIM P2 12 ~SET NO OF DI G
63~0 - 00001100 6360 OOlOû~ ;ûiCiO OlO;GOiO - JhlS TRNS fXFR YJ~L TO DI'-R
6370 - ~0101031 6390~01001101101 11101001 RDM
6400003001101110 .00010100 JCN AO DIST /TST FOR ZERO
6410. - - 0 1 1 1 00 1 0 ~ ' ' 6420-0010011 10000 01000010 JUN ERRD ~JMP TO DISP ERROR
6430~ ~ ~ 1111100 6~60 6470001001 1 1.0010 001 00000 DIST" FIM Pû 4 ~ADR MSD OF DISP hlEM
6480 : 00000100 6490001 00 1 1 10 1 00 Oû l ûûOO I . SRC PO
6500001001110101 11101001 RDM ~RD MSD
6510001001110110 00011100 . JCN NZA DISI ~TST MSD ~ O
6530001001111000 I l O i 1 1 1 1 LDM 15 6~40001001111001 1110000û WRM ~BLNK MSD
655000 1 00 11. 1 1 0 1 0 0 1 000000 DISI, JUN .STRT ~RETURN TO START
o560~ . , 1 i O
6580 / ERROR ~ISPLAY
6590 ~
6600 00100111110û 001 00000 ERRD, FIM PO I fADR OF DISP MEM
.
'' . . ~ ' 1. ' ' i ' ' . '' . :. ' . . . -, : ` . .. . .. .... .
, ~ ~ . :, .. : . . . . . . .
.. ~ ,., .. . ~ ,, . - . -.. ~ .. .. .. .
.; :
.-.
., ,~ ' , ' .
-. - , .
.
... --.. . -: ~
Docket 619 6 3~ 7f~
6610 oooooool Fl~l P5 12 /SET 1~0 OF DIG
6640 0010l llOIIOo~ ERRI LSRCpo /WR ERROR CODE
6660 00101 000001 0 1 1100000 WRM ~INCR DIG ADR
66~0 001010000100 01111011 ISZlt ERRl /TST Nt~ OF DIG
6700 001010000110 01000000 IUN SIRT ~RETURN TO START
6730 / Bl ANK DISPLAY ROUTIN
6750 001010001000 00100000 BLNK, FIM PO 1 /ADR OF DISP MEM
66770 001010001010 OOlOOOlO FI1~ Pl 6 ~ADR OF SlOR MEM
6790 OOlOlCOOllOO 00101010 FIM-P5 204 fSET NO OF DIG
6810 001010001~10 11110000 CLB /ADR STOR ME~I~
6820 .DO1010001111 0010001] BLNl, SRC /CLEAR STGR MEM
6830 00 1 ~:) I 00 1 0000 1 1 1 00000 6840 0001 01 00l OOlO o l 1 1 1010 ISZ 10 BLNI ~TST NO OF DIG
6~ 0^1~ G l ^V 110~ BLN2 SCRC PO JADR DIS -ME~
6900 ~ ootolQOotloOO ollllolt ISZ 11 BLN2 /Tsl NO OF DIG
65'30 QO1010011010 ~t! ~ ~RETURN
6950 / CLEAR PRI::E ROUTIl~E ~
6970 001010011011 11010001~ CLER, LD 1 /ADR SEQ CTR
6980.- 001010011100 00101101 WRM /SET 5Ea CTR = I
69~?0 DOIottoOoI1l0O~ oo 1~oo80Q ~ F : ~ADR l:lF PR:.M1A
702Q 001010100000 00101010 FIhl P5 -iO JSET.NO OF DIG
7050 D;)~tOtO10001-1~ 001~00001 CLRl, SRC PO /ADR DIG
7060 OOlOlOlOOlOQ: 11100000 INC I /INCR MEM~ADR
778o~ oooolootootooot lo oo~ ololt ISZ 11 CLR~l /TSI~N QF DIG
7090 ~ olO~Ol01000~ 11100101 ~ ~
: : . . . - - . :
,, : :
89- :~
-.
D~cket 6196 7110 001010101001 11100111 WR3 /ZERO TOT KY S~AT
7120 001010101010 11000000 BBL. O /RETURN
7]40 / TRANSFER DATA ROUTINE
7160 001010]01011 11 110000 TRNS, CLB
7]70 OOlolO101 lOo OOloOoO] rRNI, SRC PO /ADR l)ATA
7180 DOlOIOlOI101 11101001 RDhl /RD DATA
7190 001010101110 001 OOOI 1 SRC` P1 fADR NEW LOCATION
7220 00101 0 1 1 OOCI 0 11 000 11 INC 3 /INCR 1~1EW DATA ADR
7230001010110010 01~10101 ISZ 5 TRNl /INCR CHAR CTR
724010101.100 7250 .001.0]0110103 liOOOOOO BBL O
7~70 / ADD ROUTINE
7240001010110101 11110000 AD~, CLB
7300001010~10.110 00100001 ADDl, SRC PO /ADR ADDEND
7310001010110111 1~101001 RDM ~RD ADDEND
7320001010111000 00100011 SRC Pl ~ADR hUGEND
7330001010111001 11101011 ~ADM /ADD AUGtND
7340OOlOiOI11010 11 111011 DAA ~ ~D ADJUST
7350OOlOlOlliOil 00100101 SRC P2 /ADR SUM
7360 . 001010111100 11100000: WRM /WR SUM
7370 . OOlDlOIlllOI 01100001 INC I
7340 .001010111111 01100101 INC 5 7400001011000000 01.1101.11 ISZ 7 ADDl ~INCR CHAR CTR
7420001011000010 llllOllJ. TCC
743000101.1000011 :00100101 SRC P2 ~ADR SUM .
7440001011000100 111010:11 ADM ~ADD LASl CARRY
7450001011000101 11100000:. ~ WRM : ~WR SUM
7460001011000110 llQOQOOO: BBL:O
74:70 7480 :/ ROUND ROUTINE
7500001011000111 11110000 RND~ CLB:
7510001011001000 .11010101 . LDM 5 7520OQ1011001001 0010000]- RND2~ SRC PO /ADR RND DATA
753000101 lOO1010 1 i 101011 ` A3N -7540 oolol!oololl I:lllloll DAA : :
7 550 ~ oo l o 1 1 oo ! I oo I 1 1: ooooo WRM ~ IJ? RouNDED DATA
75:60oOIol !ool lol QOO10010`~: : JCN C:I RND4` /TSTFOR CA~:2RY7570-: .11010000 758000101.10011~11 1]000000: BBL 0: ::~
755'0 00101 IOI;OQOO I 11 10:1.11 : RND4~ TCC ~ /X~R CARRY
7~iOO 001011010001 01 100001 INC 1 - , . .
- " ` . - . ~
, ~ - . : ~ :
. .
, , -g o_ ~
:
' ~ ', -.. ' ~ ' , ~ -, ~ ' . ' ' " . . , , ' . '' , ' ., - , . . .
Doc]i~t 6196 ~ 7~2 !
7610001011010010 01000010 JUN RND2 /JMP T0 RND MORE DI~
7620. 110~1001 7~50 76~0001013010100 00100100 CDCH, FII~I P2 20 /A3R DF CELL READING
7680. O0101J010110 00101000 FIM P4 12 ~7700 001011011000 OOJ 00000 FIM PO 240 /ADR OF CHA~ TABLE
7710 1~110000 7720 D~1011011010 11110000 CLB 1:
7730001011011011 OOID3101 CDC, SRC P2 /ADR C~lAR
7740001011011100 11101001 RDM /RD CHAR ¦ -7750001011011101 aooloo]o JCN Cl BII~V /~ST FOR ODD-EVEN
77601 ~ 101011 7770001011011111 10110001 INVR, XCH I ~STOR FOR FIN II~S~R
7780001011100000 0011.0010 FIN Pl ~ ¦
7800001011100010 11100000 ~RM : /WR T0 MEh~ .
7810001011100011 101.00101 LD 5 78~0001 Q 111 G0100 11111000 DAC
7830~OIOIl lQ0101 10110101 XCH 5 . fMODIFY CELL MEM ADR ` .
7~4000101 ~ 100~ 10 10100011 LD 3 .
785000101.1100111 1 1 1101 !0 .RAR /SIOR ODD-EVEN BIT ~ .
7860001011101000 Ol.lllOOi ISZ 9 CDC- ~CONV 4 DIG
78701101~ 1011 . ~ .
7880001011101010 11000000~ BBL 0 7890001011101011 11~101:01 B`IN~/~ RAL ~ :
7900001011]01~00 11110011 SMC -~COMP 4TH BIT
7910 D31011101101 l l l lQI 10 .RA~
: -792000101~101 i10 OiOQ0010`~: ~ JU~:lNYR
7~30~ 110111 }~
7940*752 : :
7g50. OO~OI l l lOQ00 00000000 -~ 0 7g600010~ 1110001 OOOQ0000~ 0 : :
797000101 ~ 110010 00000010 `~ ~2 7980OO l O l l l :l Q011 OOOQOOO I
79900010111 i ~ 100 00000100 ~
8Q00 ~ 00101 ~11010~ O00oQoOQ~: o :
8010 001011110110 ooooco! I 3 : ~
8020 001011 ~ 10111 00000000 ~ o Q30 Q0101 i I 11 :OQ0 - 00000000::: O :
8040: QOIOlllll~Q01 00001001 ~ ~ 9 8050 0010111~1101-0 000001~ 7 8060 00101111~10:11 00001000: 8 :
8070 001011 i-l l ~ 00 000~0]~01`~ ~ ~ 5 . ~ : :
8080 ~001011111 ~ 101 00000000 ~ : 0 . :~0~0- 00 ~ 011111110 ~ 00000 :110 ~ 6 ~
~100 00101 ~ I 001300000~ .0~ .
- - . :
:
- ~ . . ~ .
j~Q3~3 U~ U~
~rl UJ
E~
Z o U~ U~
. ~ ~
3 ~ JJ ~o r`
O ~ . .
V F~~ ~i o E~ ~
~ U~ 11.11 11 11 Et ~ o .
3 a) U~ U~ U ~1 a :C ~ U U~
.i ~ X Q) t~ Z ~2 ~ H ~ O
il 11 11 11 11 ,~
O
rH~I R
1: q) a : .
O O ,~ ~ ~ ~r Ln ID 1~ ~
~,) ~ Q C~ a a a a a ~ n1I n ~ 1l 1l 1l 1l 1~ 1l E~ ~ o ~ o ~ o ,~ o ~1 o Z ~ oo _~ ~ o ~ ~ ~ o ~ ~ :~ C~O O O ~1 ~1 ~1 ~1 0 H ~ P~ O O' O O O O O O O ~1 H ~ ~ N
r:n m rn ,,~ r~
:
:
~ ~ E~
o :~
o Xg P; o o--i ~ ~ : , . . .
~o ~
~ -~ o: ~
a) . o ~ Q~
P~ v c ? V : W ~ ~a o o * ~
:
R
r~
rr~ .C` ~ ,~ X .
O ~1 E~ o rn _ ~a "
o ~ o ~: : .
' ' ~' : , ~ ` : ~ .
., : : : .
.
`. . ',` : , ' ' '' , ` ' `
s~
Docket 6196 , While the forms of apparatus herein described constitute preferred embodiments of this invention, it is to be understood that the invention is not limited to these precise forms o~ apparatus, and that changes may be made therein without departing rom the scope of the invention.
:~
.
~ ~ , .
: .
-q3~
a .
Claims
Docket 6196-Dl The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
A weighing scale having price computing capability comprising a platter, means for generating code information corresponding to weight of a commodity on said platter, means detecting a no weight condition of said platter and developing a corresponding signal, a manually operable keyboard including means for generating code information in response to manual actuation of said keyboard a tare register, a price per unit weight register, and means responsive to said keyboard code information generating means and to said no weight detecting means and operable to cause transfer of keyboard entered information into said tare register when no weight is on said platter and to cause transfer of keyboard entered information into said price per unit weight register when there is weight on said platter.
A weighing scale as defined in claim 1, including a clear key on said keyboard, and circuit means responsive to actuation of said clear key and a no weight signal to clear said tare register.
Docket 6196-Dl A weighing scale as defined in claim 2, including circuit means responsive to actuation of said clear key while weight is on said platter and operable to clear said price per unit weight register.
A weighing scale as defined in claim 1, including means for subtracting tare register in-formation from weight information and for producing a difference signal, means for multiplying registered price per unit weight information by said difference signal information to produce total price information, a display including a multi-digit numerical indicator, and control circuit means driving said display to show numbers corresponding to tare, weight, price per unit weight and total price.
A weighing scale as defined in claim 4, including a clear key, and means re-sponsive to actuation of said clear key after total price has been displayed to retain an entry in said tare register for a weighing/computing operation on another article later placed on said platter.
A weighing scale as defined in claim 4, including means for clearing said tare weigh register after the total price is displayed Docket 6196-Dl and a no weight signal indicates the article has been removed from said platter.
A weighing scale having price computing capability comprising a platter, means for generating code information corresponding to weight of a commodity on said platter, means detecting a no weight condition of said platter and developing a corresponding signal, a manually operable keyboard including means for generating code information in response to manual actuation of said keyboard a tare register, a price per unit weight register, and means responsive to said keyboard code information generating means and to said no weight detecting means and operable to cause transfer of keyboard entered information into said tare register when no weight is on said platter and to cause transfer of keyboard entered information into said price per unit weight register when there is weight on said platter.
A weighing scale as defined in claim 1, including a clear key on said keyboard, and circuit means responsive to actuation of said clear key and a no weight signal to clear said tare register.
Docket 6196-Dl A weighing scale as defined in claim 2, including circuit means responsive to actuation of said clear key while weight is on said platter and operable to clear said price per unit weight register.
A weighing scale as defined in claim 1, including means for subtracting tare register in-formation from weight information and for producing a difference signal, means for multiplying registered price per unit weight information by said difference signal information to produce total price information, a display including a multi-digit numerical indicator, and control circuit means driving said display to show numbers corresponding to tare, weight, price per unit weight and total price.
A weighing scale as defined in claim 4, including a clear key, and means re-sponsive to actuation of said clear key after total price has been displayed to retain an entry in said tare register for a weighing/computing operation on another article later placed on said platter.
A weighing scale as defined in claim 4, including means for clearing said tare weigh register after the total price is displayed Docket 6196-Dl and a no weight signal indicates the article has been removed from said platter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA344,100A CA1095172A (en) | 1975-12-15 | 1980-01-21 | Computing weighing scale |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/641,139 US4055753A (en) | 1975-12-15 | 1975-12-15 | Computing weighing scale |
CA258,496A CA1075273A (en) | 1975-12-15 | 1976-08-05 | Computing weighing scale |
CA344,100A CA1095172A (en) | 1975-12-15 | 1980-01-21 | Computing weighing scale |
US641,139 | 1984-08-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1095172A true CA1095172A (en) | 1981-02-03 |
Family
ID=27164588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA344,100A Expired CA1095172A (en) | 1975-12-15 | 1980-01-21 | Computing weighing scale |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA1095172A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6099732A (en) * | 1999-04-19 | 2000-08-08 | Dorlac; Jerome P. | Solvent extraction method and apparatus |
-
1980
- 1980-01-21 CA CA344,100A patent/CA1095172A/en not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6099732A (en) * | 1999-04-19 | 2000-08-08 | Dorlac; Jerome P. | Solvent extraction method and apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4135662A (en) | Operator prompting system | |
CA1085513A (en) | Dispensing system | |
US5121318A (en) | On-line plant operating procedure guidance system | |
US4003030A (en) | Electronic cash register | |
US4055753A (en) | Computing weighing scale | |
EP0491348A2 (en) | Unstaffed checkout system | |
JPS58117089A (en) | Postage meter | |
EP0322442B1 (en) | Method for processing data relating to purchased products | |
US4493037A (en) | Retail terminal | |
EP0089190B1 (en) | The production of descriptive labels for different items | |
EP0101638B1 (en) | Electronic scale with crt display | |
CA1095172A (en) | Computing weighing scale | |
US4055748A (en) | Computing weighing scale | |
US5398191A (en) | Point of sale apparatus with an automatic determination if weighing a product is necessary or prohibited | |
KR940002660Y1 (en) | Display device | |
EP0246834A1 (en) | Label printer | |
GB1567913A (en) | Computing weighing scale | |
JP3526092B2 (en) | Weight sorter | |
US3209998A (en) | Registering system | |
GB2109966A (en) | Control systems | |
JPH0667783A (en) | Menu type data input system | |
JPS5840226B2 (en) | gas station system | |
US20240086882A1 (en) | Lottery ticket data interceptor for a point-of-sale system | |
GB2035646A (en) | Improvements in and relating to revenue recording and processing systems and apparatus therefor | |
JPS634187B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |