CA1296426C - Impact detection apparatus - Google Patents
Impact detection apparatusInfo
- Publication number
- CA1296426C CA1296426C CA000529078A CA529078A CA1296426C CA 1296426 C CA1296426 C CA 1296426C CA 000529078 A CA000529078 A CA 000529078A CA 529078 A CA529078 A CA 529078A CA 1296426 C CA1296426 C CA 1296426C
- Authority
- CA
- Canada
- Prior art keywords
- digital
- memory means
- recorder
- memory
- acceleration
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P1/00—Details of instruments
- G01P1/12—Recording devices
- G01P1/127—Recording devices for acceleration values
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D9/00—Recording measured values
- G01D9/005—Solid-state data loggers
- G01D9/007—Data loggers attached to transport containers for perishable products, e.g. food or medicines
Abstract
Abstract Of The Disclosure An apparatus for measuring and recording accelerations or other physical quantities experienced by easily damaged items of commerce such as fruit and electronic computers. A triaxial accelerometer or other suitable sensor produces signals which are sampled by a microprocessor operating according to a program stored in a read-only memory. When the sampled accelerations or other physical quantitites exceed a predetermined threshold, samples are stored in a random access memory, along with their times of occurrence. The apparatus provides a serial port for reading out the recorded acceleration data. The data may then be subjected to further processing externally.
Description
~29S4~6 lOA6 IMPACT DETECTION APPARATUS
~icrofiche .~pendix This patent ~plication includes a microfiche appendix containing a computer pcogram. The appendix compcises one microfiche containing forty-five frames.
Field Of The Invsntion . . . _ This invention relates to the measurement of accelerations experienced by it~ms unde~going various h~ndling opec3tions ~nd, more particularly, to an : appara~Ua ~nich can be fixedly attached to an item or pL3ced ~mon~ ms to c~co~d all tciaxial accelecations e~ents ~hich e~ceed a predetermined threshold and the tines of o~currence of those acceleration e ents.
~ .
Description Of The Prior Art It is recognized that damage can occur to lS commodities, such as agricultural product~ and electronic products, while they are being handled and/o~
- transported. The damage occurs wben the commoditie~ are dropped or otherwise subiected to h~gh acceleration~.
' .
~ :' ~2~4~6 This damage, including bruising of fruits and breakage of equipment components, can influence the consumer's perception of product qual}ty and can require expensive repairs, making it important to ascertain at what point in their handling the goods are damaged.
A variety of studies, utilizing specialized equipment, have been conducted to dete~mine the acceleration histoeies of various commodities.
As ceoorted in ~Telemetry for In~estigating Forces on Fruits During ffandling,n Transactions of the ASAE, Volume 16, No. 2, pages 245-47 (1971), 0'8rien et al adapted the use of FM telemetry to collect signals from a remote pseudo fruit included with other frui~s during processing. The accelerations we~e ~easuced by a tciaxial accelerometer having a calib~ation acc~lcacy estimated at plus or minus 5 peccent and tne magnitude of the accelecations were transmitted to ~ continuous antenna placed along the fruit handling path. The physical proper~ies of each surface impacted by the fruit had to be measured to relate the accelerations experienced to the damage incurred. The system ~as lacking in reliability, could not accurately correlate internal she-r wlth damage and was suitable for use only .
~2~i4~6 in the relatively controlled environment of a fruit handling path.
In 1977, Aldred et al. used a microcomputer to sample and record data regarding the acceleration of a pseudo peach, as reported in ~Tèlemetry and Microcomputer System Aids Investigation of Forces on Peaches During ~echanical Harvesting," ASAE paper no.
77-1527. The data Jece first read out by a telemetry system. However, the instrument was not fully calibrated and no tests ~ere perfor~ed to obtain data relating the accelerations e.Yperienced to the range of bruises caused.
A telemetry system was used again in conjunction with an artificial potato, as reported by ~allee in "Telemetry Device for Monitoring the Damage Potential of Har-J~sting and ~andling E~uipment,~ 2hD
thesis, Pennsylvania State University (1981~. In this work, ~allee esta~1ished the celationship bet-~een impace accelecation and i.~p~ct damage, allowing prediction of impact damage based on the accelerations experienced by the aetificial potato.
; Andecson and Parks conclude, in ~The Electronic Potato,~ Scottish ~nstitute of Agricultural Engineeeing (1984), tha~ a single axis accelerometer device could peoduce re~ults which weee evaluated in ~2~ 6 terms of ~equivalent drop heights.~ These evaluated results gave a good indication of pcobable dama~e to the product for data evaluated in a telemetry de~ice.
~owever, a single axis accelecometer cannot measure three-dimensional accelerations, such as ace experienced by a rolling fruit on a handling path.
The most recent work, also employing telemetry, was by Haldecson, et al. It was published in "A Telemetry Device for Impact Detection,~
Proceedings of the National Conference on Agcicultucal Electronics Applications, Agricultural Electronics -1983 and Beyond, volume 2, pages 773-80. In this work ~alderson performed a statistical analysis of telemeteced acceleration signals, as well as impact energy levels, in ocder to calibcate each axis of a triaxial accelerometer.
Earlier systems foc collecting enviconmental data concerning the handling and tcanspoctation of goods have used eithec a direct data read-out with a cable conneceed to the instcumentation or a data telemetry system. Because the data they collected was immediately passed on to instrumentation external to the sensing housing, these systems did not require a memocy inside the sensing housing for storage of the data ' ~, , .
~2~ 6 -; MLD-003 --5 8A6 sensed. If a memory wece provided, it would require a large capacity because the acceleration events of intecest are short-lived and a high sa~pling rate is required to ade~uately characterize each event.
Further, relaeively little of the data collected would contain acceleration events of interest and much of the large memory would, therefore, be waste~
In U.S. Patent No. 4,387,587, Faulconer describes an apparatus and method whereby single axis decelerations of an automobile at a prescribed point along a highway or test track are sensed and stored if the magnitude of the deceleration exceeds a predetermined level. This s~bstantially reduces the memory storage requirements. However, because of the controlled circumstances under which Faulconer's invention is to be used, the time of occurrence of the brakLng decelecation event is known and is therefore not cecorded with the deceleration data. In the handling and transport of commeccial goods, on the other hand, the time of the acceleration event is an important unknown to be recorded with the othee data.
It i8 desirable, thecefore, to provide a device which can (a) be physically packaged in such a way as to approximate the object or commodity being ~on1tocod oc (b~ be fixedly attached to a larger ob~-ct, .
.
~9`S4~6 concurrenely sense accelerations alonq each of th~ee orthogonal axes, and (c) store both portions of the sensed acceleration eventq, where the maqnitude of acceleration along at least one of the three coordinate axes exceeds a predetermined threshold, and the times of occurrence of those acceleration events so that they can be read out and analyzed at a more convenient time.
Brief Description Of The Invention This invention provides an apparatus adapted to measure and record the acceleration history of commodities ~hile they are being handled or transported.
The apparatus can be made in the shape of the commodity being monitored or attached to the object being monitored. It can sense accelecations alonq each of three coo~dinate axes. All three acceleeations are stored as data if any one exceeds a predetermined acceleration magnitude. The apparatus also stoees the time of occucrence of such accelerations, `theeeby providing an event-time history. This histocy can be read from the memory foe analysis after the handling or tcanspoctation is completed.
..~
fi 6a In its method aspect, the invention relates to the method of sensing physical variables affecting an item while it is subjected to handling operations such as packaging and shipping, and recording a portion of the time history of those sensed physical variables which meet predetermined criteria, comprising the steps of: (A) attaching to the item a housing containing transducer means for sensing the physical variables, clock means, memory means, communication means, microprocessor means, and power supply means, operable to sense and quantify the values of the physical variables and to record the quantified sensed physical variables and their times of occurrence in the memory means under the control of a program comprising instructions to the microprocessor means, the housing being attached in a manner so that the values of the physical variables sensed by the transducer means are substantially similar to the values of the physical variables affecting the item; (B) causing the item to be subjected to the handling operations so that the housing is subjected to the same physical variables as the item; ~C) sensing the physical variables experienced by the housing; (D) storing intervals of the time history of the values of those sensed physical variables which meet predetermined criteria in the memory means, the intervals being of predetermined duration and beginning with the values of those sensed physical variables which first meet the predetermined criterion in each interval; and (E) reading the stored values of the physical variables from the memory means to a device external to the housing, whereby the magnitude of, and the time and frequency content of the occurrence of the sensed physical variables, experienced while the item is being handled, can be determined after the handling operations are performed on the item.
According to one aspect of this invention, the detection apparatus comprises a housing containing three rn/
;26 acceleration sensors, a microcompu~er, and a ba~tery.
The microcomputer comprises memory mean~, a micropeocessor, and clock meanQ. The memory contains program instructions for the microprocessor and also serves to store the data collected by the sensors.
Following transportation of the commodity, the data may be read out from the memory means, over a special port, to an external device for further processing. The analog signals produced by each of the accelerometers can be converted to digital signals by multiplexing these signals to an analog-to-digital converter. The microcomputer memory can be composed partly of random access memory (RAM) and partly of read-only memory (ROM): the ROM stores the program used by the mic~oprocessor. The ROM can be electrically p~ogrammable (an EPROM~ so that a new program can be entered thcough a port used to read out the stored data.
.
Bcief Description Of ~he Drawin~s FIGU~ 1 is a cut-away view of the enclosure of the invention including the enclosed detection apparatus;
FIGUR~ 2 show~ accelerometer response curve~;
; ~ FIGURe 3 is a block diagram of an overview of ~ the data acqui~ition sy~te~ 0~ th- in~entiont '' '' ~ILD-0()~ 4~6 FIGURE 4 is a schematic diagram of microprocessor and memory components of the apparatus of the invention;
FIGURES 4A and 4B are detailed circuit diagrams of the circuit shown in Figure 4.
FIGURE S is a schematic diagram showing the relationships between the hardware and software of the apparatus of the invention; and FIGURES 6A and 6B together are ~ flowchart of the sampling routines implemented by the microprocessor of the invention.
Detailed Description Of A Preferred Embodiment A better understanding of the details of the invention may be gained with reference to the figures of the drawings. In particular, Figure 1 shows a fruit shaped housing 10 (here shaped like an apple) enclosing apparatus 12. Housing 10 is made from material which simulates the impact resistance and other behavorial characteristics of the object being tested. This enclosue may be made of a single uniform layer of material, multiple layers of materials, or other combinations of plastic and rubber which allow the accelerometers of the impact measuring apparatus to accurately measure the accelerations which can be correlated to those experienced by a real fruit.
Bousinq 10 i~ shaped similarly to the object being simulated so that, in transport or handling, it rece~ves the same treatment aQ the simulated object.
It completely encloses ehe electronics package 12, which is rigidly secured with~n housing 10 so that the electronics package experiences the accelerations which can be correlated to those that real apples undergo.
aousing 10 can be made from EC-420 epoxy casting resin, produced by Ad-Tech Plastic Systems Co~pocation of Potterville, Michigan. Using this casting resin, housing 10 can be cast around electronics package 12 and set in less than one day. At a 77 F. (i.e., room temperatuce) ambient temperature, the peak temperature ~eached inside the housing a~ it cures is 173P., a temperatuce which nearly all electconics can sucvive.
It can also be dissolved away from package 12 without cequiring the destruction of package 12, thereby allowing for replacement of variou~ compOnentQ in package 12 (such as the battery 20). The resin can be ~; 20 dissolved by xylene, dimethyl chlo~ide, o~ propanol.
The casting resin can al~o be clear, per~itting a visual inspection of the enclosed package 12 to assess the possibility of damaqe~ A wide variety of such casting resins is available. It is pos~ible to simulate the shape of victually ny frult. ~C--20 resln h~s a Sbo~-.
i4~6 MLD-003 --l0 l0A6 D hardness of 70 and a tensile strength of 6000 poundQ
per square inch, making it su~table for coatings to simulate the hardness of variou~ fruit. ~n other applications, housing l0 can be made to permit rigid attachment to the item to be monitored. An example of such an application is that of monitoring the shipping history of a computer to determine at what point any damage is likely to occur. In such applications, it is possible that it is not necessary to monitor all three coordinate accelerations.
Electronics package 12, completely enclosed within housing 10, comprises electronic components such as micropcocessor 14, read only memory (ROM) 16, random access memory (RAM) 18, battery 20, and tria~ial accelerometer means 22. Although triaxial accelerometer means 22 can have any orientation within housing 10, it will be assumed, without loss of generality, that the axes of triaxial accelerometer 22 are aligned with o~thogonal cooedinate axes x, y and z. ~ccelerometec 22 is actually constructed from th~ee mutually perpendicular accele~ometers which separately measure accelerations. Attached to microp~ocessor 14 is a ~; signal line 24 wbich is connected to an electronic jack 26. Line 24 i~ attached to an appropr~ate 5ignal port 4~6 , on the microprocessor 14 to permit asynchronous community data, complying with the RS 232 timing, to be read out from the RAM 18 of apparatu~ 12. Once read out, these data can be further pcocessed.
Referring now to Figure 2 of the drawings, the effect of placing the triaxial accelerometer 22 (in Figure 1) within housing 10 (in ~igure 1) may be ascertained. Trace 28 in Figure 2 shows a time history of the response of an unenclosed accelerometer to a typical acceleration event, lasting less than 40 milliseconds. Trace 30 shows the response of an enclosed accelerometer of the same type to the same acceletation event. Comparison of t~aces 28 and 30 shows very little discrepancy between their responses, showing that enclosing the accelerometer in the casting resin has only a minoc effect on the accelerometec's response. The unencased accelerometr produces a more variable response than does the accelerometee enclosed in plastic. Therefore, an internally mounted 23 acce~lerometer can accurately respond to the acceleratlons expecienced by the ex~erior surfaces of an object having the shape of the enclos~re.
Pigure 3 shows the portion of the data :~
acquisition sy tem compris$ng the accelecometers, theic voltage supplle~, and other as50c1ated clectron1cs MLD-003 --12 lOA6 required to supply the microproce~sor 14 tin Pig. 1) with appropriately conditioned accelerometer cignals. A
6-volt dc voltage supply 20, such as a pair of 3-volt lithium baeteries available fcom the Altus Company, supplie~ the cu~rent necessary for the electronic circuitry of the apparatus of the invention. In ehis application, battery life can exceed 48 hours. ~his voltage supply, following an optional volea~e conversion to be described later, is attached to each of the three accelecometers and associated electronics. Each of the accelerometers, 34x, 34y, and 34z supplying the x-, y-, and z- axis acceleration signals, respectively, produces analog voltages which are accepted by an analog-to-digital ~A/D) con~erter port on the micropcocessor 14. An Intel model 8097 microprocessor, as part of an Intel 8096 microcontroller family, can serve as microprocessor 14.
Each accelerometer 34 x-z, in the t~iaxial accelerometer 22, i~ able to sense acceleraeions within a range of about plu~ o~ minu~ 750 times g, the acceleeation of ~ravity. The output charactetistlcs of thi~ Vibrametric~ model 3130 triaxial accelerometer are very ~table. It~ linearity i~ retained even ~hen it i~ te~ted with ~nu~oidal shock levels a~ h~gh as plu~
.
; HLD-003 --13 lOA6 .. , or minus 100 g. Such accelerometee~ consume very little power--for example, when operated at 6 volts dc, model 3130 accelerometer consumes 0.2 m~. Thi~
accelerometee with offset conditioning produces a voltage range of 0 to 5.12 volts for a plus or minus 256 g acceleration range. Increasing the operating voltage range allows the triaxial accelero~eter to measure accelerations in excess of the range of plus or minus 750 times 9.
~hile applications where there is interest in sensing acceleration~ in three orthogonal dicections are readi1y cecognized, the number of directions of acceleration sensed and their orientation can be chosen to be suitable for a variety of other applications.
lS ~ncluded in these are one- and two-direction measurements as well as non-orthogonal multi-axis sensors.
Accelerometer constant cuccent supply 40 can conYist of a current li~iting diode with an RC high pass filtec circuit having a 3d8 cutoff frequency of lHz. As ~; shown, acceptable values for the res$stor and capacitor are: R~lM Q, and C-l ~F.
The A/D input of the ~ntel 8097 microprocessor 14 is designed to recelve voltage levels between 0 and ~5.5 voltg. 8ecause the voltage slgnals pcoduced by each axiQ 34~-z of the triaxial accelerometer 22 are sent to A/D converter port 48, the scale factor provided by divider 42 and the offse~ voltage provided ~y summing amplifier 44 are chosen to permit the full ran~e of these signals to fall within appropriate voltage ranges.
For example, the accelerations to agricultural products should not exceed plus or minus 250g, since it has been determined that damage to fruits definitely cesults at acceleration levels above 200g and thus equipment is designed to prevent such accelerations.
Therefore the accelerometer ~oltage signal magnitudes can be sent directly to the A/D (after correct offset voltage conditioning) without the need for voltage scaling. For higher g levels (for example up to 500 g fbr computers and electronic instruments) it i-~
necessary to scale the output accelerometer voltage signals before they ace input to port 48.
For an acceleration ~ange of up to plu~ o~
minus 256g, the A/D conversion is simple and direct, ; 20 requiring only a summing amplifier toffset voltage).
The A/D quantization ercor for this application is plu~
oc minu~ 1/2 blt, co~responding to plus oc minu~ 2g.
Only 8 bit~ of the 10-bit A/D capabil~ty of the 8097 miccocomputer 1~ are ùsed. Por an acceleratlon range of plus or minuQ 7689 (measured by a vibrometrics model 3132 accelerometer), or plus or minus 7.68V output, the A/D input must be scaled down by a factoe of 3 in order to obtain a 0 to 5 volt range.
Other triaxial accelerometers 22 may req~ire supply voltage ranges other than 0 to 6 volts. For example, a Vibrometrics model 3132 accelometer operates on a voltaqe range of 0 to 15 volts. To obtain this range from a single 6-volt battery, a voltage convecter 46 is requiced. Such converters are widely available, having efficiencies as high as 98%.
The 8097 microprocessor 14 can accept signals on as many as 8 channels and is equipped with eight kllobytes (8R) of electrically programmable read-only i--memory (EPROM, contain~ng the monitoc progcam) and addresses lM bytes of RAM ( for data storage). For the present application, four channels are used with 112k bytes of RAM. The EP~OM can consist of two additional Intel 27}6 chips and the ~AM can consist oE RCA 6164 chips. Other equivalent microprocessocs and ch~ps can be used.
As shown in Figure 4 of the drawings, Intel ~ ~ 8097 mlcroprocessor 14 receives analog inputs th~ough ,~ its A/D channel ~nputs 48. Sampllng each of three axe~
, z5 ~f triaxial accelero~eter 22 every 1 ~llisecond, .
~,?J~ 6 MLD-003 --16 lOA6 micropeocessor 1~ produces 10 parallel line~ of digital data, of whicb 8 are utilized. The alternately sampled 8 bits from the eciaxial accelerometec are input along with the appropriate six~een bit address into the memory 56. These digital outputs are pcoduced a~ port 50, with the d~gitized data represeneing cyclically produced samples of each of the th~ee acceleration component~
measured by triaxial accelerometer 22. Of course, microprocessor 14 can be programmed to sample only two of the accelerometers in applications where it is known that accelerations do not occuc in the third direction.
The data are sent to both multiplexer 52, consisting of two ~ntel 8282 integrated circuits, and transceiver 54, consisting of two 74LS245 non-inYerting octal transceiver circuit~. Both multiplexer 52 and transceiver S4 are connected to memory 56.
Multiplexer 52 produces the me~ocy address at which the correspondlng digital data are to be stored.
These addresses are sent to memocy 56 and to address decoder 58 which determines which of the ~ix RC~ 6164 RAM chips to enable for ~torage of the digital data.
Thu~, a RAM chip enable signal ig provided to memory S6 ovec parallel line 59 and the specific address on the , ~J~ 6 .
MLD-003 --lt 10A6 enabled chip is provided by multiplexer S2 over parallel line 57.
Tran~ceiver 54, upon receipt of the appropriate signal on itq direction (~DIR~) pin 55 from the ~RD~ pin 49 of microprocessor ~4, receives a digitized sample from port S0 and transmies this digital data to memory 56, where it is stored. At other times, transceiver 54 can receive data stored in memory 56 and transmit it to microprocessor 14. Transceiver 52 is used in this mode, for example, at the time of system startup, to load the monLtor program sto~ed in the ROM
portion of memory 56 into microprocessor 14.
Microprocessor 14 also produces control signals, which are sent over line 60 to memory controller 62. ~emory controller 62 convert~ these signals to memory control signals. The memory control signals are transmitted to memoey 56 over parallel lines 63 to contcol the timing of the data storage and retrieval operations.
Finally, microprocessor 14 has a serial port :~ 64 which can produce asynchronou~ ~erial signals to allow transmittal of data to and from an attachable dumb ~: terminal 66. Dumb terminal 66, which can, for example, be attached to port 64 by means such as signal line 24 ; 25 and electronic ~ack of ~ig. 1, can be used to progra~
MLD-O03 --18 lOA6 microproceQsor 14 in the future. It can alao rece~ve data stored $n memory 56 through transceiver 54 undee the control of microprocessor 1~.
The storage of digitized data memory 56 is in the for~ of a packed recoed fi~e. This ile 1~ made up of a header and a record for each i~pact evene which is above the set threshold. The header contains the following information; the time and date of file creation, the zero g digitized value, sampling rate, and the thceshold setting. Each record will consist of a start time variable ~4 bytes), numbec of data points per axis va~iable (2 bytes), and a dynamic number of three-byte-long arrays which represent the accelerations of ; each axis. The number of three-bytes array-~ equals the number of data points per axis var~able. The 16-bit beginning and end of file addresses will be stored elsewhere in memory alonq witb a curcent position index.
SoEtware provisions have been made to accommodate having more than one f~le on-board memory, alonq wlth dlfferent ~20 internal file structures.
Durin~ serial file transfec-~ the 8-bit bytes will be converted to he~ notation, ~o that ASCII
standacd~ can be u3ed iA dati~ transfec.
~,, .
, , ~LD-003 --19 lOA6 "
Referring to Figure 5 of the drawinqQ the architecture of microprocessor 14 can be better under~tood. Micropcocessor 1~ comprises a main processing unit 68 which receive~ data fro~ A~D
converter 70 which, in turn digi~izes analog signals received from the accelerometers at port 48 of the microprocessor. IQ addition, main processing uni~ 68 can access both temporary storage 72 ~in the form of a buffer) for temporary storage of data and the RAM
portion of memory 56. Trigger flag 95 is set by main proceasing unit 68 when the digital data produced by A/D
converter 70 satisfy cectain criteria which signify that a recordable acceleration event has occurred. These , criteria~will be discussed subsequently~
Pinally, main processinq unit 68 is attached to the nearly autonomou-~ high speed output (~SO) unit 82. Monitor program 74, which i-~ used by main processing unit 68, comprises an A/D interrupt routine 76, ~SO interrupt routine 78, and other programs 80, which are read fron the EPROM portion of memory 56.
:
The pcograms used in thi~ embodiment are included in the microficbe appendix.
~ ~ ~ HSO unit 82 receives program instructions fro~
!~ ~ main processing unit 68 ovef HSO progcan instruction !~ 25 l$ne 8~. In turn, ~SO unit 82 i~ capable of ~end~ng an i426 ' MLD-003 --20 lOA6 .
interrupt signal to main proces~ing unit 68 o~er interrupt line 86. ~SO unit 82 also receives a timer signal from eimer 88 and can send a ~tart A/D~ ~ignal to A/D converter 70 o~er signal line 90.
~S0 unit 82 ha~ eight progra~ registers which hold both commands and associated commencement time~.
All eight programmed times are compaced to the ceference timer 88 at every cycle of the microcomputer system's clock. The HSO unit is programmed when main processing unit 68 sends portion~ of monitor prog~am 74 over ~SO
program instruction line 84. A ficst portion of monitor program 74, A/D interrupt routine 76, is executed when there is an A/D interrupt with the cesulting A/D data placed into temporary stoc~ge foc threshold comparison and pceparation for next channel conversion.
~ Data produced by A/D converter 70 will not be ; recorded unless trigger flag 95 is se~. This signal will be set if any one of the th~ee axe~ of triaxial accelerometer exper~ence~ an acceleration outside of a .
band of accelerations centered about Og. This is ~;~ accomplished by comparing the absolute ralue of the :
digital value of each sample produced by A/~ con~erter to a predetermined threshold value. If ma~n processing , '~ unit 68 deternines that the absolute value of th-1~:. - .
~ ::
.
' ~ :
:~ .
~2~ 6 MLD-003 --21 lOA6 acceleration along any one of the three axes ha~
exceeded a predetermined threshold, the trigqee flag 95 is set. If the threshold is not exceeded, the value of the trigger ~lag 9S i~ reset.
A flo~ chart describing the sampling operation of the system is shown in Figure 6. The first step in - routine 78 is to increment the variable STIME by the sample period. Next, a command in BSO interrupt routine 78 checks to determine whether the record flag 94 (see Fig. 5) is set. If record flag is not set, coutine 78 is stopped and the main programs 80 resumes control. If the record flag i~ set, preparations are made to arm -channel 1 ~which receive~ the analog input from the ~
axis of accelerometer 22 in Figure 1) of A/D unit 70.
Next, appropciate offset time~ are added to the saved value of timer 1, p~oducing the three sample times at which the three analog input signal~ will be converted by A/D unit 70. Finally, any x, y, and z value~ in temporary storage 72 (Figure 5) are caused to be moved to long term data ~torage 56. Until another interrupt 76 or 78 take~ place, the main programs 80 retaln control.
~SO unit 82 no~ waits for the value of timer 88 to be equal to the time for the first A~D conversion.
~ con~er~ion is perfor~ed and tho result stored ln i4~6 MLD-003 --22 lOA6 temporary storaqe 72. Similarly, samples of the analoq voltage3 produced by t~e other two axes of the accelecometer are sampled and stored in temporary storage 72. The A/D unit 70 sends an interrupt signal over interrupt line 92a which prepares the main processing unit 68 to receive data. This cause~ the interrupt routine 76 to be executed. The data is transfe~red to temporary buffer 72 by eight bit bus 92.
The hardware is contained in the Intel 8097.
HSO un$t instructions are deleted from the ~SO
progra~ registers after execution: therefore the HSO
progra~ registers must be reset after each sample period. The sampling proces~ is made self-perpetuating by having the ~SO interrupt routine 78 reprogram ~SO
unit 82 after each sample period.
The A/D intecrupt routine is pe~formed in five timer inc~ements; a single A/D conversion is performed in twenty-one timee inccements. Thecefoce, because a timer increment equal~ two microseconds, the time to sample the signals pcoduced by all thcee axes of triaxial accelerometer 22 i~ 156 mic~osecond~ 1- 3 time,s ~ ~ 26 timer increments, at 2 microseconds per timer '~ inc~ement). A substantial time delay i~ added before sampling the first axi~, in order to decrease the overall effective sampllng rate accompll~hed by A/D
MLD-003 --23 lOA6 converter 70. Therefore, the three acceleration channels are sampled nearly si~ultaneously, minimizing the effects of time delay. At these rates, a S0 ms event can be sampled 320 times, thus minimizing effects of aliasing, and producing three bytes of data per sample ~one byte per accelerometer channel with each sample). These 960 ~ytes, plus the 4 required to store the relevant time data and the two for the number of samples included, mean that each event takes 966 bytes of storage. Thus, a total of 116 (-112k bytes/966 bytes) events can be stored in RAM.
Except during the execution of the ~SO
interrupt routine 78 and the A/D interrupt routine 76, main processor unit 68 is free to handle mass data moves in raw data proce3sing, as well as limited data analysis. Approximately 500 instructions can be executed between accelerometer samples when sampling at 1000 ~2.
Frequency contents and/or frequency of occurrence of accelerations exceedlng a predetermined level can be measured by such sequence~ of instructions.
The serial port, beside its uses as a means for reading data stored in the mlcrocomputer RA~ and reprogramming microprocessor 1~, can ~erve to chango the thresholds which inltiate data storage. It can al-~o M~D-003 --2~ lOA6 serve a~ an additional path for digital data to be ~to~ed in RAM. An example of an external source of data which should be recorded i~ an accelero~eter mounted on the bed of a truck which is carrying the items which are being monitored. Thi~ capability will allow cocrelation studies to be made of the external shocks imposed on the shipping means and the result~nt shocks experienced by the individual items. Microprocessor 14 can be programmed to initiate recording based on the magnitude of these external shocks.
Various power supplie~ can be used, also. For example, by providing a lead fcom the electronic package 12 to the exterio~ of housing 10 (in ~ig. 1), battery 20 may be rechargeable, allowing its use over much more extended periods of time and obviating the need to change batteries so frequently. In addition, an external power supply can be used when the apparatus is in use, if such supply is available. Finally, to protect from the unde-~irable loss of data due to a failure of battery 20, RAH 18 can be connected to it~
own dedicated battery.
While the prefecred embodiment described above . i8 celated to the use of the measurement of accelerations experienced by sub~ec~ object~ as fruit~, the sub~ect of th~ appl~cat~on should not b- ~o MLD-003 --25 lOA6 limited. The apparatus of this invention can f~nd great utility in shipping appllcations, such as the shipp~ng of fragile electronic equipment, in that it w~ll provide a means for determining when the greatest shocks occur in the shipment of such equipment.
Further, while the peeferred embodiment include~ conventional accelerometer means for measuring accelerations, other accelerometer means can also be used. Examples are sensors which measure accelerations by sensing the heat produced or which measure damaging forces by sensing pcessu~e~. In addition, sensors measu~ing other phys~cal quantities, such as temperature, humidity, pres~ure, and radiation, regardle~s of their principles of operation, can be used lS in connection with the apparatus described above. Also, various sensor~ can be used in combination with the ; apparatus of the preferred embodiment to sense sevecal ; quantities concurrently.
While the p~eferred embodiment has been described in terms of a specific microprocessor and data acquisition systen, othe~ comme~cially available sy~tems with diffe~ent architectuces can be equ~valently used.
The commun~cations port, descr~bed as a serial poet communicating data in compliance with the ~S 232 tlming, ~. ' : .
MI~--003 --26 lOA6 could be a paral lel communication port in some specific application~. Theref~re, the scope of this invention is to be 1 i~ited only by the fol lowing claim~.
. ' , .
'5ICROFICHE APPENDIX
to IMPACT DET~CTION APPARATUS
Inventors- H. Roland Zapp, et al :
,i, ~ :
': : . ~2 1 , :: :
~' , 4~:6 INDEX~TO THE MICROFICHE APPENDIX
Name of Program nescription of Program 1. BOOT Vl.2 Initializes the 8097 micro-controller.
~icrofiche .~pendix This patent ~plication includes a microfiche appendix containing a computer pcogram. The appendix compcises one microfiche containing forty-five frames.
Field Of The Invsntion . . . _ This invention relates to the measurement of accelerations experienced by it~ms unde~going various h~ndling opec3tions ~nd, more particularly, to an : appara~Ua ~nich can be fixedly attached to an item or pL3ced ~mon~ ms to c~co~d all tciaxial accelecations e~ents ~hich e~ceed a predetermined threshold and the tines of o~currence of those acceleration e ents.
~ .
Description Of The Prior Art It is recognized that damage can occur to lS commodities, such as agricultural product~ and electronic products, while they are being handled and/o~
- transported. The damage occurs wben the commoditie~ are dropped or otherwise subiected to h~gh acceleration~.
' .
~ :' ~2~4~6 This damage, including bruising of fruits and breakage of equipment components, can influence the consumer's perception of product qual}ty and can require expensive repairs, making it important to ascertain at what point in their handling the goods are damaged.
A variety of studies, utilizing specialized equipment, have been conducted to dete~mine the acceleration histoeies of various commodities.
As ceoorted in ~Telemetry for In~estigating Forces on Fruits During ffandling,n Transactions of the ASAE, Volume 16, No. 2, pages 245-47 (1971), 0'8rien et al adapted the use of FM telemetry to collect signals from a remote pseudo fruit included with other frui~s during processing. The accelerations we~e ~easuced by a tciaxial accelerometer having a calib~ation acc~lcacy estimated at plus or minus 5 peccent and tne magnitude of the accelecations were transmitted to ~ continuous antenna placed along the fruit handling path. The physical proper~ies of each surface impacted by the fruit had to be measured to relate the accelerations experienced to the damage incurred. The system ~as lacking in reliability, could not accurately correlate internal she-r wlth damage and was suitable for use only .
~2~i4~6 in the relatively controlled environment of a fruit handling path.
In 1977, Aldred et al. used a microcomputer to sample and record data regarding the acceleration of a pseudo peach, as reported in ~Tèlemetry and Microcomputer System Aids Investigation of Forces on Peaches During ~echanical Harvesting," ASAE paper no.
77-1527. The data Jece first read out by a telemetry system. However, the instrument was not fully calibrated and no tests ~ere perfor~ed to obtain data relating the accelerations e.Yperienced to the range of bruises caused.
A telemetry system was used again in conjunction with an artificial potato, as reported by ~allee in "Telemetry Device for Monitoring the Damage Potential of Har-J~sting and ~andling E~uipment,~ 2hD
thesis, Pennsylvania State University (1981~. In this work, ~allee esta~1ished the celationship bet-~een impace accelecation and i.~p~ct damage, allowing prediction of impact damage based on the accelerations experienced by the aetificial potato.
; Andecson and Parks conclude, in ~The Electronic Potato,~ Scottish ~nstitute of Agricultural Engineeeing (1984), tha~ a single axis accelerometer device could peoduce re~ults which weee evaluated in ~2~ 6 terms of ~equivalent drop heights.~ These evaluated results gave a good indication of pcobable dama~e to the product for data evaluated in a telemetry de~ice.
~owever, a single axis accelecometer cannot measure three-dimensional accelerations, such as ace experienced by a rolling fruit on a handling path.
The most recent work, also employing telemetry, was by Haldecson, et al. It was published in "A Telemetry Device for Impact Detection,~
Proceedings of the National Conference on Agcicultucal Electronics Applications, Agricultural Electronics -1983 and Beyond, volume 2, pages 773-80. In this work ~alderson performed a statistical analysis of telemeteced acceleration signals, as well as impact energy levels, in ocder to calibcate each axis of a triaxial accelerometer.
Earlier systems foc collecting enviconmental data concerning the handling and tcanspoctation of goods have used eithec a direct data read-out with a cable conneceed to the instcumentation or a data telemetry system. Because the data they collected was immediately passed on to instrumentation external to the sensing housing, these systems did not require a memocy inside the sensing housing for storage of the data ' ~, , .
~2~ 6 -; MLD-003 --5 8A6 sensed. If a memory wece provided, it would require a large capacity because the acceleration events of intecest are short-lived and a high sa~pling rate is required to ade~uately characterize each event.
Further, relaeively little of the data collected would contain acceleration events of interest and much of the large memory would, therefore, be waste~
In U.S. Patent No. 4,387,587, Faulconer describes an apparatus and method whereby single axis decelerations of an automobile at a prescribed point along a highway or test track are sensed and stored if the magnitude of the deceleration exceeds a predetermined level. This s~bstantially reduces the memory storage requirements. However, because of the controlled circumstances under which Faulconer's invention is to be used, the time of occurrence of the brakLng decelecation event is known and is therefore not cecorded with the deceleration data. In the handling and transport of commeccial goods, on the other hand, the time of the acceleration event is an important unknown to be recorded with the othee data.
It i8 desirable, thecefore, to provide a device which can (a) be physically packaged in such a way as to approximate the object or commodity being ~on1tocod oc (b~ be fixedly attached to a larger ob~-ct, .
.
~9`S4~6 concurrenely sense accelerations alonq each of th~ee orthogonal axes, and (c) store both portions of the sensed acceleration eventq, where the maqnitude of acceleration along at least one of the three coordinate axes exceeds a predetermined threshold, and the times of occurrence of those acceleration events so that they can be read out and analyzed at a more convenient time.
Brief Description Of The Invention This invention provides an apparatus adapted to measure and record the acceleration history of commodities ~hile they are being handled or transported.
The apparatus can be made in the shape of the commodity being monitored or attached to the object being monitored. It can sense accelecations alonq each of three coo~dinate axes. All three acceleeations are stored as data if any one exceeds a predetermined acceleration magnitude. The apparatus also stoees the time of occucrence of such accelerations, `theeeby providing an event-time history. This histocy can be read from the memory foe analysis after the handling or tcanspoctation is completed.
..~
fi 6a In its method aspect, the invention relates to the method of sensing physical variables affecting an item while it is subjected to handling operations such as packaging and shipping, and recording a portion of the time history of those sensed physical variables which meet predetermined criteria, comprising the steps of: (A) attaching to the item a housing containing transducer means for sensing the physical variables, clock means, memory means, communication means, microprocessor means, and power supply means, operable to sense and quantify the values of the physical variables and to record the quantified sensed physical variables and their times of occurrence in the memory means under the control of a program comprising instructions to the microprocessor means, the housing being attached in a manner so that the values of the physical variables sensed by the transducer means are substantially similar to the values of the physical variables affecting the item; (B) causing the item to be subjected to the handling operations so that the housing is subjected to the same physical variables as the item; ~C) sensing the physical variables experienced by the housing; (D) storing intervals of the time history of the values of those sensed physical variables which meet predetermined criteria in the memory means, the intervals being of predetermined duration and beginning with the values of those sensed physical variables which first meet the predetermined criterion in each interval; and (E) reading the stored values of the physical variables from the memory means to a device external to the housing, whereby the magnitude of, and the time and frequency content of the occurrence of the sensed physical variables, experienced while the item is being handled, can be determined after the handling operations are performed on the item.
According to one aspect of this invention, the detection apparatus comprises a housing containing three rn/
;26 acceleration sensors, a microcompu~er, and a ba~tery.
The microcomputer comprises memory mean~, a micropeocessor, and clock meanQ. The memory contains program instructions for the microprocessor and also serves to store the data collected by the sensors.
Following transportation of the commodity, the data may be read out from the memory means, over a special port, to an external device for further processing. The analog signals produced by each of the accelerometers can be converted to digital signals by multiplexing these signals to an analog-to-digital converter. The microcomputer memory can be composed partly of random access memory (RAM) and partly of read-only memory (ROM): the ROM stores the program used by the mic~oprocessor. The ROM can be electrically p~ogrammable (an EPROM~ so that a new program can be entered thcough a port used to read out the stored data.
.
Bcief Description Of ~he Drawin~s FIGU~ 1 is a cut-away view of the enclosure of the invention including the enclosed detection apparatus;
FIGUR~ 2 show~ accelerometer response curve~;
; ~ FIGURe 3 is a block diagram of an overview of ~ the data acqui~ition sy~te~ 0~ th- in~entiont '' '' ~ILD-0()~ 4~6 FIGURE 4 is a schematic diagram of microprocessor and memory components of the apparatus of the invention;
FIGURES 4A and 4B are detailed circuit diagrams of the circuit shown in Figure 4.
FIGURE S is a schematic diagram showing the relationships between the hardware and software of the apparatus of the invention; and FIGURES 6A and 6B together are ~ flowchart of the sampling routines implemented by the microprocessor of the invention.
Detailed Description Of A Preferred Embodiment A better understanding of the details of the invention may be gained with reference to the figures of the drawings. In particular, Figure 1 shows a fruit shaped housing 10 (here shaped like an apple) enclosing apparatus 12. Housing 10 is made from material which simulates the impact resistance and other behavorial characteristics of the object being tested. This enclosue may be made of a single uniform layer of material, multiple layers of materials, or other combinations of plastic and rubber which allow the accelerometers of the impact measuring apparatus to accurately measure the accelerations which can be correlated to those experienced by a real fruit.
Bousinq 10 i~ shaped similarly to the object being simulated so that, in transport or handling, it rece~ves the same treatment aQ the simulated object.
It completely encloses ehe electronics package 12, which is rigidly secured with~n housing 10 so that the electronics package experiences the accelerations which can be correlated to those that real apples undergo.
aousing 10 can be made from EC-420 epoxy casting resin, produced by Ad-Tech Plastic Systems Co~pocation of Potterville, Michigan. Using this casting resin, housing 10 can be cast around electronics package 12 and set in less than one day. At a 77 F. (i.e., room temperatuce) ambient temperature, the peak temperature ~eached inside the housing a~ it cures is 173P., a temperatuce which nearly all electconics can sucvive.
It can also be dissolved away from package 12 without cequiring the destruction of package 12, thereby allowing for replacement of variou~ compOnentQ in package 12 (such as the battery 20). The resin can be ~; 20 dissolved by xylene, dimethyl chlo~ide, o~ propanol.
The casting resin can al~o be clear, per~itting a visual inspection of the enclosed package 12 to assess the possibility of damaqe~ A wide variety of such casting resins is available. It is pos~ible to simulate the shape of victually ny frult. ~C--20 resln h~s a Sbo~-.
i4~6 MLD-003 --l0 l0A6 D hardness of 70 and a tensile strength of 6000 poundQ
per square inch, making it su~table for coatings to simulate the hardness of variou~ fruit. ~n other applications, housing l0 can be made to permit rigid attachment to the item to be monitored. An example of such an application is that of monitoring the shipping history of a computer to determine at what point any damage is likely to occur. In such applications, it is possible that it is not necessary to monitor all three coordinate accelerations.
Electronics package 12, completely enclosed within housing 10, comprises electronic components such as micropcocessor 14, read only memory (ROM) 16, random access memory (RAM) 18, battery 20, and tria~ial accelerometer means 22. Although triaxial accelerometer means 22 can have any orientation within housing 10, it will be assumed, without loss of generality, that the axes of triaxial accelerometer 22 are aligned with o~thogonal cooedinate axes x, y and z. ~ccelerometec 22 is actually constructed from th~ee mutually perpendicular accele~ometers which separately measure accelerations. Attached to microp~ocessor 14 is a ~; signal line 24 wbich is connected to an electronic jack 26. Line 24 i~ attached to an appropr~ate 5ignal port 4~6 , on the microprocessor 14 to permit asynchronous community data, complying with the RS 232 timing, to be read out from the RAM 18 of apparatu~ 12. Once read out, these data can be further pcocessed.
Referring now to Figure 2 of the drawings, the effect of placing the triaxial accelerometer 22 (in Figure 1) within housing 10 (in ~igure 1) may be ascertained. Trace 28 in Figure 2 shows a time history of the response of an unenclosed accelerometer to a typical acceleration event, lasting less than 40 milliseconds. Trace 30 shows the response of an enclosed accelerometer of the same type to the same acceletation event. Comparison of t~aces 28 and 30 shows very little discrepancy between their responses, showing that enclosing the accelerometer in the casting resin has only a minoc effect on the accelerometec's response. The unencased accelerometr produces a more variable response than does the accelerometee enclosed in plastic. Therefore, an internally mounted 23 acce~lerometer can accurately respond to the acceleratlons expecienced by the ex~erior surfaces of an object having the shape of the enclos~re.
Pigure 3 shows the portion of the data :~
acquisition sy tem compris$ng the accelecometers, theic voltage supplle~, and other as50c1ated clectron1cs MLD-003 --12 lOA6 required to supply the microproce~sor 14 tin Pig. 1) with appropriately conditioned accelerometer cignals. A
6-volt dc voltage supply 20, such as a pair of 3-volt lithium baeteries available fcom the Altus Company, supplie~ the cu~rent necessary for the electronic circuitry of the apparatus of the invention. In ehis application, battery life can exceed 48 hours. ~his voltage supply, following an optional volea~e conversion to be described later, is attached to each of the three accelecometers and associated electronics. Each of the accelerometers, 34x, 34y, and 34z supplying the x-, y-, and z- axis acceleration signals, respectively, produces analog voltages which are accepted by an analog-to-digital ~A/D) con~erter port on the micropcocessor 14. An Intel model 8097 microprocessor, as part of an Intel 8096 microcontroller family, can serve as microprocessor 14.
Each accelerometer 34 x-z, in the t~iaxial accelerometer 22, i~ able to sense acceleraeions within a range of about plu~ o~ minu~ 750 times g, the acceleeation of ~ravity. The output charactetistlcs of thi~ Vibrametric~ model 3130 triaxial accelerometer are very ~table. It~ linearity i~ retained even ~hen it i~ te~ted with ~nu~oidal shock levels a~ h~gh as plu~
.
; HLD-003 --13 lOA6 .. , or minus 100 g. Such accelerometee~ consume very little power--for example, when operated at 6 volts dc, model 3130 accelerometer consumes 0.2 m~. Thi~
accelerometee with offset conditioning produces a voltage range of 0 to 5.12 volts for a plus or minus 256 g acceleration range. Increasing the operating voltage range allows the triaxial accelero~eter to measure accelerations in excess of the range of plus or minus 750 times 9.
~hile applications where there is interest in sensing acceleration~ in three orthogonal dicections are readi1y cecognized, the number of directions of acceleration sensed and their orientation can be chosen to be suitable for a variety of other applications.
lS ~ncluded in these are one- and two-direction measurements as well as non-orthogonal multi-axis sensors.
Accelerometer constant cuccent supply 40 can conYist of a current li~iting diode with an RC high pass filtec circuit having a 3d8 cutoff frequency of lHz. As ~; shown, acceptable values for the res$stor and capacitor are: R~lM Q, and C-l ~F.
The A/D input of the ~ntel 8097 microprocessor 14 is designed to recelve voltage levels between 0 and ~5.5 voltg. 8ecause the voltage slgnals pcoduced by each axiQ 34~-z of the triaxial accelerometer 22 are sent to A/D converter port 48, the scale factor provided by divider 42 and the offse~ voltage provided ~y summing amplifier 44 are chosen to permit the full ran~e of these signals to fall within appropriate voltage ranges.
For example, the accelerations to agricultural products should not exceed plus or minus 250g, since it has been determined that damage to fruits definitely cesults at acceleration levels above 200g and thus equipment is designed to prevent such accelerations.
Therefore the accelerometer ~oltage signal magnitudes can be sent directly to the A/D (after correct offset voltage conditioning) without the need for voltage scaling. For higher g levels (for example up to 500 g fbr computers and electronic instruments) it i-~
necessary to scale the output accelerometer voltage signals before they ace input to port 48.
For an acceleration ~ange of up to plu~ o~
minus 256g, the A/D conversion is simple and direct, ; 20 requiring only a summing amplifier toffset voltage).
The A/D quantization ercor for this application is plu~
oc minu~ 1/2 blt, co~responding to plus oc minu~ 2g.
Only 8 bit~ of the 10-bit A/D capabil~ty of the 8097 miccocomputer 1~ are ùsed. Por an acceleratlon range of plus or minuQ 7689 (measured by a vibrometrics model 3132 accelerometer), or plus or minus 7.68V output, the A/D input must be scaled down by a factoe of 3 in order to obtain a 0 to 5 volt range.
Other triaxial accelerometers 22 may req~ire supply voltage ranges other than 0 to 6 volts. For example, a Vibrometrics model 3132 accelometer operates on a voltaqe range of 0 to 15 volts. To obtain this range from a single 6-volt battery, a voltage convecter 46 is requiced. Such converters are widely available, having efficiencies as high as 98%.
The 8097 microprocessor 14 can accept signals on as many as 8 channels and is equipped with eight kllobytes (8R) of electrically programmable read-only i--memory (EPROM, contain~ng the monitoc progcam) and addresses lM bytes of RAM ( for data storage). For the present application, four channels are used with 112k bytes of RAM. The EP~OM can consist of two additional Intel 27}6 chips and the ~AM can consist oE RCA 6164 chips. Other equivalent microprocessocs and ch~ps can be used.
As shown in Figure 4 of the drawings, Intel ~ ~ 8097 mlcroprocessor 14 receives analog inputs th~ough ,~ its A/D channel ~nputs 48. Sampllng each of three axe~
, z5 ~f triaxial accelero~eter 22 every 1 ~llisecond, .
~,?J~ 6 MLD-003 --16 lOA6 micropeocessor 1~ produces 10 parallel line~ of digital data, of whicb 8 are utilized. The alternately sampled 8 bits from the eciaxial accelerometec are input along with the appropriate six~een bit address into the memory 56. These digital outputs are pcoduced a~ port 50, with the d~gitized data represeneing cyclically produced samples of each of the th~ee acceleration component~
measured by triaxial accelerometer 22. Of course, microprocessor 14 can be programmed to sample only two of the accelerometers in applications where it is known that accelerations do not occuc in the third direction.
The data are sent to both multiplexer 52, consisting of two ~ntel 8282 integrated circuits, and transceiver 54, consisting of two 74LS245 non-inYerting octal transceiver circuit~. Both multiplexer 52 and transceiver S4 are connected to memory 56.
Multiplexer 52 produces the me~ocy address at which the correspondlng digital data are to be stored.
These addresses are sent to memocy 56 and to address decoder 58 which determines which of the ~ix RC~ 6164 RAM chips to enable for ~torage of the digital data.
Thu~, a RAM chip enable signal ig provided to memory S6 ovec parallel line 59 and the specific address on the , ~J~ 6 .
MLD-003 --lt 10A6 enabled chip is provided by multiplexer S2 over parallel line 57.
Tran~ceiver 54, upon receipt of the appropriate signal on itq direction (~DIR~) pin 55 from the ~RD~ pin 49 of microprocessor ~4, receives a digitized sample from port S0 and transmies this digital data to memory 56, where it is stored. At other times, transceiver 54 can receive data stored in memory 56 and transmit it to microprocessor 14. Transceiver 52 is used in this mode, for example, at the time of system startup, to load the monLtor program sto~ed in the ROM
portion of memory 56 into microprocessor 14.
Microprocessor 14 also produces control signals, which are sent over line 60 to memory controller 62. ~emory controller 62 convert~ these signals to memory control signals. The memory control signals are transmitted to memoey 56 over parallel lines 63 to contcol the timing of the data storage and retrieval operations.
Finally, microprocessor 14 has a serial port :~ 64 which can produce asynchronou~ ~erial signals to allow transmittal of data to and from an attachable dumb ~: terminal 66. Dumb terminal 66, which can, for example, be attached to port 64 by means such as signal line 24 ; 25 and electronic ~ack of ~ig. 1, can be used to progra~
MLD-O03 --18 lOA6 microproceQsor 14 in the future. It can alao rece~ve data stored $n memory 56 through transceiver 54 undee the control of microprocessor 1~.
The storage of digitized data memory 56 is in the for~ of a packed recoed fi~e. This ile 1~ made up of a header and a record for each i~pact evene which is above the set threshold. The header contains the following information; the time and date of file creation, the zero g digitized value, sampling rate, and the thceshold setting. Each record will consist of a start time variable ~4 bytes), numbec of data points per axis va~iable (2 bytes), and a dynamic number of three-byte-long arrays which represent the accelerations of ; each axis. The number of three-bytes array-~ equals the number of data points per axis var~able. The 16-bit beginning and end of file addresses will be stored elsewhere in memory alonq witb a curcent position index.
SoEtware provisions have been made to accommodate having more than one f~le on-board memory, alonq wlth dlfferent ~20 internal file structures.
Durin~ serial file transfec-~ the 8-bit bytes will be converted to he~ notation, ~o that ASCII
standacd~ can be u3ed iA dati~ transfec.
~,, .
, , ~LD-003 --19 lOA6 "
Referring to Figure 5 of the drawinqQ the architecture of microprocessor 14 can be better under~tood. Micropcocessor 1~ comprises a main processing unit 68 which receive~ data fro~ A~D
converter 70 which, in turn digi~izes analog signals received from the accelerometers at port 48 of the microprocessor. IQ addition, main processing uni~ 68 can access both temporary storage 72 ~in the form of a buffer) for temporary storage of data and the RAM
portion of memory 56. Trigger flag 95 is set by main proceasing unit 68 when the digital data produced by A/D
converter 70 satisfy cectain criteria which signify that a recordable acceleration event has occurred. These , criteria~will be discussed subsequently~
Pinally, main processinq unit 68 is attached to the nearly autonomou-~ high speed output (~SO) unit 82. Monitor program 74, which i-~ used by main processing unit 68, comprises an A/D interrupt routine 76, ~SO interrupt routine 78, and other programs 80, which are read fron the EPROM portion of memory 56.
:
The pcograms used in thi~ embodiment are included in the microficbe appendix.
~ ~ ~ HSO unit 82 receives program instructions fro~
!~ ~ main processing unit 68 ovef HSO progcan instruction !~ 25 l$ne 8~. In turn, ~SO unit 82 i~ capable of ~end~ng an i426 ' MLD-003 --20 lOA6 .
interrupt signal to main proces~ing unit 68 o~er interrupt line 86. ~SO unit 82 also receives a timer signal from eimer 88 and can send a ~tart A/D~ ~ignal to A/D converter 70 o~er signal line 90.
~S0 unit 82 ha~ eight progra~ registers which hold both commands and associated commencement time~.
All eight programmed times are compaced to the ceference timer 88 at every cycle of the microcomputer system's clock. The HSO unit is programmed when main processing unit 68 sends portion~ of monitor prog~am 74 over ~SO
program instruction line 84. A ficst portion of monitor program 74, A/D interrupt routine 76, is executed when there is an A/D interrupt with the cesulting A/D data placed into temporary stoc~ge foc threshold comparison and pceparation for next channel conversion.
~ Data produced by A/D converter 70 will not be ; recorded unless trigger flag 95 is se~. This signal will be set if any one of the th~ee axe~ of triaxial accelerometer exper~ence~ an acceleration outside of a .
band of accelerations centered about Og. This is ~;~ accomplished by comparing the absolute ralue of the :
digital value of each sample produced by A/~ con~erter to a predetermined threshold value. If ma~n processing , '~ unit 68 deternines that the absolute value of th-1~:. - .
~ ::
.
' ~ :
:~ .
~2~ 6 MLD-003 --21 lOA6 acceleration along any one of the three axes ha~
exceeded a predetermined threshold, the trigqee flag 95 is set. If the threshold is not exceeded, the value of the trigger ~lag 9S i~ reset.
A flo~ chart describing the sampling operation of the system is shown in Figure 6. The first step in - routine 78 is to increment the variable STIME by the sample period. Next, a command in BSO interrupt routine 78 checks to determine whether the record flag 94 (see Fig. 5) is set. If record flag is not set, coutine 78 is stopped and the main programs 80 resumes control. If the record flag i~ set, preparations are made to arm -channel 1 ~which receive~ the analog input from the ~
axis of accelerometer 22 in Figure 1) of A/D unit 70.
Next, appropciate offset time~ are added to the saved value of timer 1, p~oducing the three sample times at which the three analog input signal~ will be converted by A/D unit 70. Finally, any x, y, and z value~ in temporary storage 72 (Figure 5) are caused to be moved to long term data ~torage 56. Until another interrupt 76 or 78 take~ place, the main programs 80 retaln control.
~SO unit 82 no~ waits for the value of timer 88 to be equal to the time for the first A~D conversion.
~ con~er~ion is perfor~ed and tho result stored ln i4~6 MLD-003 --22 lOA6 temporary storaqe 72. Similarly, samples of the analoq voltage3 produced by t~e other two axes of the accelecometer are sampled and stored in temporary storage 72. The A/D unit 70 sends an interrupt signal over interrupt line 92a which prepares the main processing unit 68 to receive data. This cause~ the interrupt routine 76 to be executed. The data is transfe~red to temporary buffer 72 by eight bit bus 92.
The hardware is contained in the Intel 8097.
HSO un$t instructions are deleted from the ~SO
progra~ registers after execution: therefore the HSO
progra~ registers must be reset after each sample period. The sampling proces~ is made self-perpetuating by having the ~SO interrupt routine 78 reprogram ~SO
unit 82 after each sample period.
The A/D intecrupt routine is pe~formed in five timer inc~ements; a single A/D conversion is performed in twenty-one timee inccements. Thecefoce, because a timer increment equal~ two microseconds, the time to sample the signals pcoduced by all thcee axes of triaxial accelerometer 22 i~ 156 mic~osecond~ 1- 3 time,s ~ ~ 26 timer increments, at 2 microseconds per timer '~ inc~ement). A substantial time delay i~ added before sampling the first axi~, in order to decrease the overall effective sampllng rate accompll~hed by A/D
MLD-003 --23 lOA6 converter 70. Therefore, the three acceleration channels are sampled nearly si~ultaneously, minimizing the effects of time delay. At these rates, a S0 ms event can be sampled 320 times, thus minimizing effects of aliasing, and producing three bytes of data per sample ~one byte per accelerometer channel with each sample). These 960 ~ytes, plus the 4 required to store the relevant time data and the two for the number of samples included, mean that each event takes 966 bytes of storage. Thus, a total of 116 (-112k bytes/966 bytes) events can be stored in RAM.
Except during the execution of the ~SO
interrupt routine 78 and the A/D interrupt routine 76, main processor unit 68 is free to handle mass data moves in raw data proce3sing, as well as limited data analysis. Approximately 500 instructions can be executed between accelerometer samples when sampling at 1000 ~2.
Frequency contents and/or frequency of occurrence of accelerations exceedlng a predetermined level can be measured by such sequence~ of instructions.
The serial port, beside its uses as a means for reading data stored in the mlcrocomputer RA~ and reprogramming microprocessor 1~, can ~erve to chango the thresholds which inltiate data storage. It can al-~o M~D-003 --2~ lOA6 serve a~ an additional path for digital data to be ~to~ed in RAM. An example of an external source of data which should be recorded i~ an accelero~eter mounted on the bed of a truck which is carrying the items which are being monitored. Thi~ capability will allow cocrelation studies to be made of the external shocks imposed on the shipping means and the result~nt shocks experienced by the individual items. Microprocessor 14 can be programmed to initiate recording based on the magnitude of these external shocks.
Various power supplie~ can be used, also. For example, by providing a lead fcom the electronic package 12 to the exterio~ of housing 10 (in ~ig. 1), battery 20 may be rechargeable, allowing its use over much more extended periods of time and obviating the need to change batteries so frequently. In addition, an external power supply can be used when the apparatus is in use, if such supply is available. Finally, to protect from the unde-~irable loss of data due to a failure of battery 20, RAH 18 can be connected to it~
own dedicated battery.
While the prefecred embodiment described above . i8 celated to the use of the measurement of accelerations experienced by sub~ec~ object~ as fruit~, the sub~ect of th~ appl~cat~on should not b- ~o MLD-003 --25 lOA6 limited. The apparatus of this invention can f~nd great utility in shipping appllcations, such as the shipp~ng of fragile electronic equipment, in that it w~ll provide a means for determining when the greatest shocks occur in the shipment of such equipment.
Further, while the peeferred embodiment include~ conventional accelerometer means for measuring accelerations, other accelerometer means can also be used. Examples are sensors which measure accelerations by sensing the heat produced or which measure damaging forces by sensing pcessu~e~. In addition, sensors measu~ing other phys~cal quantities, such as temperature, humidity, pres~ure, and radiation, regardle~s of their principles of operation, can be used lS in connection with the apparatus described above. Also, various sensor~ can be used in combination with the ; apparatus of the preferred embodiment to sense sevecal ; quantities concurrently.
While the p~eferred embodiment has been described in terms of a specific microprocessor and data acquisition systen, othe~ comme~cially available sy~tems with diffe~ent architectuces can be equ~valently used.
The commun~cations port, descr~bed as a serial poet communicating data in compliance with the ~S 232 tlming, ~. ' : .
MI~--003 --26 lOA6 could be a paral lel communication port in some specific application~. Theref~re, the scope of this invention is to be 1 i~ited only by the fol lowing claim~.
. ' , .
'5ICROFICHE APPENDIX
to IMPACT DET~CTION APPARATUS
Inventors- H. Roland Zapp, et al :
,i, ~ :
': : . ~2 1 , :: :
~' , 4~:6 INDEX~TO THE MICROFICHE APPENDIX
Name of Program nescription of Program 1. BOOT Vl.2 Initializes the 8097 micro-controller.
2. ~HOTOTYPE-~IN ~'ain control loop.
3. S_PORT V2.0 Serial port interrupt routine.
4. DISPLAY ~IODVLE Vl.2 Display ~emory and converts binary to hex.
5. R DATA Vl.2 Commences data collection.
6. HSOINT V2.0 HSO interrupt routine.
7. CLOCK Vl.0 Ti~er overflow interrupts routine.
8. AD_INT Vl.0 Moves A/D result to te~porary memory storage.
9. M_MANG Vl.0 Manaaes ~ata memory.
2g ' ' NCS-96 N~CRO ASSE~BLER BOOT Vl.2 ~ 6 tl~6S~86 t8:29:13 PA OE
;NDX-S41 ~V2.8) NCS-96 ~ACRO ASSEN8LER, Vl.O
SW RCE FlLE: :F8:BOOT.SRC
OBJECr FILE: :F8:BO~r.08J
CONTROLS SPEClFlED IN lNVOCATlON COnNAND: PRlNTt:F8:803r.LST) ERR LOC OBJECr LINE SOURCE STATENENT
J STlrLE ~'BOOT Vl.2') 2 SNOSYt80LS
~ ;
6 ; U.S.D.A. lNSTRUMENTED SPHERE BODI NODULE
7 ; 8~97 MlCROCoNTROLER ~1.2 8 ; 9/18J85 8WK
It ; ~8STR~CT: 7HIS ROUTINE lNlllALlZES THE 9197 MICROCONTRLLER FOR THE
Il ; INSTRUNENTED SPHERE PROGR~S.
13 :..............................................................................
14 BOOT_HOD MODULE
PUBLIC BOOT
17 ;......................................... ............... ... .....
19 ; Registtr File Henory Ma~
2~
~t91 21 Rl EQU laH: ~OR~ ; R ZERO REGISTER
1112 22 AD_CoM~WND EOU 82H: 8YTE ; W P/D Co~PND RE6.
1012 23 AD_RESULT EQU 32H: WORD ; R A/D RESULT H/L
3al3 24 HSI_HODE EQU a3H: BYTE ; ~ HSI ~ODE RES.
3~14 25 HSl_TtME EQU 84H: ~ORD ; R/~ HSl Tl~E L3J
lia6 26 HSQ C3~M~ND EQU 16H: WORD ; W HSI C3~WND RE6.
3116 27 HSI_STATUS EQU t6H: BYTE ; R HSI STATUS RE6.
1117 28 S8UF EQU a7H: BYrE ; RJl SERlAL OUFFER TX/RX
~98 2g INT_MASK EQU 18H: 8YTE ; R~W INTERRUPT ~ASK RE6.
0119 81 INT_PENDlN6 EQU 39H: EIYTE ; R~ INTERRUPT PENDlNG RE6.
3~aA 31 ~ATCHD06 EQU gAHs ~YTE ; U ~ATCNW 6 TI~ER
81eA 32 TI~ERt EQU IAH: WDRD ; R TI~ER I H/L
118C 33 TINER2 EQU 9CH: ~ORD ; R TI~ER 2 H/L
19eE 34 BAU L aATE EQU eEH: BYTE ; ~ 8WUD RATE UAL FOR SERlAL
9a9E 35 IOPORTI E W ~EH: BYTE ; R PORT 9 RE6.
103F 36 IOPORTI EQU aFH: 8YTE ; RJJ PORT I RE6.
1011 97 IOPORT2 EQU IIH: 8YTE ; R/i PORT 2 RE6.
atll 38 SPSTAT EOU llH: BYTE ; R SERlAL PORT STATUS
1111 39 SPCON EOU IIH: 8YTE ; ~ SERlAL PORT CoNTROL
1115 49 lOCI EaU 15H: 8YTE ; ~ 1/0 CONTROL RE6. 1 ll5 41 IOSI E W 15N: 8YTE ; R 1/0 STATUS RE6. 1 0916 42 lOCI E W 16H: BYTE ; ~ 1/0 CONTROL RE6. 1 3016 43 IOSI E~U J6H: B~TE ; R 1/0 STqTUS RE6. 1 Oal7 44 P~Y_CONTROL EQU 17H: 8YTE ; ~ P~n CONTROL RE6.
1118 45 SP EQU 18H: ~ORD ; RJJ STA6K POINTER
~7 48 ; RESER~E SPECl~l USER K 61STERS
OOlA 49 RSE6 PIT IAH
SJ PU8LIC AX ;A9~ TEffPORARY RE615TER
SllA 51 ox: D5~ IH
~ q 1~-96 ~CRO ~SSBIBLER Bt10T ~JI 2 ~ ?,~ 6 tl/tSJ86 18:29:13 P1~6E 2 ERR LOC OBIECTLINE SOURCE ST~TE11ENT
ttlR 52 ~L EQU 14X: BYTE
qll8 53 AN EDU ~t-l BYTE
55 PUBLlt ~N
56 PUBLIC PINRE6 ;RE651STERS USED BY PLm6 ROUTINES
061C 57 PLtlRE6 ~SB 811 19tt 68 CSE6 ttt6 63 8DDT ;BDOTIN6 RDUTINE FM 9197 64 ; SEI PROCESSOR C~NTROL RE61S~ERS
08tt B10tlS ~5 - LDB lOC8,18838tt88B
8t83 812416 66 LDB lOCI,1881t8188B ;SET P2 e ~O TXD
67 ;EN~9LE TlHER 1 OJERFLCI~ INT~
69 ; SEI UP SERI~L PORT
t016 EFt8t8 E 78 LCaLL SERBOOT
88t9 Ft 72 RET
aSSE11BLY COI~PLETED, NO ERRORtS) FDUlD
~; ~
~ ~0 :~ : :
' .
:
Iv~96 C~PILFR PHOTarYPE N4IN ~ 6 IIJe5J86 18:28:39 PR6E
iNOX-S41 (V2.8) PL~96 Vl.0 CI~PILATICN OF MODULE ~IN
OBJECT NODULE PLRCED IN :F8:~tRIN.OBJ
CII~PILER INJOKED BY: PLM96 :F8:~41N.SRC CODE PRINT~:F8:MAIN.LST~
SFAST(e) STITLE( PHOTO~YPE - ~IH ) J~.............................................................................
U.S.D.R. INSTRUI~IENTED SPHERE MAIN MODULE
8097 MICROCONTROLLER \1ERSICN PHOTO-TYPE
I eJI 7/85 BAK
ABSTRACT: THIS NODULE C~NTAINS THE ~IN COHIROL LOOP. IT ALSO C~NTAINS THE
MAIN Cl~tAND LINE SYNTEXT CHECKIN6 ROUTINE. ALL O THE CCM~ANDS ]NCLUDED ARE
LISTED IN THE DECLARRIONS THE FIRST CASE INVOlVlN6 THE KEYWORDS AND THE
SECOND CASE STA~EltENT IJHICH EXECUTES THE Cal~AND. THE SYNTEXT CHECKIN6 ALLOlJSBOTH SPACES BEFORE AND AFTER THE KEYWORD. AN ERROR MESSA6E 1S SENT IF CHAR-ACTERS OTHER THAN SPACES AND THE KEYWORD ARE IN THE CO~ltAND llNE.
............................................................................. ~
MAIH: DO; /~BE61NNIN6 OF MAIN MODULE~J
/~DECLARE PROCEDURES AND ~JRRIA8LES~J
2 I BOOT: PROCEDURE EXTERN~L; J~BOOT ROUTlNE~i 3 2 END BOaT;
4 1 PUT: PROCEDURE E~TER~qL; J~IJO ROUTINE~J
2 END PUT;
6 1 6ET: PROCEDURE EXTERNAL; J~lJO ROUTlNE~J
7 2 END GET;
B I DISPLAY: PROCEDURE EXTERNAL; J~DlSPLQY ROUTINEilJ
9 2 END DISPLAY;
11 1 RDATA: PROCEDURE EXTERNAL; J~ROUTINE TO START DATA COLLECTI~J
11 2 END RDATA;
J~ BO96 RE61S7ERS It/
12 1 DECLARE INTJ~SK BYTE AT(0B) J~SERIAL PORT RE61STERS~J
13 I DECLARE IN(42) BYTE EXTER~L SLCI~;
14 1 DECLARE OUT(42) BYTE EXTERN4L SLa~;
1 DECLARE INSLEN BYTE EXTERI~L SL~I;
16 I DECLARE OUT~LEN BYTE EXTERt*L SLOII;
/~ USER RESIS7ERS ~/
17 I DECLhRE ~ I~ORD SLOIJ; /~STRlN6 IND6t~/
18 1 DECLARE I UORD S Ol~ S7RIN6 INDE)tV
19 I DECLARE KEY IJORD SLOl~ FLA6~/
~-96 CO~PJLER PNCTOnYPE - N~IN 8 V15~B6 t8:28:39 PASE 2 21 I DECLARE K BYTE SLoW; /~COLN~ER~/
21 I DECLARE ERR BrTE SEOi; /~F~A6H/
J~START PRO6R~
22 I CALL 800T;
23 1 INT_K~SK = IIIIIIIlB;
24 I ENA8LE;
J~OL~PUT SIGN ON MESSA6EtJ
25 I CALL M W 8(.~'1NSTRU~ENTED SPHERE PHDTOTYPE',0DH,~AH)I.OUT,34);
26 1 OUTSLEN = 34;
27 I CALL PUT;
28 1 LODP: DO; J~S~AR~ OF N~IN CONTROL LOOP~J
29 2 CALL GET; /~6ET A CoMM~ND~J
31 2 ]f IN~INSLEN-I) = 0DH THEN J~CHECK FOR 'CR' AT EOL~J
32 2 DO;
33 3 PT = SKIPB~.IN,20H,0FFH); J~SKIP THE LEADIN6 SPACES~J
34 3 KEY = 3:
35 3 K = 0;
36 3 IF P~)(INSLEN-I) THEN t~CHECK FOR BLANK LINE~J
37 3 DO;
38 4 DO ~HILE (KEY(~0FFFFH) ~ND (K~2);
39 5 K =Ktl, 40 5 DO CASE K; J~Co~PARE INPUT COMK~NDS ~ITH KEY~ORD~J
42 6 DO;
43 7 KEY=C~PB~.IN~PT),.~'DISPLAY'),7); JtKEy~DRD~/
44 ? I = 7;
45 7 END;
46 6 DO;
47 7 KEY=C~PB~.IN~PT),.('RDATA'),5); /~KEY~ORD~/
48 7 1 = 5;
49 7 END;
50 6 END;
51 5 END;
52 4 IF KEY = 0FFFFH THEN
53 4 DO;
s4 s n = PT t l;
55 5 1=SKIPB(.IN(PT),20H,IFFH); J~SKIP TRAILIN6 SPACES~t 56 5 PT = PT t J;
57 5 IF PT~)(IN5LEN-I) THEN /~CHECK FOR EXTRA CHR.tt S8 S DO;
~9 6 ERR = 0FFH;
U ~ END;
61 5 END;
3æ
q~J6 ~v~96 C111PILER PI~ IN 81J15J86 18s28:39 PA6E 3 DO;
6S 5 ERR = 0~FH;
6~ 5 END;
6S 4 END;
66 3 END;
W~
68 3 ERR = OFFH;
69 3 END;
71 2 3F ERR~)9FFH THEN /~E~ECUTE lF CORRECT#~
71 2 DO;
72 3 DO CASE K;
?4 4 CALL DISPLO~Y;
7$ 4 G~LL R~q~;
7~ 4 END:
77 3 END;
DO;
79 3 G4LL 1~ B(.~'SYNTPd( ERROR',0DH,llqH),.OUr,14);
811 3 OUI~LEN = 14;
81 3 C~LL PUT;
82 3 91D;
83 2 60T0 LOOP; JI~END OF 1'~41N CONTROL lOOPiJ
B4 2 END LOOP;
1 END ~'A3N; J~tEND OF l~qlN 1~ODULE~J
.~ .
:
.~
~ `
. . .
-:
~ 33 , :
96 C~PILER P~OT~rnPE - ~IN ll~aSJ86 18:28~39 P46E 4 ~SSENBLY LISTlN~ OF 03JECT CODE
; STATENENT 22 se ~c NalN:
te3c Al00lal8 R LD SP,IST~CK
t0~0 EFa0tl E CALL BDOT
; ST~TE~ENT 23 1143 81FF18 LD8 INT_N~SK,~0FFH
; SToTENEhT 24 3146 FB El ; STATENENI 25 0047 81221C LDB lNP0,~22H
004a al0E001E R LD TNP2,1~3LoN6~CONST~NT$000E
894E 01000020 E LD TNP4,90UT
0052 ~08~5 0052 B21FID LD8 T~Pl,lTHF2~t 9855 C6211D ST8 TNPl,lTNP4 0058 E01CF7 DBNZ TNP0,~5015 ; STOTENENT 26 0058 91221C LDB T~P0,~22H
005E C70180001C E ST8 TNPt,OU~LEN
; ST~TENENT 27 9063 EF0000 E C~LL PUT
; ST~TENENT 28 ; STaTE~ENT 29 ; ST~TENENT 30 0069 C701~70000 R STB R0,ERR
; ST~TE~ENn 31 006E B30109901E E LDB INP2,1NLEN
0073 B01ElC LDB T~P0,TNP2 0078 IIID CLRB T~Pl 007A B31D00001C E LDB T~P0,1HlTNP0]
007F 990DlC C~PB TMP0,90DH
0092 DFB22137 ! 8NE 30001 ! BE S-4H
! 8R 3q001 ; STaTEMENT 33 0086 A1000020 E LD TNP4,01N
008~ BIFFIF LDB TNP3,~0FFH
008F 812022 LDB TNP6,120H
0092 ~0016 0092 9a2122 CNPB TNP6,lTNP4~-0095 D708 8HE a0017 0097 071C INC T~PI
0099 E01FF6 DBNZ ~P3,70016 009C BDFFIC LD8SE TNP0,10FFN
009F 7a017 009F C30100001C R ST TNP9,PT
; sTaw 34 68q~ C3JII U 018 R ST Rl,KEY
; STATEYENT 35 l~q~ C7~1162 H I R STB Rl,K
; STA W 36 t0~E 151E DEC8 TNP2 3~
rL~Y~96 C~MPlLER P~OTGTYPE - N~lN ~ ? q ~ ~ ~ 6 11~ISJ86 lB~23t39 PACE 5 ASSE~8LY LlSTlNS OF OBJECT CODE
0~90 IIIF CLR8 THP3 IIB2 881EIC CNP TNf-,T~P2 G~B5 D7122112 ! EE ~4112 ! WE ~t4N
! BR ~1112 ; STaT~ENT 3B
U B9 20103:
16B9 A301t4111C R LD THPI, m 31BE 89FFFFIC CNP lKP0,1eFFFFN
00C2 D7022194 ! 8E ~0eO4 ! BNE St4H
! 8R ~0084 80C6 B3al06801C R LDB THPB,K
08CB 99821C CHPB TMP0,12H
00CE D7B22988 ! BE ~BB04 ! BNE ~t4H
! 8R ~0B04 ; STATEHENI 39 00D4 C7B106301C R STB THPI,K
; STATEMENT 40 10D9 AF01B6001C R LDBZE TMP0,K
00DE 641CIC ADD TNP8,TMP0 00EI A31D52011C R LD THP0,~8006~TMP0 88E6 E31C BR ~THP9]
; STOTEMENT 41 08E8 ~0007:
00E8 206E BR 30a05 ; STATENENr 42 00EA ~08:
; S~A~ENENn 43 00EA A30100001C R LD I~PI,PT
00EF 650e001C E ADD THP0,~1N
B0F3 A135801E R LD TNP2,1~LGNGSCO~SThNTSB135 90F7 B11720 LDB THP4,17H
00FC ~8318:
a0FC 821D21 LDB TMPS,[TNP0 00FF 9AIF21 CHPB TMP5,~TNP2l-0192 D706 3NE ~0019 01B4 EB20F5 DBN2 TMP4,~0018 0107 A2181C LD THP0,1SP]
- 010A ~B019 010A 6A191C SUB THP0,~SP]t 010F C30104001C R ST TNP0,KEY
; STATENENT 44 0114 AD071C LDBZE THP0,17H
all7 C30182001C R ST TNP0,]
OlIC 203A BR 30005 ; STATENENT U
411E 7~119:
; sTalE~ENT 4~
SllE A30101111C R LD l~Pl,PT
8123 6509001C E ADD TYPI,41H
0127 A130011E R LD T~P2,4~LGN65CGNSToNT51031 3~
~ ?~L~6 .Jt-96 W ~PlLER PHOTOTYPE - H4nN IIJ15/86 18:28:39 PoBE 6 ASSE~8LY LlSTlN6 OF OBJEC`T COOE
11~3 B1152~ LDB T~P4,15H
912E C81C PUSH T~PI
013~ 70BIA
023~ 921D21 L~B T~P5,~TH n l-lt33 9AIF21 CHP8 TMP5,lTNP21 0136 D796 BNE ~881B
1138 E~2~F5 DBNZ THP4,7901A
0138 A2181C LD THP~,~SPl 013E 7091B:
813E 6~191C SU8 TMp9~sp~t 0143 C311a4~31C R ST TMP~,KEY
; STATENENT 48 0148 AD051C LDBZE TMPI,65H
014B C38112081C R ST TNP0,1 al5~ 2a~6 8R 7a8e5 8152 E800 R 70006 DCW 700a7 0154 EA0t R DCI 78308 ; STATENENT 59 0158 7a0a5 ; STATENENT 51 ; STATEN M 52 115A A30104011C R LD TNP0,KEY
015F 89FFFFIC CHP TMP0,10FFFFH
; STATEHENT 54 1165 A30100a01C R LD TMP0,PT
016A 670102001C R ADD TMP0,1 016F C30100001C R ST TMP0,PT
; STATEMENT 55 el 74 4500001ClE E ADD TNP2,TMP0,01N
0179 BIFF22 LDB THP6,10FFH
al7C 012a CLR THP4 017E B12023 - LDB THP7,129H
~8~ 700~C:
0181 9AIF23 CNPB TNP7,~TNP2l~
el84 D708 eNE 7001D
0186 a720 INC TNP4 0188 E022F6 D8NZ TNP6,7001C
018B BDFF20 LD85E T~P4,90FFH
01BE 71elD:
al8E C391a28a20 R ST THP4,~
; STATEMENT 56 1193 64201C ADD TMPa,TNP4 9196 t3al00001C R ST TMP0,PT
; STATEMENT 57 al98 B301110alE E LD8 TMP2,1NLEN
IIA2 lllF CLRB T~P3 llA~ 881ElC OHP lF~Pl,TYP2 IIA7 DF98 8E 7~11B
; STATEHENT 59 IIA9 BlFFlC LDB T~PI,41FFH
J~-96 COtPILER P~OTQTYPE - ~AIN ~ 6 11t05JB6 18:2B:39 Rq6E 7 ASSE~BLY LISTIN6 QF QBJECT CODE
01AC C701070elC R STB l~PI,ERR
; STATE~NT 61 0181 ~a0tB:
tlBl 2B18 BR ~900C
; ST~TENENT 62 01B0 ~00a4:
; S~ATE~ENT 63 01B3 BIFFIC LDB T~P0,14FFH
0JB6 C70107t01C R S~8 T~Pt,ERR
; STATENENT 65 018B ~000C:
; STATE~ENT 66 01BB 2008 BR ~000D
; STATE~ENT 67 01CD ~0001 ; STPTE~ M 68 alBD BIFFIC LDB T~P0,~FFH
01C0 C?010?001C R STB T~P0,ERR
; S~ATEMENT 70 01C5 ~0a0D:
01CS B3tl07a01C R LDB T~P0,ERR
01CA 99FFIC CMPB THP0,N FFH
01CD DF23 BE ~030E
; STA~EHENT 72 01CF AF01~6001C R LDBZE I~P0,K
alD4 641CIC ADD T~ n ,T~P0 01D7 A31DEA011C R LD I~P0,~all01T~P81 01DC E31C BR lT~ M ~
; STATE~ENT ?3 01DE ~0011 ; STATE~NT 74 01E0 ~0012 01E3 200B BR ~000F
; STATENENT 75 01E5 30013:
01E5 EF0a00 E CALL R34 01EB 2006 ` BR ~010F
01EA DE01 R ~001a: DC~ ~0~11 01EC E001 R WJ ~0012 01EE E501 R DCU ~tll3 ; STATE~ENT 76 01F0 ~000F
01F0 201F BR ~011~
; STATENENT 78 01F2 300iE:
; S~AlE~ENT 79 01F2 810ElC LDB T~P0,N EH
IIFS A110 UIE R LD TNP2,~1LoN6SCoNST~NT~01 H
llF9 ~1000020 E LD T~r~,90UT
IIFD ~ IIE:
01FD 921FID LDE TNPl,tTrP21t 1211 C6211D STB TffPl,~T~P~t 0203 E01CF7 DBNZ TNPI,7~11E
PL ~96 CI~QILER PHOTOIYPE - ~iN tl~15/86 18:28:89 PA6E 8 ASSEI~BLY LISTIN6 OF 08JECT CODE
; ST~B~ENT 8t 32t6 81tElC LDB ~NPI PtEH
1219 C701ta3alC E STB TNP8 QUrLEN
; STATB~ENT 81 42SE EFSllee E CALL PUT
; STATENENT S3 ~211 ~a~4:
t211 2653 8R LOOP
ST~TEt~ENT 85 END
t~ODULE INFOIN~TION:
CODE AREA SIZE = tlD7H 171D
DONST~T ARE~ SIZE = tt3CH 60D
GATA AREA S]ZE = ttt8H 8D
ST~TIC REGS ~REA SIZE = tt0tH 0D
I~JERLAYA8LE RE6S AREA SIZE = tletH tD
lAX1111N S~ACK SIZE = ttt2H 2D -PL~N-96 COI~PIL~TION C~lPLETE t I~RNIN6S t ERRûRS
.~S-96 ~PCRD ASS~TULER S_PORT ~2.~ 6 01/05/86 18:29:N PA6E
iNDX-S41 ~V2.B) NCS-96 NACRO ASSEN8LER, ~I.e SOURCE FILE: :F8:S_POo~.SRC
08JECT FILE: :F8:S_PORT.OBJ
CONTROLS SPEOIFlED IN IN W CATION Co~hND: PRINT~:F8:5_PORT.LST) ERR LOC 08JECT LlNE SOURCE STA~EHENT
LE ~ S_PORT ~2.4~) ~ SERlA L PORT NODULE STACKS12E~19~ ; SAT]SFY THE U R
S ;,,,,.. ,.................. ~
7 ; U.S.D.A. 8097 SRlAl PORT ~2.0 8 ; 9/3~X85 BAK
; A8STRACT: THlS NODULE CONTAINS THE SERIAL PORT INTERRUPT H~NDLIN6 ROUTINE, Il ; SIX PUBLIC PROCEDURES AND ONE NON-PUBLIC ROUTINE WHICH ARE USEO FOR SERlAL
12 ; IXO. THE PUBLIC PROCEDURES INCLUDED ARE: SE R BOOT, 6ET, BYIESET, PUT,13 ; ECHOON PND ECHOFF. SE R BOOT INITIAL12ES THE SERIAL PORT; FOR ~X~MPLE, THE
14 ; B~UD RATE IS SR AT THE DEFAULT OF 12~0 8AUD. THE PROCEDURE ~ET ~lUL
; ~R~NSFER A 4~ CHARACTER STRING FROM IN 8UF TO IN. INLBUF IS ~ ;IFO 8UFFER
16 ; WHILE IN IS A PUBLIC ARRAY. 6ET IS LINE ORINATED, THEREFORE A CARR]A6E NUST
17 ; 8E FOUND TO COMPLETE A GET. 6ET ECHOS ALL CHARACTERS E~ACK TO THE SERIAL
18 ; PDRT TX LlME E~CEP~ A FEJ CQNTROL CHARAClERS. AFTER ERCH CARR~6E RETURN A
19 ; LINE FEED IS ALSO OUTPUT. THE ASCII CHARACTER DEL WlLL DELETE THE
2t ; PREUIOUS CH~RPCTER FRQM IN AND OUTPUT THE PROPER CHARACTERS CLEAR THE
21 ; UNWWNTED CHqRAC~ER FROM THE TERMINAL SCREEN. THE ASCII BREAK WILL
22 ; TOTALLY CLEAR lN AND W1LL PAGE THE TERMINAL SCREEN. BYT6ET ~ILL TRANSFER
23 ; ONE BYTE FR Y IN_BUF TO IN~41~. BYTE6ET HAS NO CONTROL CHARACTERS OR ECHO.
24 ; THE PROCECURES ECHOON AND ECHOOFF TURN THE ECHO ON AND OFF FOR WHEN 6ET IS
; USED. THE PROCEDURE PUT LOADS THE STRlN6 OUT INTO THE FlFO BUFFER OT_BUF
26 ; ~ND STARTS THE SERIAL OUTPUT PROCESS. BOnH THE SERIAL INPUT AND OUIPUT USE
27 ; SOFT~PRE H~NDSHAKIN6. IN_BUF C~N HOLD 64 BYTES AND OT_BUF HOLDS B EIYTES.
28 ;..... .............. ...
30 , Registtr Fil~ Henory Map 0030 32 R0 EQU 01H: WORD ; R ZERO RE61STER
03a2 33 AD_CQNMPND EQU 02H: BYTE ; W A/D C3NNAND REG.
00e2 34 AD_RESULT EQU 92H: WORD ; R AJD RESULT H7L
0003 35 HSI_MODE EQU 03H: BYTE ; W HSI NODE RE6.
0004 36 HSI_TINE EOU a4H: WORD ; R7J HSI TI~E LO~
0006 37 HSOLCONN~ND EOU 06H: WORD ; ~ HSI CONNYND RE6.
~016 38 HSI_STATUS E9U a6H: ~YTE ; R HSI STA~US RE6.0a07 39 SBUF EaU 97H: BYTE ; RJ~ SERlAL BUFFER lXJRX
a U 8 4a INT_HASK EQU 38H: BYTE ; R~W IM ERRUPT NASK RE6.
0aR9 41 I M_PENDIN6 EQU 09H: E~YTE ; RJ~ I M ERRUPT PENDIN6 RE6.
600A 42 ~ATCHDOG EQU 0AH: BYTE ; W WATCHDO6 T]NER
100A 43 TI~ERI EOU ~AH: ~ORD ; R TlHER 1 HJL
S00C 44 TIMER2 EQU 0CH: ~ORD ; R TINER 2 HXL
a~8E 45 BAUD_RATE E W OEH: 5YTE ; W 3qUD R~TE ~L FOR SER]AL
IIIE 46 IOPORTO EQU OEH: BYTE ; R PORT ~ RE6.
~ItF ~7 IOPORTI EOU ~FHs EYTE ; RJH PORT I RE6.
IIIO ~8 IOPOR-T2 EQU ISHs EYTE ; R~ PORT 2 RE6.
9 SPSTAT E9U lIH: BYTE ; R SERIAL PO~T STATUS
IOII 5S SPS N EQU IIH: ~YTE ~ ~ SERIAL PORr CONTROL
bO15 51 IOC~ EQU ISH: BYTE ; ~ I/O CONTROL RE6. 8 .. 3q ~t~- N ~CRO ~SSE~BLER ~ PORT ~2 1 ~ ,? ~n ~ ~ ~ 6 11/15~86 18s29124 PA6E 2 ERR LOC OBJECT LINE SOURC STATEYENT
U 15 52 lOS0 EQU 15H BYT ; R I~O STATUS RE6~ 8 0116 53 IOCI EQU 16H 8YTE ; U I~O CONTROL R6 1116 54 lOSI EQU 16Hs BYTE ; R l/O ST~TUS RE6. 1 0117 55 P~LC NTRDL EQU 17Hs BYTE ; ~ P~ C M ROL RE6.
1118 S6 SP EQU 18H: UORD ; R~l STACK F~INTER
59 ; PROCEDURS
~3 PU8LIC BYTE6ET
U PU6LIC ECHOoN
~7 ; BUFFERS ~ND RE61STERS
69 PUBLIC OU~
7~ PUBLlC INLEN
~2q 74 RSEG AT 24H ;SERIAL PORT RE61STERS
la24 75 RX_PT DS~ 1 0026 76 6ET_PT DS~ t 1~28 77 TX_PT DS~ I
392A 78 PUT_PT: DS~ I
3B2C 79 lN PRT DS~ 1 012E 81 OUT_PRT DS~ I
1931 81 SP_FL~6S DSB I ;BIT a MODE
82 ;BlT 1 SEND
83 ;BIT 2 READY
8q ;81T 3 IN BUF FULL
;BIT 4 OT_BUF FULL
86 ;BIT 5 RE W
87 ;Blt 6 TR~N
88 ;81T 7 NOT USED
-~ 0132 91 TEHP0 DSB 1 3933 91 OT_C~R DSB I ;USED TO PUT CHAR IN OT_BUF
~035 93 CH~R2 DS8 1 0036 94 SLO~DO~N DSB 1 ; USED BY XON AND XOFF
1137 95 ALAR~ DSB 1 3161 97 RSE6 Al 061H ;I/O BUFFERS
l69 98 IN_BUF DSB 64 0aA9 99 OT_BUF DSB 8 40al lel DSE6 ~T 4~9~H ;IN / OUT BUFFERS
a61 1-2 IN? DSB 43 412B 113 OUT?: DSB ~3 U Dl 1 U DN E 0 IN7tl: NULL ; LOG~TION O1F DN
U 2C 115 OUrT EOU OUT7~1: NULL ; LOC~Tl N OF WT
4111 116 INLEN EDU IN?s BYTE ; LEN6TH OF IN
~628 117 OUTLEN EDU OU~?s BYTE ; LEN6TH OF OUT
1~8 . , , ~_~J~`~6 ~-96 ItACRO ASSEN~LER S_PORT ~2 1 11JlS/rB6 18~29 24 F~E 3 ERR LOC OBJECT LINE SDURCE STATENENT
109 ;................. ~
~09 111 CSE6 112 ; I~O SER800T PROCEWRE
11~ ;BqUDU~L EIIU 624 ; 311 ~UD
819C 115 eAUDUqL EW 156 ;1281 8AUD
~1~ ;BAUDVAL EQU ?7 ;2400 BAUD
117 ;BAUDU4L EIIU 38 ;48a0 BAUD
118 ;BqUOUAL EQU 19 ;9600 BAUD
llsa 119 8AUDH EQU (IBAUbUAL-1)/256) OR 80H
119B 123 BP~UDL EQU ~BaUWAL-I) NOD 256 00U 819B0E 121 LDB GAUD_Riq~ BAUDL
ea03 B180SE 122 LDB BAUD_R~TE,1BAUDH
8006 814911 124 LDB SPCON,11010alaalB ,EN RECIE~E NODE I
0809 c400a7 125 STB SBUF,a ;CLEAR SERIAL PORT
aa0c Bl2a32 126 LDB TEMP8,1a810~901B
080F B1603~ 127 LDB SP_FLAGS,~81118e80B
a012 A00324 12B LD RX_PT,8 ;SET POINTERS
0015 A0a826 129 LD GET_PT,I
1018 A0802B 130 LD TX_PT,II
181B A00a2A 131 LD PUT_P~,0 011E 500036 132LDBSLQI~DalN,0 0il21 Fa 134RET
136 ;...........................................................................J37;
200C 139 CSEG AT 201CH ; SERIAL PCRT INTERRUn ~JECTOR
~40 28tC 2230 R 141 D~ SERPORT_INT
143 ;..............................................................................
~44 ;............................................................................
~45 a022 146 CSE6 1022 F2 147 SERPORT_INT PUSHF
~48 3e23 B11131 149 RD_AGAIN lDB SPTENP, SPSTAT ; ORB TENP8,SPSTAT
0026 913132 151 ORB TENP0, SPTENP
0029 ?16a31 151 ANDB SnEMP, Hlla330aB ;I~KES SURE THAT Rl AND Tl 802C D7F5 152 JNE RD_A6AIN ;ARE CLEARED IN SPSTAT
la2E 914008 153 QRB IN~_MASK,Hlal0101B ; SET SER BIT IN I~ASK
~54 ~55 ;-------------...............................................................
15~
1031 363248 157 Rl_SET 8BC TENPI, 6, Tl_SET ; lF Rl-TB~P CLEARED
8034 W87~4 158 LDB CH~RI,S8UF
1037 717F34 IS9 ANDB Ct~l,101111111B ; SrRIP BIT 7 113~ 71BF32 IA ~00 ~,111111111B ; CW~ Rl FlA~
la ; . . . . . . . . ~ SH~K~NS . . . . . . . . .
S03D 991334 163 CEKDC3~ ~ CH~1,1~13H ; 'DC3' (XOFF)?0844 D~S 164 9NE OEK DCI
~/
' .
r~-96 ~PCRO ~SSEMB1ER S_PORT ~2.1 81~ W 86 18:29:2~ Pq~E
ERR LOC 08JEC~ LIK S~URCE STATE~ENT
N 42 71BF3R 165 AND8 SP_FLA6S,J10111111B ; CL6AR TRAN elT
0145 2-3J t66 BR CONTI
00~7 m l34 16B CEK_DCI: C~PB CH~Rl,~lIH ; DCI ~XoN)?
0a4A D7t5 169 NNE IEEP
It4C 9140311 171 ORB SP_FLA6S,UIII U t0B ; SET TRhN BlT
~72 1951 3B3027 176 KEEP: 3BS SP_FLAfS,3,CDNT0 ; lN_BUF FULL?
105~ C7246034 177 STR CH~Rl,lN_BUFtRX_PT] ; INSERT CHAR IN IN_BUF
0058 a724 178 INC RXLPT
0e5A 613F1324 179 AND RX_PT,J09111111B
~E 1736 180 INCB SLOWDOWN
e061 913430 181 ORB SP_FLAGS,#0B0B01018 ; SET READY FLA60B63 993236 182 CEK SLo~ C~PB SLoiDoJN,~S0 ; CHECK 1NL9UF SJ2E
0066 D113 183 8NH CoNT0 0e68 ?IDF31 184 ANDB SP_FLA6S,911011111B ; CLEAR RE N Bl~0068 812333 185 LDB OT_CHR,#13H ; SEND XOFF
006E EF3000 186 CALL OT_LD
0072 FA 188 Dl ~89 0073 982624 190 C~PB RXE n ,GET_ n BB78 910830 192 ORB SP_FLA65,J10001Btl0B ; SEI INLBUF FULL BIT
0078 FA 197 CONT0: D]
0e7C FA 201 Tl_SET: Dl aB7D 35321F 202 J8C TEMPB, 5, EXIT ; IF Tl-TE~P CLE~RED
0B80 31301C 2e5 J8C SP_FLA6S,I,EXIT ; SEND?
00B3 363019 206 BBC SP_FLA6S,6,EXIT ; TR~N?
B986 B329A00e07 207 LD8 S8VF,OT_BUFrlX PT] ; TRPNSMIT BYTE0~8B e728 20B INC lX_PT
008D 6107002B 209 AND TX PT,H 0001111B
a091 71DF32 213 ANDB TE~PI,J11011111B ; CLEAR Tl FLA60094 71EF31 211 ANDB SP_FLA6S,J11191111B ; CLEAR OT_8UF FULL FLA6 3097 8B2A2B 212 C~P lX n ,PUT_PT
019C 71FD39 21q ANDB SP_FLAGS,J11111111B ; CLEAR SEND FLA6 H 9F F3 218 EXl~: PDPf 18bl Fl 219 RT
r~S-96 ~PCRO ASSE~ELER S_PORT ~2.1 0 V1S/86 18:29t24 PA6E 5 ERR LDC 08JECT LnNE SDURCE STATE~ENT
223 ; . ...... . ............. . .... . .............. . . ..... . ..... ..................
22~
226 ; I/O OT_LD PROCEDURE
01Q1 227 DT_ W :
I A1 FB 228 OUE11 El IIR2 E13713 n 9 DENQ ALAR~,C_OI
19R5 914119 231 CRB INT_PENDIN6,101119~0~B
0aQB 3C30F6 231 C OI JBS SP_FLA6S,4,0UEI ; DT_BUF FULL?
Ia48 FA 232 Dl 8~QC C72BQ09833 233 ST8 OT_CHRICr_8UF~PUT_PT~ ; LOAD OT_8UF
90B1 022A 234 INC PUT_PT
a883 6107012A 235 AND PUT_PT,~010tllllL
IBB7 88282A 236 C~P PU~_P~,TX_P~
00b~ D733 237 BNE CoNT2 98BC 911033 238 ORB SP_FLAGS,403011000B ; SET OT_BUF FULL FLA6 10BF 91e230 240 CONT2 ORB SP_FLAGS,~00008010B ; SE~ S9ND FLA6 00C2 ~141a9 241 ORB INT_PENDING,~01000080B ; SET SER INT_PENDIN6 33C6 FB 243 El 0iC7 F8 245 RET
246 ; . . . . .
250 ; ]/O PUT SUBROUTINE
30C9 91FF08 253 ORB INT_~AS~,~llllllllB ; ENABLE ALL INT.
00CC A0002E 254 LD OUT_PRT,0 30CF B32F2C4033 255 NEXT2 -LD8 OT_CHR,OUT~OUT_PRT~ ; LOAD OT_BUF
10D4 2FCB 256 CALL OT_LD
a3D7 872E 258 INC OUT_PRT
81D9 9B012B482E 259 CMPB WT_PR~,OUTL~1 t0DE D7EF 261 BNE NEXT2 00E0 F3 262 LEA~E POPF
01El F0 263 RR
267 ; .. . . . . .~
26B ; ............ ......... . . . .. . . . . . . ...... .......... . .... .
273 ; I~O OET PROCEDURE
I E2 o6112C 27~ OET: LD INLP~T,6 H E5 276 NEX~T_CH~
BBE~ FB 278 ~AITI: El ~3 -~?~ 6 ~-96 ~0 ASSE1~8LER S_PûRT ~12.1 IL~ 86 18:29s2~ P~6E 6 ERR LOIC 08JECT LINE SOURCE STATE~lENT
t86 FD 2n NOP
tlE7 32311B 28~ C_WI: 88C SP_FLa6S,2,1~1~1 ; READY?
80EB B326~835 284 L~8 CHAR2,1~LBllF~6ET_PTl ; HOLD lLBUF
ItEF 0726 285 INC 6ET_PT
01F1 613Fe026 2B6 AND 6ET_PT,118111111B
IIF5 1536 287 DE~8 SLOl~DOllN
a8F7 71F730 288 ANDB SP_FLA6S,JllllltllB ; CLEAR IN_8UF FULL 81T
~0FA 882426 290 C~P 6ET_PT,RX_PT
39FD D783 291 BNE H~ND_SH
00FF 71FB3e 292 AND8 SP_FLA8S,-111110118 ; CLEAR READY FLA6 8182 3D380E 294 H~ND_SH: 88S SP_FLAGS,5,CEK8R~qK
8185 993236 295 CMP8 SLOWDOI~N,J58 al88 D989 296 8H CEK8REAK
018A 912138 297 ORB SP_FLAGS,J8~188880B ; SET REC~J 81T
818D 811133 298 LDB OT_CHR,JlIH ; 'XON' 8118 2F8F 299 CALL OT_LD
8112 F8 308 El 3~1 392 ; BREAK
8113 990034 303 CEKBREAK CMPB CHARl,Ja0H
0116 D71F 3~4 BNE CEKDEL
0118 A8882C 385 LD IN_PRT,0 ; CLEAR IN
3~6 0118 3830C7 387 3BS SP_FLA65,8,NEXT_CH ; NO ECHO
lllE FA 319 Dl 811F 810C33 318 LDB OT_CHR,118CH ; LOqD 'FF' 0122 2F7D 311 CALL OT_LD
0124 F3 312 El 0125 278E 313 BR NEXT_CH
315 ; . DELEIE CH~R
1127 997F35 316 CEKDEL CMPB CHAR2,J7FH ; 'DEL' 112A D735 317 8NE S`AVE
812C 88002C 318 CMP IN_PRT,8 0J2F DFBJ 319 BE NEXT_CH
0131 FD 328 NûP
11132 852C 321 DEC IN_PRT ; CLEAR CHAR FR~11 IN
1134 3830AE 323 BBS SP_FLA65,0,NEXT_CH ; NO ECHO
0137 FA 325 Dl 1138 B12033 326 LD8 OT_CHR,428H ; LOAD 'SPACE' 013B 2F64 327 CALL O~_LD
013E FB 329 El 33~
113F FA 331 Dl 01U B1t833 332 LD8 al~ ,H8H ; LO~D '8S' ;~ 1143 2F5~C 333 GqU OT_W
1146 FB 335 El 96 t~CRO ~SSB~LER S_PDRT U2~t 81/65/86 18:29:2~ M6E 7 ERR LûC ~tECT LINESOUROE STATEltB~
0147 FA 337 Dl 11U B11~3 338 LDB OT_CHR,R08N ; LaqD JBS' 014B 2F54 339 CALL aT_LD
OJ~9 FD 340 NOP
tl~E F8 341 EJ
014F FA 342 Dl 0150 B12133 343 LD8 O~_CNR,42~H ; LOPD 'SP~CE' 0153 2F4C 344 GqLL OT_LD
3156 FB 346 El 0157 FO~ 348 Dl 8158 810B33 349 LDB OT_CHR,1108H ; LDAD '8S' 015B 2F44 350 CALL OT_LD
015E F8 352 El 015F 2784 353 8R NEXT_CH
356 ; SAUE CHAR
0161 8926002C357 Sa'JE C11P IN_PRT,138 3165 D91q 358 8H OJERFLOl~
016? C72D01~035 359 5~8 CHAR2,!N~IN_PR~
116C 072C 360 INC IN PR~
016E 38301F 362 BBS SP_FLAGS,0,CEKCR ; NO ECHO
91?1 FA 364 EC Dl 0172 B03533 365 LDB OT_CHR,CHAR2 ; LO4D ECHO CH~RAC~ER
0175 2F2A 366 CALL OT_LD
0178 FB 368 El 1173 383012 372 WERFLOIJ BBS SP_FLA65,0,CEKCR
017C FA 373 Dl II?F B17C33 374 LDB OT_CHR,~7CH ; !O~D "' 0182 2FID 375 CALL OT_LD
0184 FD 3?6 NOP
0185 FB 377 El l86 FD 378 NOP
0187 FA 379 Dl 0188 B10833 38~ LD8 OT_CI~R,808N ; IOqD 'BS' 318B 2F14 381 CALL DT_LD
al8E FB 383 El 386 ; CR
019~ mD35 3B7 CELCRs CtPB CH~R2, 80DH ; CKCK FOR 'Cll' 1193 DF82274E 388 ! 17E NEX~
0In 383UD 3~ FLA65,8,6al~ ; NO ECIIO
3~
019~ FA 391 Dl 019B 918030 392 DRB SP_FLA6S,811110101B J SET END LINE BIT
.
~' ~C5-9~ ~PCRD P5~ LER S_POQT ~2.1 ~?.,~ 6 11R15/86 IB 29:24 Pq OE 8 E M LOC OBJEBT LINE SOURCE S~AlENENT
119E 81DA33 393 LDB OT_CHR,1~AH ; L~4D LF
91A1 2EFE 39~ CALL OT_LD
IIA~ FB 396 EJ
llA7 C70118412C 411 GSTTEN STB IN_PRT,lNLEN
91AC Fa 412 RE~
4~4 ~06 ; . . .
4~7 ; ..
40q ; IJO BYTEGET PROCEDURE
91AD 411 ~YTE6ET:
01AD F3 412 W41T2 El 11~F 3231FB 414 C_W2 BBC SP_F U6S,2,WAlT2 : READY?
91B2 FA 416 Dl 01B3 B3266035 417 LD8 CHAR2,1NLBUF~GET_PT] ; HOLD INLBUF
01B7 3726 418 lNC 6ET_PT
0189 613F0026 419 AND 6ET_PT,401111111B
~IBD 1536 423 DECB SLO~DoJN
0SBF 71F730 421 ANDB SP_FLA65,411113111B ; CLEAR INLBUF FULL BlT
01C2 C7012M 935 423 STB CH~R2,1N~41 ; BYTE IS LOG4TED AT lN1411 11C7 882426 425 C~P 6ET_ n ,RX_P~
01CC 71FB30 427 ANDB SP FLA6S,411111111B ; CLEAR READY BIT
IICF 3D300D 429 OK2 B8S SP_FLA6S,5,END_B_6ET
01D2 993236 430 C~PB SL3WDOJN,459 alD5 D9a8 431 8H END_B_GET
01D7 91203a 432 OR8 SP_FLAGS,990111391B ; SET RE N BIT
elDA B11133 433 LDB Ol_CHR,411H ; XoN
91DO 2EC2 434 G4LL OT_LD
4~5 91DF F0 436 END_B_6ET: RET
43~
438 ;. ..... .. .... ............ .... ..... . . . . ............ ..... .. .. .
439 ; ...... .... .............. .. . . . . ........... . . . . . . . .
llE6 44t CSE6 441 ; I/O PROCEDURE ECHW N
11E- F2 442 ECHOoN: PUSHF
31E1 71FE31 4~3 PNDB SP_FLP6S1IIIIIIIIIB ; ~ODE ~ 8 11E~ F3 444 POPF
11ES Fl 445 RET
448 ;....... ... ............... ..... .......... . . . ........ ............... ......
, ~
961~C1111 ASS8~LER S P09T ~12.6 61JtSJU 18:29 2~ PA6E 9 EIIR LOC 0~1ECT LINE S~UROE S~ATB1ENl ~49 ;....................... ~
~IE6 451 CSE6 452 ; IJO PROCEDURE ECHWFF
llE6 F2 453 ECHOOFF: PUS~
llE7 91-1311 454 ORB SP_FL~65,11~1111~S1116 ; ~O~E = 1 61EB F~ 456 RET
~57 ~58 ;..............................................................................
459 ;....................... ....................................................~
~1 EC 460 END
ASSENBLY C01PLE~ED, NO ERRORtS) FOUND~
:
.
~S-96 ~PCRO ASSE~8LER YLNbN6 ~1.1 IlJISJ86 18:31:43 PR6E
iNDX-S41 ~U2.8) ~CS-96 ~ M O ASSE~8LER ~1.0 SOVRCE FILE: :F8:NLN~N6.SRC
OBIECT FlLE: :F8:~LN~N6.08J
CONTRDLS SPECIFIED IN INUC&aTION CONM4ND: PRlNT~:F8:NLrAN6.LS~) ERR LDC 08BECT EINE SOUR OE STATaNENT
I ~TITLE ~ HLr~N6 ~1.1 ) 2 ~NOSY~80LS
5 ;
7 ; U.S.D.A. INSTRUNENTED SPHERE ~ ~ANG MODULE
8 ; 8097 HlCROtoNTROLER ~1.1 9 ; 1 V 21~85 8~K
1~;
Jl ;ABSTRACT: IHiS NODUlE HWNh6ES THE DATA NEMORY IN THE INSTRUN M ED SPHERE.12 13 ;..............................................................................
t5 ; Regis~er File Ne~orY Hap 0000 17 R8 EOU 08H: WORD ; R 0ERO REGISTER
0002 18 AD_ConHhND EOU 82H: 8YTE ; W A~D COMhAND RE6.
0002 19 AD_RESULT EQU 02N: WORD ; R A~D RESVLT H~L
30a3 20 HSI_~ODE EOU 23H: 8YTE ; W HSI MODE REG.
U 94 21 HSI_TJME QU a4H: ~ORD ; RJ~ HSI TIME LOl 0al6 22 HS LC~MqND EQU 06H: ~ORD ; i HS1 C~M~ND REG.
0016 23 HSl_STATUS EQU 16H: 8YTE ; R HSI STATUS RE6.
0007 24 SBUF EQU B7H: BYTE ; Rli SERIAL EUFFER XJRX
03a8 25 INT N~SK EOU 08H: 8YTE ; Rf~ lNTERRUPT ~ASK RE6.
0309 26 INT_PENDING EQU 09H: 8YTE ; R~J INTERRUPT PENDIN6 REB.001A 27 ~hTCHDOB EQU 8AH: 3YTE ; ~ ~ATCHDOG T]~ER
008A 28 TI~ERI EOU 9AU: UORD ; R TIMER I H/L
009C 29 TIHER2 EQU 0CH: WORD ; R TIHER 2 HJL
080E 31 8AUD_RATE EQU 8EU: 8YTE ; ~ BAUD RATE U4L FOR SERIAL
08eE 31 IOPOR~9 EQU 9EH: 8YTE ; R PORT 3 RE6.
003F 32 IOPORTI EQU 0FH: eYTE ; RJW PORT I RE6.
a019 33 IDPORT2 EQU 10H: BYTE ; RJ~ PORT 2 RE6.
0011 34 SPST~T EQU llH: BYTE ; R SERIAL PORT STATUS
3011 ~5 SPCGN EQU IIH: BYTE ; ~ SERIAL PORT CONTROL
0015 36 IOC3 EQU 15H: 8YTE ; W IJO CONTROL RE6. a 1015 37 IOS0 EQU 15H: BYTE ; R llO STATUS RE6. 3 0016 B8 IOCI EQU 16H: CYTE ; ~ V O CoNTROL RE6. 1 0016 39 IOSI EQU 16H: BY~E ; R l/O STATUS RE6. 1 1017 40 F~NLC M ROL EQU 17H: BYTE ; ~ P~N C M ROL RE6.
1018 41 SP EQU t8H: ~ORD ; R~U STACK POINTER
44 PUBLIC OPEN ; OPENS DATA BUFFER
45 PU8LIC CLOSE ; CLOSES 54TA BUFFER
46 PUBLIC BBUF ; 8E61t*1N6 OF ~E BUFF~
47 PUBLlC I~UF ; LEN6~H OF ~E BIFF~
U PUBLIC D_t~KI ; BJFFER lNWt 49 PUBLIC D_INX2 ; BUFPER INWI
51 PUi0LIC STOR_Lltl ; STORAOE LWT OF TNE BUFFER
51 PUBLIC LCNEK ; BUFFER LB~H COINIER
~x-96 I~CRO ASS~LERILN~ ;26 11~ISJ86 18:31:43 PA6E 2 EM LOC DBJECT LINE SOURCE STATE~IENT
llat4 54 8BUF: DSW IH ; BE61NNIN6 DF BUFFER
8U2 55 LBUF: D~ lN ; LEN6TH OF BlFFER
8154 56 D_]NXls DSII IN ; BUFFE2 INDEX tNE
3686 57 D_INX2: DS~ IH ; BUFFER INEX TllO
81118 58 STOLLlt~: DSW lH ; STOIIA6E Ll~lT OF THE E~FtER
ll~ 59 LCtEK: DSI~ IH ; BUFFER LEN6TH COINTER
61 ;. . .............................. .....
64 ; FILER PROCEDURE OPEN
93 65 OPEN:
a89t A18~94 R 67 LD D_INXI,BBUF ;SET D_INXI AT THE BEGINNIN6 ~F
;DA~A BUFFER
88a8 A8388A R 69 LD LCHEK,STORLIH ;SET EUFFER LENGTH CDUNTER TO
78 ;STORLIN
~t86 A88882 R 71 LD L8UF,B ;SET 8UFFER LEN6TH TO ZERO
~2 74 ; . ~ . . . .
75; . .. . . .
l~aA 76 CSE6 77 ; FILER PROCEDURE CLOSE
llaA 78 CLOSE
11~ 48800412 R 79 SUB LBUF,D_lNXl eBUF
89eE Fl 81 RET
82; . . . ..
81aF 85 END
ASSE1~8LY C011PLETED, NO ERROR~S) FOU~D
.
.
~?.,C.`~6 PLtN-96 CSNPILER DISPLAY YODULE Vl.2 1Ifl6/85 23:55:38 PA6E
iNDX-S~t ~2.8~ P V Y-96 Vl.O CD~PILATI~N OF ~DULE DISP_N
08JECT NODULE 6L~CED IN :F8:DlSPLAY.DEW
COMPJLER IN40KED 8Y: PLm 6 :F8:DlSPLaY.SRC COOE PRINT~:F8:DISPLAY.LST) ~TIJLE ~'DISPLqY MDDULE ~1.2') .............................................................................
U.S.D.A. INSTRU~ENTED SPNERE DISP AY HaDULE
FOR TNE 8897 ~lCROC M ROLER ~1.2 lBX1/B5 BAK
A8STACT: THIS ~DDULE CONTAINS BOTN TNE PROCEDURES DISPLAY AND B_T L H. THE
PROCE W RE DISPLAY ~ILL DISPL~Y A PA6E OF ME~ORY ON A 4C CHARACTER ~lDE
TER~INAL SRCEEN E~CH TINE 'D' lS RECIEVED. THE STARTtN6 ~DDRESS lS 4~8~H.
A 'E' lS REOUIRED TO EXIT THE DISPLAY NDDE. ECHO IS TURNED OFF ~HILE IN
DlSPLaY ~ODE. THE PROCEDURE B_T L H UHICH CON~ERTS A BINARY BYTE TO HEX
NOTaTl ...... , ~FAST~12) I DISP_~: DO; /~BE61NNING OF DISPLAY MODULE~/
/~DECL~RE PROCEDURES ANO U~RIABLES~/
2 I PUT: PROCEDURE EXTERNaL; /~OUTPUT ROUTINE~/
3 2 END PUT;
4 l 6ET: PROCEDURE EXTERNAL; /~1/0 ROUTINE~/
5 2 END 6ET;
I DECL~RE IN(42) BYTE EXTERNAL SL31;
7 I DECLARE OUT(42) BYTE EXTERNAL SLO~;
8 I DECLARE INSLEN BYTE EXTERNAL SLO~;
9 I DECLARE OUT~LEN ~YTE EXTERN~L SLO~;
le I DECLARE CHR BYTE;
Il I DECLARE K BYTE;
12 I DECLARE I BYTE;
23 I DECLARE E BYTE;
14 I DECU RE BIN BYTE;
15 I DECLARE HEXL BYTE;
16 I DECLARE HEXH BYTE;
17 I DECLARE DISP BYTE;
18 I DECLARE ~IT BYTE;
19 I DECLARE NENINX ADDRESS;
28 I DECLARE YEN 3dSED NENINK BYTE;
21 1 DECLARE N(2) EYTE AT ~.NENINK);
K~START PRCCEDURE DISPLAY.................................................... ~/
22 I DISPLAY: PROCEOU~E PUBLIC;
~'0 1~96 CI~PlLER D1!;PLAY NODULE Vl.2 11flU85 23~ 38 PA6E 2 23 2 IflNlN~ = 41tlH; /~S~AR~ ADDR~SS~/
24 2 DISP ~ 8FFH;
2S 2 DO UHlLE DlSP; J~8E61NNIN6 OF ~141N LOOP FOR DISPLAY~
26 3 Oln$LEN = l;
X~OUrPUT CR ANO LF{/
27 3 OUT~O) S IDH;
28 3 C,~LL PU~;
29 3 OUT(t) = 8AH;
39 3 G~LL PLT;
J}PUT 6ESINNIN6 ADDRESS ON SCREEN FOR P~8E~/
31 3 81N = ~1(1);
32 3 CALL B_TQH;
33 3 OUT(~) = HEXH;
34 3 C~LL PUT;
35 3 OUT(a) = HEXL;
36 3 CPlL PUT;
37 3 81N = M~a);
38 3 CALL B_TLH;
39 3 OUT(8) = HEXH;
49 3 CALL PUT;
41 3 OUT(01 = HEXL;
42 3 CALL PUT;
/~OUrPL~ CR AND LF*/
43 3 OlJT(e) = ~DH;
44 3 ~LL PUT;
4S 3 OUT(I) = ~4H;
46 3 ~qLL PllT;
47 3 DO K=0 TO aFH; J~PA6E LDOP3lJ
48 4 DO 1=0 TO 7; /~IL]NE LOOP~J
49 5 DO E=a TO l; /~P~IR 8tTES LOOP~/
5a 6 81N = ~1EH;
51 6 CALL B_TQH;
52 6 OUT(e) = HEXH;
53 6 CALL PU~;
54 6 WT(a) = HEXL;
55 6 CALL PL~;
56 6 ~1EI~INX = ~1ElllNXtl;
57 6 END;
58 5 OLrr(a) = 28H;
59 5 CALL PUT;
69 5 END;
61 4 OUT~t) = 8DH;
62 4 ~LL PUT;
~3 ~ our(~ H;
U ~ BO;
/~lT FOR El~ER 1~ ~D- OR 'E~ CW~ER~/
65 3 ~1~ ~ IFFH~
66 3 W l~HlLE l~
~--l .
PLXY-Y6 Co~PILR DISPt~Y ~COULE ~1.2 It/l U 8S 23:~S:38 Pn6E 3 67 4 C~LL 6ET;
U 4 IF IN~t)5 E lHEN
69 4 DO;
71 5 DISP = I;
71 S W~ 8;
72 5 END;
73 4 lF IN(9)= D ~NEN
74 4 DO;
75 5 ~IT - IH;
76 5 ENID;
77 4 END; X~END ~RIT WHILE}X
78 3 END; /~END DISP ~HlLE~X
?9 2 END DISPL~Y;
X~END PRDCEDURE DISPLAY.~.~... ~............................................. ~/
X~S~RT PROCEDURE B_~O_H.................................................... ~/
8a I B_TO_H: PROCEDURE PUBLIC;
81 2 HEXL = BIN AND 0009JlllB;
82 2 IF HE~L~=9 THEN HEXL = HEXL 8SH;
84 2 ELSE HEXL = HEXL ~ 37H;
85 2 HEXH = SHR(~BIN ~ND 11110009B) 4);
86 2 IF HEXH~=9 THEN HEXH = HEXH 3tH;
88 2 ELSE HEXW - HEXN ~ 37H;
89 2 END aT Q H;
/~END PROCEDURE B_TO_H.......................................................
9t I END DISP_Y;
~: `
,:
`:
Fl~r~96 C~HPILER DlStLAY NOOULE ~1 2 ~-` 6~ 6 11X16~8S 23 SSs3B PA6E 4 ASSENBLY LISTIN8 ~F O~JECT C WE
; STATENENT 22 ; STATENENT 23 0000 A10041t0 R LD ~ENINK,14010H
; S~ATEHENT 24 9 U q BlFFa9 R LD'0 DISP,D8FFH
; STATENEHT 25 00~ ~0001:
0807 38090220E4 R ! BBC DISP,1H,~0092 ! BBS DlSP,0H,~t5H
! BR ~0082 ; STATENENT 26 090C 81011C LDB TNP3,11H
00aF C70100001C E STB TMP0,0UTLEN
; STRTENENT 2?
0014 B10DIC LDB THP0,10DH
0017 C70100001C E STB TNP0,0UT
a01C EF0000 E CALL PUT
; 5TATEMENT 29 001F' B10AIC LDB TNP0,~0AH
0022 C7~100301C E STB TNP~,OUT
; S~TEN M 30 0t27 EF0093 E CALL PUT
; S~ATEM M 31 002A Ba0106 R LD8 51N,MtlH
; S~ATENENT 32 a02D 28C2 CALL 8_T LH
; STATENEHT 33 012F C701~0a08 E ST8 HEXH,OL~
; STATENENT 34 ; STATENENT 35 0037 C731000007 E STB HEXL,OUT
; STATEMENT 36 ; S~ATENENT 37 003F B0~006 R LDB 81N,N
; S~ATEMENT 38 0e42 28AD CALL aT L H
; S}ATENENT 39 ac44 C7el000098 E STB HEXH,WT
; STATENENT 4 8049 EF3e3~ E CALL PUT
; STATEHENT 41 809C C701000e07 E STB HEXL,OUT
; S~ATENEN7 42 0051 EF00~0 E CALL PUT
; STATENENT 43 e054 B10DlC LDB TrPl,JlDH
U 5? C711~talC E STB lYPl,OUn ~ STAlEYENT *
1t X EFlltl E CoiL PUT
~ S,~lE~EHT 45 115F Bl~AIC LDB l~PI,4~QH
0062 c70l0e0alC E sr8 ~P0,0UT
PLJr-96 COtPlLER DIS~AY ~COULE ~1.2 IIK16JB5 23:55:3B P~SE 5 ASSENBLY LlSTlN6 OF Da~E~T CODE
; STATE~ENT ~6 006? EFtll0 E C~LL PUT
; STATENENT 4B
9a6c ~U t3:
016C 991F13 R C~t~8 K,t0FH
el6F D95B BH 7011~
; STATENENT 49 1071 110~ R CLRB
0973 ~05:
0073 990714 R CNP8 1,t7H
; STATE~ENT 50 00?A ` ~0B07 097A 990105 R CNPB E,~IH
t07D D91E BH ~a008 007F B20006 R LDB BlN,lNE~lNX]
; 5T~EMEN~ 51 0082 286D CALL 8_~0_H
; STATEMEN~ 52 0084 C701000008 E STB HEXH,OUT
; STATENENT 53 ; STATEM M 54 a0BC C701000~07 E STB HEXL,OUT
; STATENENT 55 ; STATEH M 56 a074 071a R INC HE~INX
; STATEHENn 57 aaq6 17a5 R INCB E
3098 980500 R CHPB R8,E
; STATEHENT 58 109D B12~1C LDB TNP0,~20H
0~A0 C79100001C E 5TB T~P0,0UT
; STPTEHEhT 59 0aA5 EF0000 E CALL PUT
; STATE~EN7 61 10AA 98a400 R CHFB R0,1 00AD D7C4 BNE ~0e05 00AF 70106:
; STATEHENT 61 00AF B10DIC LDB THPt,09DH
00B2 C701000alC E STB THP~,OUT
; ST~TEYENn 62 ; STATEPENT 63 H 0~ BIIAlC LD0 T~F1 "I~H
2g ' ' NCS-96 N~CRO ASSE~BLER BOOT Vl.2 ~ 6 tl~6S~86 t8:29:13 PA OE
;NDX-S41 ~V2.8) NCS-96 ~ACRO ASSEN8LER, Vl.O
SW RCE FlLE: :F8:BOOT.SRC
OBJECr FILE: :F8:BO~r.08J
CONTROLS SPEClFlED IN lNVOCATlON COnNAND: PRlNTt:F8:803r.LST) ERR LOC OBJECr LINE SOURCE STATENENT
J STlrLE ~'BOOT Vl.2') 2 SNOSYt80LS
~ ;
6 ; U.S.D.A. lNSTRUMENTED SPHERE BODI NODULE
7 ; 8~97 MlCROCoNTROLER ~1.2 8 ; 9/18J85 8WK
It ; ~8STR~CT: 7HIS ROUTINE lNlllALlZES THE 9197 MICROCONTRLLER FOR THE
Il ; INSTRUNENTED SPHERE PROGR~S.
13 :..............................................................................
14 BOOT_HOD MODULE
PUBLIC BOOT
17 ;......................................... ............... ... .....
19 ; Registtr File Henory Ma~
2~
~t91 21 Rl EQU laH: ~OR~ ; R ZERO REGISTER
1112 22 AD_CoM~WND EOU 82H: 8YTE ; W P/D Co~PND RE6.
1012 23 AD_RESULT EQU 32H: WORD ; R A/D RESULT H/L
3al3 24 HSI_HODE EQU a3H: BYTE ; ~ HSI ~ODE RES.
3~14 25 HSl_TtME EQU 84H: ~ORD ; R/~ HSl Tl~E L3J
lia6 26 HSQ C3~M~ND EQU 16H: WORD ; W HSI C3~WND RE6.
3116 27 HSI_STATUS EQU t6H: BYTE ; R HSI STATUS RE6.
1117 28 S8UF EQU a7H: BYrE ; RJl SERlAL OUFFER TX/RX
~98 2g INT_MASK EQU 18H: 8YTE ; R~W INTERRUPT ~ASK RE6.
0119 81 INT_PENDlN6 EQU 39H: EIYTE ; R~ INTERRUPT PENDlNG RE6.
3~aA 31 ~ATCHD06 EQU gAHs ~YTE ; U ~ATCNW 6 TI~ER
81eA 32 TI~ERt EQU IAH: WDRD ; R TI~ER I H/L
118C 33 TINER2 EQU 9CH: ~ORD ; R TI~ER 2 H/L
19eE 34 BAU L aATE EQU eEH: BYTE ; ~ 8WUD RATE UAL FOR SERlAL
9a9E 35 IOPORTI E W ~EH: BYTE ; R PORT 9 RE6.
103F 36 IOPORTI EQU aFH: 8YTE ; RJJ PORT I RE6.
1011 97 IOPORT2 EQU IIH: 8YTE ; R/i PORT 2 RE6.
atll 38 SPSTAT EOU llH: BYTE ; R SERlAL PORT STATUS
1111 39 SPCON EOU IIH: 8YTE ; ~ SERlAL PORT CoNTROL
1115 49 lOCI EaU 15H: 8YTE ; ~ 1/0 CONTROL RE6. 1 ll5 41 IOSI E W 15N: 8YTE ; R 1/0 STATUS RE6. 1 0916 42 lOCI E W 16H: BYTE ; ~ 1/0 CONTROL RE6. 1 3016 43 IOSI E~U J6H: B~TE ; R 1/0 STqTUS RE6. 1 Oal7 44 P~Y_CONTROL EQU 17H: 8YTE ; ~ P~n CONTROL RE6.
1118 45 SP EQU 18H: ~ORD ; RJJ STA6K POINTER
~7 48 ; RESER~E SPECl~l USER K 61STERS
OOlA 49 RSE6 PIT IAH
SJ PU8LIC AX ;A9~ TEffPORARY RE615TER
SllA 51 ox: D5~ IH
~ q 1~-96 ~CRO ~SSBIBLER Bt10T ~JI 2 ~ ?,~ 6 tl/tSJ86 18:29:13 P1~6E 2 ERR LOC OBIECTLINE SOURCE ST~TE11ENT
ttlR 52 ~L EQU 14X: BYTE
qll8 53 AN EDU ~t-l BYTE
55 PUBLlt ~N
56 PUBLIC PINRE6 ;RE651STERS USED BY PLm6 ROUTINES
061C 57 PLtlRE6 ~SB 811 19tt 68 CSE6 ttt6 63 8DDT ;BDOTIN6 RDUTINE FM 9197 64 ; SEI PROCESSOR C~NTROL RE61S~ERS
08tt B10tlS ~5 - LDB lOC8,18838tt88B
8t83 812416 66 LDB lOCI,1881t8188B ;SET P2 e ~O TXD
67 ;EN~9LE TlHER 1 OJERFLCI~ INT~
69 ; SEI UP SERI~L PORT
t016 EFt8t8 E 78 LCaLL SERBOOT
88t9 Ft 72 RET
aSSE11BLY COI~PLETED, NO ERRORtS) FDUlD
~; ~
~ ~0 :~ : :
' .
:
Iv~96 C~PILFR PHOTarYPE N4IN ~ 6 IIJe5J86 18:28:39 PR6E
iNOX-S41 (V2.8) PL~96 Vl.0 CI~PILATICN OF MODULE ~IN
OBJECT NODULE PLRCED IN :F8:~tRIN.OBJ
CII~PILER INJOKED BY: PLM96 :F8:~41N.SRC CODE PRINT~:F8:MAIN.LST~
SFAST(e) STITLE( PHOTO~YPE - ~IH ) J~.............................................................................
U.S.D.R. INSTRUI~IENTED SPHERE MAIN MODULE
8097 MICROCONTROLLER \1ERSICN PHOTO-TYPE
I eJI 7/85 BAK
ABSTRACT: THIS NODULE C~NTAINS THE ~IN COHIROL LOOP. IT ALSO C~NTAINS THE
MAIN Cl~tAND LINE SYNTEXT CHECKIN6 ROUTINE. ALL O THE CCM~ANDS ]NCLUDED ARE
LISTED IN THE DECLARRIONS THE FIRST CASE INVOlVlN6 THE KEYWORDS AND THE
SECOND CASE STA~EltENT IJHICH EXECUTES THE Cal~AND. THE SYNTEXT CHECKIN6 ALLOlJSBOTH SPACES BEFORE AND AFTER THE KEYWORD. AN ERROR MESSA6E 1S SENT IF CHAR-ACTERS OTHER THAN SPACES AND THE KEYWORD ARE IN THE CO~ltAND llNE.
............................................................................. ~
MAIH: DO; /~BE61NNIN6 OF MAIN MODULE~J
/~DECLARE PROCEDURES AND ~JRRIA8LES~J
2 I BOOT: PROCEDURE EXTERN~L; J~BOOT ROUTlNE~i 3 2 END BOaT;
4 1 PUT: PROCEDURE E~TER~qL; J~IJO ROUTINE~J
2 END PUT;
6 1 6ET: PROCEDURE EXTERNAL; J~lJO ROUTlNE~J
7 2 END GET;
B I DISPLAY: PROCEDURE EXTERNAL; J~DlSPLQY ROUTINEilJ
9 2 END DISPLAY;
11 1 RDATA: PROCEDURE EXTERNAL; J~ROUTINE TO START DATA COLLECTI~J
11 2 END RDATA;
J~ BO96 RE61S7ERS It/
12 1 DECLARE INTJ~SK BYTE AT(0B) J~SERIAL PORT RE61STERS~J
13 I DECLARE IN(42) BYTE EXTER~L SLCI~;
14 1 DECLARE OUT(42) BYTE EXTERN4L SLa~;
1 DECLARE INSLEN BYTE EXTERI~L SL~I;
16 I DECLARE OUT~LEN BYTE EXTERt*L SLOII;
/~ USER RESIS7ERS ~/
17 I DECLhRE ~ I~ORD SLOIJ; /~STRlN6 IND6t~/
18 1 DECLARE I UORD S Ol~ S7RIN6 INDE)tV
19 I DECLARE KEY IJORD SLOl~ FLA6~/
~-96 CO~PJLER PNCTOnYPE - N~IN 8 V15~B6 t8:28:39 PASE 2 21 I DECLARE K BYTE SLoW; /~COLN~ER~/
21 I DECLARE ERR BrTE SEOi; /~F~A6H/
J~START PRO6R~
22 I CALL 800T;
23 1 INT_K~SK = IIIIIIIlB;
24 I ENA8LE;
J~OL~PUT SIGN ON MESSA6EtJ
25 I CALL M W 8(.~'1NSTRU~ENTED SPHERE PHDTOTYPE',0DH,~AH)I.OUT,34);
26 1 OUTSLEN = 34;
27 I CALL PUT;
28 1 LODP: DO; J~S~AR~ OF N~IN CONTROL LOOP~J
29 2 CALL GET; /~6ET A CoMM~ND~J
31 2 ]f IN~INSLEN-I) = 0DH THEN J~CHECK FOR 'CR' AT EOL~J
32 2 DO;
33 3 PT = SKIPB~.IN,20H,0FFH); J~SKIP THE LEADIN6 SPACES~J
34 3 KEY = 3:
35 3 K = 0;
36 3 IF P~)(INSLEN-I) THEN t~CHECK FOR BLANK LINE~J
37 3 DO;
38 4 DO ~HILE (KEY(~0FFFFH) ~ND (K~2);
39 5 K =Ktl, 40 5 DO CASE K; J~Co~PARE INPUT COMK~NDS ~ITH KEY~ORD~J
42 6 DO;
43 7 KEY=C~PB~.IN~PT),.~'DISPLAY'),7); JtKEy~DRD~/
44 ? I = 7;
45 7 END;
46 6 DO;
47 7 KEY=C~PB~.IN~PT),.('RDATA'),5); /~KEY~ORD~/
48 7 1 = 5;
49 7 END;
50 6 END;
51 5 END;
52 4 IF KEY = 0FFFFH THEN
53 4 DO;
s4 s n = PT t l;
55 5 1=SKIPB(.IN(PT),20H,IFFH); J~SKIP TRAILIN6 SPACES~t 56 5 PT = PT t J;
57 5 IF PT~)(IN5LEN-I) THEN /~CHECK FOR EXTRA CHR.tt S8 S DO;
~9 6 ERR = 0FFH;
U ~ END;
61 5 END;
3æ
q~J6 ~v~96 C111PILER PI~ IN 81J15J86 18s28:39 PA6E 3 DO;
6S 5 ERR = 0~FH;
6~ 5 END;
6S 4 END;
66 3 END;
W~
68 3 ERR = OFFH;
69 3 END;
71 2 3F ERR~)9FFH THEN /~E~ECUTE lF CORRECT#~
71 2 DO;
72 3 DO CASE K;
?4 4 CALL DISPLO~Y;
7$ 4 G~LL R~q~;
7~ 4 END:
77 3 END;
DO;
79 3 G4LL 1~ B(.~'SYNTPd( ERROR',0DH,llqH),.OUr,14);
811 3 OUI~LEN = 14;
81 3 C~LL PUT;
82 3 91D;
83 2 60T0 LOOP; JI~END OF 1'~41N CONTROL lOOPiJ
B4 2 END LOOP;
1 END ~'A3N; J~tEND OF l~qlN 1~ODULE~J
.~ .
:
.~
~ `
. . .
-:
~ 33 , :
96 C~PILER P~OT~rnPE - ~IN ll~aSJ86 18:28~39 P46E 4 ~SSENBLY LISTlN~ OF 03JECT CODE
; STATENENT 22 se ~c NalN:
te3c Al00lal8 R LD SP,IST~CK
t0~0 EFa0tl E CALL BDOT
; ST~TE~ENT 23 1143 81FF18 LD8 INT_N~SK,~0FFH
; SToTENEhT 24 3146 FB El ; STATENENI 25 0047 81221C LDB lNP0,~22H
004a al0E001E R LD TNP2,1~3LoN6~CONST~NT$000E
894E 01000020 E LD TNP4,90UT
0052 ~08~5 0052 B21FID LD8 T~Pl,lTHF2~t 9855 C6211D ST8 TNPl,lTNP4 0058 E01CF7 DBNZ TNP0,~5015 ; STOTENENT 26 0058 91221C LDB T~P0,~22H
005E C70180001C E ST8 TNPt,OU~LEN
; ST~TENENT 27 9063 EF0000 E C~LL PUT
; ST~TENENT 28 ; STaTE~ENT 29 ; ST~TENENT 30 0069 C701~70000 R STB R0,ERR
; ST~TE~ENn 31 006E B30109901E E LDB INP2,1NLEN
0073 B01ElC LDB T~P0,TNP2 0078 IIID CLRB T~Pl 007A B31D00001C E LDB T~P0,1HlTNP0]
007F 990DlC C~PB TMP0,90DH
0092 DFB22137 ! 8NE 30001 ! BE S-4H
! 8R 3q001 ; STaTEMENT 33 0086 A1000020 E LD TNP4,01N
008~ BIFFIF LDB TNP3,~0FFH
008F 812022 LDB TNP6,120H
0092 ~0016 0092 9a2122 CNPB TNP6,lTNP4~-0095 D708 8HE a0017 0097 071C INC T~PI
0099 E01FF6 DBNZ ~P3,70016 009C BDFFIC LD8SE TNP0,10FFN
009F 7a017 009F C30100001C R ST TNP9,PT
; sTaw 34 68q~ C3JII U 018 R ST Rl,KEY
; STATEYENT 35 l~q~ C7~1162 H I R STB Rl,K
; STA W 36 t0~E 151E DEC8 TNP2 3~
rL~Y~96 C~MPlLER P~OTGTYPE - N~lN ~ ? q ~ ~ ~ 6 11~ISJ86 lB~23t39 PACE 5 ASSE~8LY LlSTlNS OF OBJECT CODE
0~90 IIIF CLR8 THP3 IIB2 881EIC CNP TNf-,T~P2 G~B5 D7122112 ! EE ~4112 ! WE ~t4N
! BR ~1112 ; STaT~ENT 3B
U B9 20103:
16B9 A301t4111C R LD THPI, m 31BE 89FFFFIC CNP lKP0,1eFFFFN
00C2 D7022194 ! 8E ~0eO4 ! BNE St4H
! 8R ~0084 80C6 B3al06801C R LDB THPB,K
08CB 99821C CHPB TMP0,12H
00CE D7B22988 ! BE ~BB04 ! BNE ~t4H
! 8R ~0B04 ; STATEHENI 39 00D4 C7B106301C R STB THPI,K
; STATEMENT 40 10D9 AF01B6001C R LDBZE TMP0,K
00DE 641CIC ADD TNP8,TMP0 00EI A31D52011C R LD THP0,~8006~TMP0 88E6 E31C BR ~THP9]
; STOTEMENT 41 08E8 ~0007:
00E8 206E BR 30a05 ; STATENENr 42 00EA ~08:
; S~A~ENENn 43 00EA A30100001C R LD I~PI,PT
00EF 650e001C E ADD THP0,~1N
B0F3 A135801E R LD TNP2,1~LGNGSCO~SThNTSB135 90F7 B11720 LDB THP4,17H
00FC ~8318:
a0FC 821D21 LDB TMPS,[TNP0 00FF 9AIF21 CHPB TMP5,~TNP2l-0192 D706 3NE ~0019 01B4 EB20F5 DBN2 TMP4,~0018 0107 A2181C LD THP0,1SP]
- 010A ~B019 010A 6A191C SUB THP0,~SP]t 010F C30104001C R ST TNP0,KEY
; STATENENT 44 0114 AD071C LDBZE THP0,17H
all7 C30182001C R ST TNP0,]
OlIC 203A BR 30005 ; STATENENT U
411E 7~119:
; sTalE~ENT 4~
SllE A30101111C R LD l~Pl,PT
8123 6509001C E ADD TYPI,41H
0127 A130011E R LD T~P2,4~LGN65CGNSToNT51031 3~
~ ?~L~6 .Jt-96 W ~PlLER PHOTOTYPE - H4nN IIJ15/86 18:28:39 PoBE 6 ASSE~8LY LlSTlN6 OF OBJEC`T COOE
11~3 B1152~ LDB T~P4,15H
912E C81C PUSH T~PI
013~ 70BIA
023~ 921D21 L~B T~P5,~TH n l-lt33 9AIF21 CHP8 TMP5,lTNP21 0136 D796 BNE ~881B
1138 E~2~F5 DBNZ THP4,7901A
0138 A2181C LD THP~,~SPl 013E 7091B:
813E 6~191C SU8 TMp9~sp~t 0143 C311a4~31C R ST TMP~,KEY
; STATENENT 48 0148 AD051C LDBZE TMPI,65H
014B C38112081C R ST TNP0,1 al5~ 2a~6 8R 7a8e5 8152 E800 R 70006 DCW 700a7 0154 EA0t R DCI 78308 ; STATENENT 59 0158 7a0a5 ; STATENENT 51 ; STATEN M 52 115A A30104011C R LD TNP0,KEY
015F 89FFFFIC CHP TMP0,10FFFFH
; STATEHENT 54 1165 A30100a01C R LD TMP0,PT
016A 670102001C R ADD TMP0,1 016F C30100001C R ST TMP0,PT
; STATEMENT 55 el 74 4500001ClE E ADD TNP2,TMP0,01N
0179 BIFF22 LDB THP6,10FFH
al7C 012a CLR THP4 017E B12023 - LDB THP7,129H
~8~ 700~C:
0181 9AIF23 CNPB TNP7,~TNP2l~
el84 D708 eNE 7001D
0186 a720 INC TNP4 0188 E022F6 D8NZ TNP6,7001C
018B BDFF20 LD85E T~P4,90FFH
01BE 71elD:
al8E C391a28a20 R ST THP4,~
; STATEMENT 56 1193 64201C ADD TMPa,TNP4 9196 t3al00001C R ST TMP0,PT
; STATEMENT 57 al98 B301110alE E LD8 TMP2,1NLEN
IIA2 lllF CLRB T~P3 llA~ 881ElC OHP lF~Pl,TYP2 IIA7 DF98 8E 7~11B
; STATEHENT 59 IIA9 BlFFlC LDB T~PI,41FFH
J~-96 COtPILER P~OTQTYPE - ~AIN ~ 6 11t05JB6 18:2B:39 Rq6E 7 ASSE~BLY LISTIN6 QF QBJECT CODE
01AC C701070elC R STB l~PI,ERR
; STATE~NT 61 0181 ~a0tB:
tlBl 2B18 BR ~900C
; ST~TENENT 62 01B0 ~00a4:
; S~ATE~ENT 63 01B3 BIFFIC LDB T~P0,14FFH
0JB6 C70107t01C R S~8 T~Pt,ERR
; STATENENT 65 018B ~000C:
; STATE~ENT 66 01BB 2008 BR ~000D
; STATE~ENT 67 01CD ~0001 ; STPTE~ M 68 alBD BIFFIC LDB T~P0,~FFH
01C0 C?010?001C R STB T~P0,ERR
; S~ATEMENT 70 01C5 ~0a0D:
01CS B3tl07a01C R LDB T~P0,ERR
01CA 99FFIC CMPB THP0,N FFH
01CD DF23 BE ~030E
; STA~EHENT 72 01CF AF01~6001C R LDBZE I~P0,K
alD4 641CIC ADD T~ n ,T~P0 01D7 A31DEA011C R LD I~P0,~all01T~P81 01DC E31C BR lT~ M ~
; STATE~ENT ?3 01DE ~0011 ; STATE~NT 74 01E0 ~0012 01E3 200B BR ~000F
; STATENENT 75 01E5 30013:
01E5 EF0a00 E CALL R34 01EB 2006 ` BR ~010F
01EA DE01 R ~001a: DC~ ~0~11 01EC E001 R WJ ~0012 01EE E501 R DCU ~tll3 ; STATE~ENT 76 01F0 ~000F
01F0 201F BR ~011~
; STATENENT 78 01F2 300iE:
; S~AlE~ENT 79 01F2 810ElC LDB T~P0,N EH
IIFS A110 UIE R LD TNP2,~1LoN6SCoNST~NT~01 H
llF9 ~1000020 E LD T~r~,90UT
IIFD ~ IIE:
01FD 921FID LDE TNPl,tTrP21t 1211 C6211D STB TffPl,~T~P~t 0203 E01CF7 DBNZ TNPI,7~11E
PL ~96 CI~QILER PHOTOIYPE - ~iN tl~15/86 18:28:89 PA6E 8 ASSEI~BLY LISTIN6 OF 08JECT CODE
; ST~B~ENT 8t 32t6 81tElC LDB ~NPI PtEH
1219 C701ta3alC E STB TNP8 QUrLEN
; STATB~ENT 81 42SE EFSllee E CALL PUT
; STATENENT S3 ~211 ~a~4:
t211 2653 8R LOOP
ST~TEt~ENT 85 END
t~ODULE INFOIN~TION:
CODE AREA SIZE = tlD7H 171D
DONST~T ARE~ SIZE = tt3CH 60D
GATA AREA S]ZE = ttt8H 8D
ST~TIC REGS ~REA SIZE = tt0tH 0D
I~JERLAYA8LE RE6S AREA SIZE = tletH tD
lAX1111N S~ACK SIZE = ttt2H 2D -PL~N-96 COI~PIL~TION C~lPLETE t I~RNIN6S t ERRûRS
.~S-96 ~PCRD ASS~TULER S_PORT ~2.~ 6 01/05/86 18:29:N PA6E
iNDX-S41 ~V2.B) NCS-96 NACRO ASSEN8LER, ~I.e SOURCE FILE: :F8:S_POo~.SRC
08JECT FILE: :F8:S_PORT.OBJ
CONTROLS SPEOIFlED IN IN W CATION Co~hND: PRINT~:F8:5_PORT.LST) ERR LOC 08JECT LlNE SOURCE STA~EHENT
LE ~ S_PORT ~2.4~) ~ SERlA L PORT NODULE STACKS12E~19~ ; SAT]SFY THE U R
S ;,,,,.. ,.................. ~
7 ; U.S.D.A. 8097 SRlAl PORT ~2.0 8 ; 9/3~X85 BAK
; A8STRACT: THlS NODULE CONTAINS THE SERIAL PORT INTERRUPT H~NDLIN6 ROUTINE, Il ; SIX PUBLIC PROCEDURES AND ONE NON-PUBLIC ROUTINE WHICH ARE USEO FOR SERlAL
12 ; IXO. THE PUBLIC PROCEDURES INCLUDED ARE: SE R BOOT, 6ET, BYIESET, PUT,13 ; ECHOON PND ECHOFF. SE R BOOT INITIAL12ES THE SERIAL PORT; FOR ~X~MPLE, THE
14 ; B~UD RATE IS SR AT THE DEFAULT OF 12~0 8AUD. THE PROCEDURE ~ET ~lUL
; ~R~NSFER A 4~ CHARACTER STRING FROM IN 8UF TO IN. INLBUF IS ~ ;IFO 8UFFER
16 ; WHILE IN IS A PUBLIC ARRAY. 6ET IS LINE ORINATED, THEREFORE A CARR]A6E NUST
17 ; 8E FOUND TO COMPLETE A GET. 6ET ECHOS ALL CHARACTERS E~ACK TO THE SERIAL
18 ; PDRT TX LlME E~CEP~ A FEJ CQNTROL CHARAClERS. AFTER ERCH CARR~6E RETURN A
19 ; LINE FEED IS ALSO OUTPUT. THE ASCII CHARACTER DEL WlLL DELETE THE
2t ; PREUIOUS CH~RPCTER FRQM IN AND OUTPUT THE PROPER CHARACTERS CLEAR THE
21 ; UNWWNTED CHqRAC~ER FROM THE TERMINAL SCREEN. THE ASCII BREAK WILL
22 ; TOTALLY CLEAR lN AND W1LL PAGE THE TERMINAL SCREEN. BYT6ET ~ILL TRANSFER
23 ; ONE BYTE FR Y IN_BUF TO IN~41~. BYTE6ET HAS NO CONTROL CHARACTERS OR ECHO.
24 ; THE PROCECURES ECHOON AND ECHOOFF TURN THE ECHO ON AND OFF FOR WHEN 6ET IS
; USED. THE PROCEDURE PUT LOADS THE STRlN6 OUT INTO THE FlFO BUFFER OT_BUF
26 ; ~ND STARTS THE SERIAL OUTPUT PROCESS. BOnH THE SERIAL INPUT AND OUIPUT USE
27 ; SOFT~PRE H~NDSHAKIN6. IN_BUF C~N HOLD 64 BYTES AND OT_BUF HOLDS B EIYTES.
28 ;..... .............. ...
30 , Registtr Fil~ Henory Map 0030 32 R0 EQU 01H: WORD ; R ZERO RE61STER
03a2 33 AD_CQNMPND EQU 02H: BYTE ; W A/D C3NNAND REG.
00e2 34 AD_RESULT EQU 92H: WORD ; R AJD RESULT H7L
0003 35 HSI_MODE EQU 03H: BYTE ; W HSI NODE RE6.
0004 36 HSI_TINE EOU a4H: WORD ; R7J HSI TI~E LO~
0006 37 HSOLCONN~ND EOU 06H: WORD ; ~ HSI CONNYND RE6.
~016 38 HSI_STATUS E9U a6H: ~YTE ; R HSI STA~US RE6.0a07 39 SBUF EaU 97H: BYTE ; RJ~ SERlAL BUFFER lXJRX
a U 8 4a INT_HASK EQU 38H: BYTE ; R~W IM ERRUPT NASK RE6.
0aR9 41 I M_PENDIN6 EQU 09H: E~YTE ; RJ~ I M ERRUPT PENDIN6 RE6.
600A 42 ~ATCHDOG EQU 0AH: BYTE ; W WATCHDO6 T]NER
100A 43 TI~ERI EOU ~AH: ~ORD ; R TlHER 1 HJL
S00C 44 TIMER2 EQU 0CH: ~ORD ; R TINER 2 HXL
a~8E 45 BAUD_RATE E W OEH: 5YTE ; W 3qUD R~TE ~L FOR SER]AL
IIIE 46 IOPORTO EQU OEH: BYTE ; R PORT ~ RE6.
~ItF ~7 IOPORTI EOU ~FHs EYTE ; RJH PORT I RE6.
IIIO ~8 IOPOR-T2 EQU ISHs EYTE ; R~ PORT 2 RE6.
9 SPSTAT E9U lIH: BYTE ; R SERIAL PO~T STATUS
IOII 5S SPS N EQU IIH: ~YTE ~ ~ SERIAL PORr CONTROL
bO15 51 IOC~ EQU ISH: BYTE ; ~ I/O CONTROL RE6. 8 .. 3q ~t~- N ~CRO ~SSE~BLER ~ PORT ~2 1 ~ ,? ~n ~ ~ ~ 6 11/15~86 18s29124 PA6E 2 ERR LOC OBJECT LINE SOURC STATEYENT
U 15 52 lOS0 EQU 15H BYT ; R I~O STATUS RE6~ 8 0116 53 IOCI EQU 16H 8YTE ; U I~O CONTROL R6 1116 54 lOSI EQU 16Hs BYTE ; R l/O ST~TUS RE6. 1 0117 55 P~LC NTRDL EQU 17Hs BYTE ; ~ P~ C M ROL RE6.
1118 S6 SP EQU 18H: UORD ; R~l STACK F~INTER
59 ; PROCEDURS
~3 PU8LIC BYTE6ET
U PU6LIC ECHOoN
~7 ; BUFFERS ~ND RE61STERS
69 PUBLIC OU~
7~ PUBLlC INLEN
~2q 74 RSEG AT 24H ;SERIAL PORT RE61STERS
la24 75 RX_PT DS~ 1 0026 76 6ET_PT DS~ t 1~28 77 TX_PT DS~ I
392A 78 PUT_PT: DS~ I
3B2C 79 lN PRT DS~ 1 012E 81 OUT_PRT DS~ I
1931 81 SP_FL~6S DSB I ;BIT a MODE
82 ;BlT 1 SEND
83 ;BIT 2 READY
8q ;81T 3 IN BUF FULL
;BIT 4 OT_BUF FULL
86 ;BIT 5 RE W
87 ;Blt 6 TR~N
88 ;81T 7 NOT USED
-~ 0132 91 TEHP0 DSB 1 3933 91 OT_C~R DSB I ;USED TO PUT CHAR IN OT_BUF
~035 93 CH~R2 DS8 1 0036 94 SLO~DO~N DSB 1 ; USED BY XON AND XOFF
1137 95 ALAR~ DSB 1 3161 97 RSE6 Al 061H ;I/O BUFFERS
l69 98 IN_BUF DSB 64 0aA9 99 OT_BUF DSB 8 40al lel DSE6 ~T 4~9~H ;IN / OUT BUFFERS
a61 1-2 IN? DSB 43 412B 113 OUT?: DSB ~3 U Dl 1 U DN E 0 IN7tl: NULL ; LOG~TION O1F DN
U 2C 115 OUrT EOU OUT7~1: NULL ; LOC~Tl N OF WT
4111 116 INLEN EDU IN?s BYTE ; LEN6TH OF IN
~628 117 OUTLEN EDU OU~?s BYTE ; LEN6TH OF OUT
1~8 . , , ~_~J~`~6 ~-96 ItACRO ASSEN~LER S_PORT ~2 1 11JlS/rB6 18~29 24 F~E 3 ERR LOC OBJECT LINE SDURCE STATENENT
109 ;................. ~
~09 111 CSE6 112 ; I~O SER800T PROCEWRE
11~ ;BqUDU~L EIIU 624 ; 311 ~UD
819C 115 eAUDUqL EW 156 ;1281 8AUD
~1~ ;BAUDVAL EQU ?7 ;2400 BAUD
117 ;BAUDU4L EIIU 38 ;48a0 BAUD
118 ;BqUOUAL EQU 19 ;9600 BAUD
llsa 119 8AUDH EQU (IBAUbUAL-1)/256) OR 80H
119B 123 BP~UDL EQU ~BaUWAL-I) NOD 256 00U 819B0E 121 LDB GAUD_Riq~ BAUDL
ea03 B180SE 122 LDB BAUD_R~TE,1BAUDH
8006 814911 124 LDB SPCON,11010alaalB ,EN RECIE~E NODE I
0809 c400a7 125 STB SBUF,a ;CLEAR SERIAL PORT
aa0c Bl2a32 126 LDB TEMP8,1a810~901B
080F B1603~ 127 LDB SP_FLAGS,~81118e80B
a012 A00324 12B LD RX_PT,8 ;SET POINTERS
0015 A0a826 129 LD GET_PT,I
1018 A0802B 130 LD TX_PT,II
181B A00a2A 131 LD PUT_P~,0 011E 500036 132LDBSLQI~DalN,0 0il21 Fa 134RET
136 ;...........................................................................J37;
200C 139 CSEG AT 201CH ; SERIAL PCRT INTERRUn ~JECTOR
~40 28tC 2230 R 141 D~ SERPORT_INT
143 ;..............................................................................
~44 ;............................................................................
~45 a022 146 CSE6 1022 F2 147 SERPORT_INT PUSHF
~48 3e23 B11131 149 RD_AGAIN lDB SPTENP, SPSTAT ; ORB TENP8,SPSTAT
0026 913132 151 ORB TENP0, SPTENP
0029 ?16a31 151 ANDB SnEMP, Hlla330aB ;I~KES SURE THAT Rl AND Tl 802C D7F5 152 JNE RD_A6AIN ;ARE CLEARED IN SPSTAT
la2E 914008 153 QRB IN~_MASK,Hlal0101B ; SET SER BIT IN I~ASK
~54 ~55 ;-------------...............................................................
15~
1031 363248 157 Rl_SET 8BC TENPI, 6, Tl_SET ; lF Rl-TB~P CLEARED
8034 W87~4 158 LDB CH~RI,S8UF
1037 717F34 IS9 ANDB Ct~l,101111111B ; SrRIP BIT 7 113~ 71BF32 IA ~00 ~,111111111B ; CW~ Rl FlA~
la ; . . . . . . . . ~ SH~K~NS . . . . . . . . .
S03D 991334 163 CEKDC3~ ~ CH~1,1~13H ; 'DC3' (XOFF)?0844 D~S 164 9NE OEK DCI
~/
' .
r~-96 ~PCRO ~SSEMB1ER S_PORT ~2.1 81~ W 86 18:29:2~ Pq~E
ERR LOC 08JEC~ LIK S~URCE STATE~ENT
N 42 71BF3R 165 AND8 SP_FLA6S,J10111111B ; CL6AR TRAN elT
0145 2-3J t66 BR CONTI
00~7 m l34 16B CEK_DCI: C~PB CH~Rl,~lIH ; DCI ~XoN)?
0a4A D7t5 169 NNE IEEP
It4C 9140311 171 ORB SP_FLA6S,UIII U t0B ; SET TRhN BlT
~72 1951 3B3027 176 KEEP: 3BS SP_FLAfS,3,CDNT0 ; lN_BUF FULL?
105~ C7246034 177 STR CH~Rl,lN_BUFtRX_PT] ; INSERT CHAR IN IN_BUF
0058 a724 178 INC RXLPT
0e5A 613F1324 179 AND RX_PT,J09111111B
~E 1736 180 INCB SLOWDOWN
e061 913430 181 ORB SP_FLAGS,#0B0B01018 ; SET READY FLA60B63 993236 182 CEK SLo~ C~PB SLoiDoJN,~S0 ; CHECK 1NL9UF SJ2E
0066 D113 183 8NH CoNT0 0e68 ?IDF31 184 ANDB SP_FLA6S,911011111B ; CLEAR RE N Bl~0068 812333 185 LDB OT_CHR,#13H ; SEND XOFF
006E EF3000 186 CALL OT_LD
0072 FA 188 Dl ~89 0073 982624 190 C~PB RXE n ,GET_ n BB78 910830 192 ORB SP_FLA65,J10001Btl0B ; SEI INLBUF FULL BIT
0078 FA 197 CONT0: D]
0e7C FA 201 Tl_SET: Dl aB7D 35321F 202 J8C TEMPB, 5, EXIT ; IF Tl-TE~P CLE~RED
0B80 31301C 2e5 J8C SP_FLA6S,I,EXIT ; SEND?
00B3 363019 206 BBC SP_FLA6S,6,EXIT ; TR~N?
B986 B329A00e07 207 LD8 S8VF,OT_BUFrlX PT] ; TRPNSMIT BYTE0~8B e728 20B INC lX_PT
008D 6107002B 209 AND TX PT,H 0001111B
a091 71DF32 213 ANDB TE~PI,J11011111B ; CLEAR Tl FLA60094 71EF31 211 ANDB SP_FLA6S,J11191111B ; CLEAR OT_8UF FULL FLA6 3097 8B2A2B 212 C~P lX n ,PUT_PT
019C 71FD39 21q ANDB SP_FLAGS,J11111111B ; CLEAR SEND FLA6 H 9F F3 218 EXl~: PDPf 18bl Fl 219 RT
r~S-96 ~PCRO ASSE~ELER S_PORT ~2.1 0 V1S/86 18:29t24 PA6E 5 ERR LDC 08JECT LnNE SDURCE STATE~ENT
223 ; . ...... . ............. . .... . .............. . . ..... . ..... ..................
22~
226 ; I/O OT_LD PROCEDURE
01Q1 227 DT_ W :
I A1 FB 228 OUE11 El IIR2 E13713 n 9 DENQ ALAR~,C_OI
19R5 914119 231 CRB INT_PENDIN6,101119~0~B
0aQB 3C30F6 231 C OI JBS SP_FLA6S,4,0UEI ; DT_BUF FULL?
Ia48 FA 232 Dl 8~QC C72BQ09833 233 ST8 OT_CHRICr_8UF~PUT_PT~ ; LOAD OT_8UF
90B1 022A 234 INC PUT_PT
a883 6107012A 235 AND PUT_PT,~010tllllL
IBB7 88282A 236 C~P PU~_P~,TX_P~
00b~ D733 237 BNE CoNT2 98BC 911033 238 ORB SP_FLAGS,403011000B ; SET OT_BUF FULL FLA6 10BF 91e230 240 CONT2 ORB SP_FLAGS,~00008010B ; SE~ S9ND FLA6 00C2 ~141a9 241 ORB INT_PENDING,~01000080B ; SET SER INT_PENDIN6 33C6 FB 243 El 0iC7 F8 245 RET
246 ; . . . . .
250 ; ]/O PUT SUBROUTINE
30C9 91FF08 253 ORB INT_~AS~,~llllllllB ; ENABLE ALL INT.
00CC A0002E 254 LD OUT_PRT,0 30CF B32F2C4033 255 NEXT2 -LD8 OT_CHR,OUT~OUT_PRT~ ; LOAD OT_BUF
10D4 2FCB 256 CALL OT_LD
a3D7 872E 258 INC OUT_PRT
81D9 9B012B482E 259 CMPB WT_PR~,OUTL~1 t0DE D7EF 261 BNE NEXT2 00E0 F3 262 LEA~E POPF
01El F0 263 RR
267 ; .. . . . . .~
26B ; ............ ......... . . . .. . . . . . . ...... .......... . .... .
273 ; I~O OET PROCEDURE
I E2 o6112C 27~ OET: LD INLP~T,6 H E5 276 NEX~T_CH~
BBE~ FB 278 ~AITI: El ~3 -~?~ 6 ~-96 ~0 ASSE1~8LER S_PûRT ~12.1 IL~ 86 18:29s2~ P~6E 6 ERR LOIC 08JECT LINE SOURCE STATE~lENT
t86 FD 2n NOP
tlE7 32311B 28~ C_WI: 88C SP_FLa6S,2,1~1~1 ; READY?
80EB B326~835 284 L~8 CHAR2,1~LBllF~6ET_PTl ; HOLD lLBUF
ItEF 0726 285 INC 6ET_PT
01F1 613Fe026 2B6 AND 6ET_PT,118111111B
IIF5 1536 287 DE~8 SLOl~DOllN
a8F7 71F730 288 ANDB SP_FLA6S,JllllltllB ; CLEAR IN_8UF FULL 81T
~0FA 882426 290 C~P 6ET_PT,RX_PT
39FD D783 291 BNE H~ND_SH
00FF 71FB3e 292 AND8 SP_FLA8S,-111110118 ; CLEAR READY FLA6 8182 3D380E 294 H~ND_SH: 88S SP_FLAGS,5,CEK8R~qK
8185 993236 295 CMP8 SLOWDOI~N,J58 al88 D989 296 8H CEK8REAK
018A 912138 297 ORB SP_FLAGS,J8~188880B ; SET REC~J 81T
818D 811133 298 LDB OT_CHR,JlIH ; 'XON' 8118 2F8F 299 CALL OT_LD
8112 F8 308 El 3~1 392 ; BREAK
8113 990034 303 CEKBREAK CMPB CHARl,Ja0H
0116 D71F 3~4 BNE CEKDEL
0118 A8882C 385 LD IN_PRT,0 ; CLEAR IN
3~6 0118 3830C7 387 3BS SP_FLA65,8,NEXT_CH ; NO ECHO
lllE FA 319 Dl 811F 810C33 318 LDB OT_CHR,118CH ; LOqD 'FF' 0122 2F7D 311 CALL OT_LD
0124 F3 312 El 0125 278E 313 BR NEXT_CH
315 ; . DELEIE CH~R
1127 997F35 316 CEKDEL CMPB CHAR2,J7FH ; 'DEL' 112A D735 317 8NE S`AVE
812C 88002C 318 CMP IN_PRT,8 0J2F DFBJ 319 BE NEXT_CH
0131 FD 328 NûP
11132 852C 321 DEC IN_PRT ; CLEAR CHAR FR~11 IN
1134 3830AE 323 BBS SP_FLA65,0,NEXT_CH ; NO ECHO
0137 FA 325 Dl 1138 B12033 326 LD8 OT_CHR,428H ; LOAD 'SPACE' 013B 2F64 327 CALL O~_LD
013E FB 329 El 33~
113F FA 331 Dl 01U B1t833 332 LD8 al~ ,H8H ; LO~D '8S' ;~ 1143 2F5~C 333 GqU OT_W
1146 FB 335 El 96 t~CRO ~SSB~LER S_PDRT U2~t 81/65/86 18:29:2~ M6E 7 ERR LûC ~tECT LINESOUROE STATEltB~
0147 FA 337 Dl 11U B11~3 338 LDB OT_CHR,R08N ; LaqD JBS' 014B 2F54 339 CALL aT_LD
OJ~9 FD 340 NOP
tl~E F8 341 EJ
014F FA 342 Dl 0150 B12133 343 LD8 O~_CNR,42~H ; LOPD 'SP~CE' 0153 2F4C 344 GqLL OT_LD
3156 FB 346 El 0157 FO~ 348 Dl 8158 810B33 349 LDB OT_CHR,1108H ; LDAD '8S' 015B 2F44 350 CALL OT_LD
015E F8 352 El 015F 2784 353 8R NEXT_CH
356 ; SAUE CHAR
0161 8926002C357 Sa'JE C11P IN_PRT,138 3165 D91q 358 8H OJERFLOl~
016? C72D01~035 359 5~8 CHAR2,!N~IN_PR~
116C 072C 360 INC IN PR~
016E 38301F 362 BBS SP_FLAGS,0,CEKCR ; NO ECHO
91?1 FA 364 EC Dl 0172 B03533 365 LDB OT_CHR,CHAR2 ; LO4D ECHO CH~RAC~ER
0175 2F2A 366 CALL OT_LD
0178 FB 368 El 1173 383012 372 WERFLOIJ BBS SP_FLA65,0,CEKCR
017C FA 373 Dl II?F B17C33 374 LDB OT_CHR,~7CH ; !O~D "' 0182 2FID 375 CALL OT_LD
0184 FD 3?6 NOP
0185 FB 377 El l86 FD 378 NOP
0187 FA 379 Dl 0188 B10833 38~ LD8 OT_CI~R,808N ; IOqD 'BS' 318B 2F14 381 CALL DT_LD
al8E FB 383 El 386 ; CR
019~ mD35 3B7 CELCRs CtPB CH~R2, 80DH ; CKCK FOR 'Cll' 1193 DF82274E 388 ! 17E NEX~
0In 383UD 3~ FLA65,8,6al~ ; NO ECIIO
3~
019~ FA 391 Dl 019B 918030 392 DRB SP_FLA6S,811110101B J SET END LINE BIT
.
~' ~C5-9~ ~PCRD P5~ LER S_POQT ~2.1 ~?.,~ 6 11R15/86 IB 29:24 Pq OE 8 E M LOC OBJEBT LINE SOURCE S~AlENENT
119E 81DA33 393 LDB OT_CHR,1~AH ; L~4D LF
91A1 2EFE 39~ CALL OT_LD
IIA~ FB 396 EJ
llA7 C70118412C 411 GSTTEN STB IN_PRT,lNLEN
91AC Fa 412 RE~
4~4 ~06 ; . . .
4~7 ; ..
40q ; IJO BYTEGET PROCEDURE
91AD 411 ~YTE6ET:
01AD F3 412 W41T2 El 11~F 3231FB 414 C_W2 BBC SP_F U6S,2,WAlT2 : READY?
91B2 FA 416 Dl 01B3 B3266035 417 LD8 CHAR2,1NLBUF~GET_PT] ; HOLD INLBUF
01B7 3726 418 lNC 6ET_PT
0189 613F0026 419 AND 6ET_PT,401111111B
~IBD 1536 423 DECB SLO~DoJN
0SBF 71F730 421 ANDB SP_FLA65,411113111B ; CLEAR INLBUF FULL BlT
01C2 C7012M 935 423 STB CH~R2,1N~41 ; BYTE IS LOG4TED AT lN1411 11C7 882426 425 C~P 6ET_ n ,RX_P~
01CC 71FB30 427 ANDB SP FLA6S,411111111B ; CLEAR READY BIT
IICF 3D300D 429 OK2 B8S SP_FLA6S,5,END_B_6ET
01D2 993236 430 C~PB SL3WDOJN,459 alD5 D9a8 431 8H END_B_GET
01D7 91203a 432 OR8 SP_FLAGS,990111391B ; SET RE N BIT
elDA B11133 433 LDB Ol_CHR,411H ; XoN
91DO 2EC2 434 G4LL OT_LD
4~5 91DF F0 436 END_B_6ET: RET
43~
438 ;. ..... .. .... ............ .... ..... . . . . ............ ..... .. .. .
439 ; ...... .... .............. .. . . . . ........... . . . . . . . .
llE6 44t CSE6 441 ; I/O PROCEDURE ECHW N
11E- F2 442 ECHOoN: PUSHF
31E1 71FE31 4~3 PNDB SP_FLP6S1IIIIIIIIIB ; ~ODE ~ 8 11E~ F3 444 POPF
11ES Fl 445 RET
448 ;....... ... ............... ..... .......... . . . ........ ............... ......
, ~
961~C1111 ASS8~LER S P09T ~12.6 61JtSJU 18:29 2~ PA6E 9 EIIR LOC 0~1ECT LINE S~UROE S~ATB1ENl ~49 ;....................... ~
~IE6 451 CSE6 452 ; IJO PROCEDURE ECHWFF
llE6 F2 453 ECHOOFF: PUS~
llE7 91-1311 454 ORB SP_FL~65,11~1111~S1116 ; ~O~E = 1 61EB F~ 456 RET
~57 ~58 ;..............................................................................
459 ;....................... ....................................................~
~1 EC 460 END
ASSENBLY C01PLE~ED, NO ERRORtS) FOUND~
:
.
~S-96 ~PCRO ASSE~8LER YLNbN6 ~1.1 IlJISJ86 18:31:43 PR6E
iNDX-S41 ~U2.8) ~CS-96 ~ M O ASSE~8LER ~1.0 SOVRCE FILE: :F8:NLN~N6.SRC
OBIECT FlLE: :F8:~LN~N6.08J
CONTRDLS SPECIFIED IN INUC&aTION CONM4ND: PRlNT~:F8:NLrAN6.LS~) ERR LDC 08BECT EINE SOUR OE STATaNENT
I ~TITLE ~ HLr~N6 ~1.1 ) 2 ~NOSY~80LS
5 ;
7 ; U.S.D.A. INSTRUNENTED SPHERE ~ ~ANG MODULE
8 ; 8097 HlCROtoNTROLER ~1.1 9 ; 1 V 21~85 8~K
1~;
Jl ;ABSTRACT: IHiS NODUlE HWNh6ES THE DATA NEMORY IN THE INSTRUN M ED SPHERE.12 13 ;..............................................................................
t5 ; Regis~er File Ne~orY Hap 0000 17 R8 EOU 08H: WORD ; R 0ERO REGISTER
0002 18 AD_ConHhND EOU 82H: 8YTE ; W A~D COMhAND RE6.
0002 19 AD_RESULT EQU 02N: WORD ; R A~D RESVLT H~L
30a3 20 HSI_~ODE EOU 23H: 8YTE ; W HSI MODE REG.
U 94 21 HSI_TJME QU a4H: ~ORD ; RJ~ HSI TIME LOl 0al6 22 HS LC~MqND EQU 06H: ~ORD ; i HS1 C~M~ND REG.
0016 23 HSl_STATUS EQU 16H: 8YTE ; R HSI STATUS RE6.
0007 24 SBUF EQU B7H: BYTE ; Rli SERIAL EUFFER XJRX
03a8 25 INT N~SK EOU 08H: 8YTE ; Rf~ lNTERRUPT ~ASK RE6.
0309 26 INT_PENDING EQU 09H: 8YTE ; R~J INTERRUPT PENDIN6 REB.001A 27 ~hTCHDOB EQU 8AH: 3YTE ; ~ ~ATCHDOG T]~ER
008A 28 TI~ERI EOU 9AU: UORD ; R TIMER I H/L
009C 29 TIHER2 EQU 0CH: WORD ; R TIHER 2 HJL
080E 31 8AUD_RATE EQU 8EU: 8YTE ; ~ BAUD RATE U4L FOR SERIAL
08eE 31 IOPOR~9 EQU 9EH: 8YTE ; R PORT 3 RE6.
003F 32 IOPORTI EQU 0FH: eYTE ; RJW PORT I RE6.
a019 33 IDPORT2 EQU 10H: BYTE ; RJ~ PORT 2 RE6.
0011 34 SPST~T EQU llH: BYTE ; R SERIAL PORT STATUS
3011 ~5 SPCGN EQU IIH: BYTE ; ~ SERIAL PORT CONTROL
0015 36 IOC3 EQU 15H: 8YTE ; W IJO CONTROL RE6. a 1015 37 IOS0 EQU 15H: BYTE ; R llO STATUS RE6. 3 0016 B8 IOCI EQU 16H: CYTE ; ~ V O CoNTROL RE6. 1 0016 39 IOSI EQU 16H: BY~E ; R l/O STATUS RE6. 1 1017 40 F~NLC M ROL EQU 17H: BYTE ; ~ P~N C M ROL RE6.
1018 41 SP EQU t8H: ~ORD ; R~U STACK POINTER
44 PUBLIC OPEN ; OPENS DATA BUFFER
45 PU8LIC CLOSE ; CLOSES 54TA BUFFER
46 PUBLIC BBUF ; 8E61t*1N6 OF ~E BUFF~
47 PUBLlC I~UF ; LEN6~H OF ~E BIFF~
U PUBLIC D_t~KI ; BJFFER lNWt 49 PUBLIC D_INX2 ; BUFPER INWI
51 PUi0LIC STOR_Lltl ; STORAOE LWT OF TNE BUFFER
51 PUBLIC LCNEK ; BUFFER LB~H COINIER
~x-96 I~CRO ASS~LERILN~ ;26 11~ISJ86 18:31:43 PA6E 2 EM LOC DBJECT LINE SOURCE STATE~IENT
llat4 54 8BUF: DSW IH ; BE61NNIN6 DF BUFFER
8U2 55 LBUF: D~ lN ; LEN6TH OF BlFFER
8154 56 D_]NXls DSII IN ; BUFFE2 INDEX tNE
3686 57 D_INX2: DS~ IH ; BUFFER INEX TllO
81118 58 STOLLlt~: DSW lH ; STOIIA6E Ll~lT OF THE E~FtER
ll~ 59 LCtEK: DSI~ IH ; BUFFER LEN6TH COINTER
61 ;. . .............................. .....
64 ; FILER PROCEDURE OPEN
93 65 OPEN:
a89t A18~94 R 67 LD D_INXI,BBUF ;SET D_INXI AT THE BEGINNIN6 ~F
;DA~A BUFFER
88a8 A8388A R 69 LD LCHEK,STORLIH ;SET EUFFER LENGTH CDUNTER TO
78 ;STORLIN
~t86 A88882 R 71 LD L8UF,B ;SET 8UFFER LEN6TH TO ZERO
~2 74 ; . ~ . . . .
75; . .. . . .
l~aA 76 CSE6 77 ; FILER PROCEDURE CLOSE
llaA 78 CLOSE
11~ 48800412 R 79 SUB LBUF,D_lNXl eBUF
89eE Fl 81 RET
82; . . . ..
81aF 85 END
ASSE1~8LY C011PLETED, NO ERROR~S) FOU~D
.
.
~?.,C.`~6 PLtN-96 CSNPILER DISPLAY YODULE Vl.2 1Ifl6/85 23:55:38 PA6E
iNDX-S~t ~2.8~ P V Y-96 Vl.O CD~PILATI~N OF ~DULE DISP_N
08JECT NODULE 6L~CED IN :F8:DlSPLAY.DEW
COMPJLER IN40KED 8Y: PLm 6 :F8:DlSPLaY.SRC COOE PRINT~:F8:DISPLAY.LST) ~TIJLE ~'DISPLqY MDDULE ~1.2') .............................................................................
U.S.D.A. INSTRU~ENTED SPNERE DISP AY HaDULE
FOR TNE 8897 ~lCROC M ROLER ~1.2 lBX1/B5 BAK
A8STACT: THIS ~DDULE CONTAINS BOTN TNE PROCEDURES DISPLAY AND B_T L H. THE
PROCE W RE DISPLAY ~ILL DISPL~Y A PA6E OF ME~ORY ON A 4C CHARACTER ~lDE
TER~INAL SRCEEN E~CH TINE 'D' lS RECIEVED. THE STARTtN6 ~DDRESS lS 4~8~H.
A 'E' lS REOUIRED TO EXIT THE DISPLAY NDDE. ECHO IS TURNED OFF ~HILE IN
DlSPLaY ~ODE. THE PROCEDURE B_T L H UHICH CON~ERTS A BINARY BYTE TO HEX
NOTaTl ...... , ~FAST~12) I DISP_~: DO; /~BE61NNING OF DISPLAY MODULE~/
/~DECL~RE PROCEDURES ANO U~RIABLES~/
2 I PUT: PROCEDURE EXTERNaL; /~OUTPUT ROUTINE~/
3 2 END PUT;
4 l 6ET: PROCEDURE EXTERNAL; /~1/0 ROUTINE~/
5 2 END 6ET;
I DECL~RE IN(42) BYTE EXTERNAL SL31;
7 I DECLARE OUT(42) BYTE EXTERNAL SLO~;
8 I DECLARE INSLEN BYTE EXTERNAL SLO~;
9 I DECLARE OUT~LEN ~YTE EXTERN~L SLO~;
le I DECLARE CHR BYTE;
Il I DECLARE K BYTE;
12 I DECLARE I BYTE;
23 I DECLARE E BYTE;
14 I DECU RE BIN BYTE;
15 I DECLARE HEXL BYTE;
16 I DECLARE HEXH BYTE;
17 I DECLARE DISP BYTE;
18 I DECLARE ~IT BYTE;
19 I DECLARE NENINX ADDRESS;
28 I DECLARE YEN 3dSED NENINK BYTE;
21 1 DECLARE N(2) EYTE AT ~.NENINK);
K~START PRCCEDURE DISPLAY.................................................... ~/
22 I DISPLAY: PROCEOU~E PUBLIC;
~'0 1~96 CI~PlLER D1!;PLAY NODULE Vl.2 11flU85 23~ 38 PA6E 2 23 2 IflNlN~ = 41tlH; /~S~AR~ ADDR~SS~/
24 2 DISP ~ 8FFH;
2S 2 DO UHlLE DlSP; J~8E61NNIN6 OF ~141N LOOP FOR DISPLAY~
26 3 Oln$LEN = l;
X~OUrPUT CR ANO LF{/
27 3 OUT~O) S IDH;
28 3 C,~LL PU~;
29 3 OUT(t) = 8AH;
39 3 G~LL PLT;
J}PUT 6ESINNIN6 ADDRESS ON SCREEN FOR P~8E~/
31 3 81N = ~1(1);
32 3 CALL B_TQH;
33 3 OUT(~) = HEXH;
34 3 C~LL PUT;
35 3 OUT(a) = HEXL;
36 3 CPlL PUT;
37 3 81N = M~a);
38 3 CALL B_TLH;
39 3 OUT(8) = HEXH;
49 3 CALL PUT;
41 3 OUT(01 = HEXL;
42 3 CALL PUT;
/~OUrPL~ CR AND LF*/
43 3 OlJT(e) = ~DH;
44 3 ~LL PUT;
4S 3 OUT(I) = ~4H;
46 3 ~qLL PllT;
47 3 DO K=0 TO aFH; J~PA6E LDOP3lJ
48 4 DO 1=0 TO 7; /~IL]NE LOOP~J
49 5 DO E=a TO l; /~P~IR 8tTES LOOP~/
5a 6 81N = ~1EH;
51 6 CALL B_TQH;
52 6 OUT(e) = HEXH;
53 6 CALL PU~;
54 6 WT(a) = HEXL;
55 6 CALL PL~;
56 6 ~1EI~INX = ~1ElllNXtl;
57 6 END;
58 5 OLrr(a) = 28H;
59 5 CALL PUT;
69 5 END;
61 4 OUT~t) = 8DH;
62 4 ~LL PUT;
~3 ~ our(~ H;
U ~ BO;
/~lT FOR El~ER 1~ ~D- OR 'E~ CW~ER~/
65 3 ~1~ ~ IFFH~
66 3 W l~HlLE l~
~--l .
PLXY-Y6 Co~PILR DISPt~Y ~COULE ~1.2 It/l U 8S 23:~S:38 Pn6E 3 67 4 C~LL 6ET;
U 4 IF IN~t)5 E lHEN
69 4 DO;
71 5 DISP = I;
71 S W~ 8;
72 5 END;
73 4 lF IN(9)= D ~NEN
74 4 DO;
75 5 ~IT - IH;
76 5 ENID;
77 4 END; X~END ~RIT WHILE}X
78 3 END; /~END DISP ~HlLE~X
?9 2 END DISPL~Y;
X~END PRDCEDURE DISPLAY.~.~... ~............................................. ~/
X~S~RT PROCEDURE B_~O_H.................................................... ~/
8a I B_TO_H: PROCEDURE PUBLIC;
81 2 HEXL = BIN AND 0009JlllB;
82 2 IF HE~L~=9 THEN HEXL = HEXL 8SH;
84 2 ELSE HEXL = HEXL ~ 37H;
85 2 HEXH = SHR(~BIN ~ND 11110009B) 4);
86 2 IF HEXH~=9 THEN HEXH = HEXH 3tH;
88 2 ELSE HEXW - HEXN ~ 37H;
89 2 END aT Q H;
/~END PROCEDURE B_TO_H.......................................................
9t I END DISP_Y;
~: `
,:
`:
Fl~r~96 C~HPILER DlStLAY NOOULE ~1 2 ~-` 6~ 6 11X16~8S 23 SSs3B PA6E 4 ASSENBLY LISTIN8 ~F O~JECT C WE
; STATENENT 22 ; STATENENT 23 0000 A10041t0 R LD ~ENINK,14010H
; S~ATEHENT 24 9 U q BlFFa9 R LD'0 DISP,D8FFH
; STATENEHT 25 00~ ~0001:
0807 38090220E4 R ! BBC DISP,1H,~0092 ! BBS DlSP,0H,~t5H
! BR ~0082 ; STATENENT 26 090C 81011C LDB TNP3,11H
00aF C70100001C E STB TMP0,0UTLEN
; STRTENENT 2?
0014 B10DIC LDB THP0,10DH
0017 C70100001C E STB TNP0,0UT
a01C EF0000 E CALL PUT
; 5TATEMENT 29 001F' B10AIC LDB TNP0,~0AH
0022 C7~100301C E STB TNP~,OUT
; S~TEN M 30 0t27 EF0093 E CALL PUT
; S~ATEM M 31 002A Ba0106 R LD8 51N,MtlH
; S~ATENENT 32 a02D 28C2 CALL 8_T LH
; STATENEHT 33 012F C701~0a08 E ST8 HEXH,OL~
; STATENENT 34 ; STATENENT 35 0037 C731000007 E STB HEXL,OUT
; STATEMENT 36 ; S~ATENENT 37 003F B0~006 R LDB 81N,N
; S~ATEMENT 38 0e42 28AD CALL aT L H
; S}ATENENT 39 ac44 C7el000098 E STB HEXH,WT
; STATENENT 4 8049 EF3e3~ E CALL PUT
; STATEHENT 41 809C C701000e07 E STB HEXL,OUT
; S~ATENEN7 42 0051 EF00~0 E CALL PUT
; STATENENT 43 e054 B10DlC LDB TrPl,JlDH
U 5? C711~talC E STB lYPl,OUn ~ STAlEYENT *
1t X EFlltl E CoiL PUT
~ S,~lE~EHT 45 115F Bl~AIC LDB l~PI,4~QH
0062 c70l0e0alC E sr8 ~P0,0UT
PLJr-96 COtPlLER DIS~AY ~COULE ~1.2 IIK16JB5 23:55:3B P~SE 5 ASSENBLY LlSTlN6 OF Da~E~T CODE
; STATE~ENT ~6 006? EFtll0 E C~LL PUT
; STATENENT 4B
9a6c ~U t3:
016C 991F13 R C~t~8 K,t0FH
el6F D95B BH 7011~
; STATENENT 49 1071 110~ R CLRB
0973 ~05:
0073 990714 R CNP8 1,t7H
; STATE~ENT 50 00?A ` ~0B07 097A 990105 R CNPB E,~IH
t07D D91E BH ~a008 007F B20006 R LDB BlN,lNE~lNX]
; 5T~EMEN~ 51 0082 286D CALL 8_~0_H
; STATEMEN~ 52 0084 C701000008 E STB HEXH,OUT
; STATENENT 53 ; STATEM M 54 a0BC C701000~07 E STB HEXL,OUT
; STATENENT 55 ; STATEH M 56 a074 071a R INC HE~INX
; STATEHENn 57 aaq6 17a5 R INCB E
3098 980500 R CHPB R8,E
; STATEHENT 58 109D B12~1C LDB TNP0,~20H
0~A0 C79100001C E 5TB T~P0,0UT
; STPTEHEhT 59 0aA5 EF0000 E CALL PUT
; STATE~EN7 61 10AA 98a400 R CHFB R0,1 00AD D7C4 BNE ~0e05 00AF 70106:
; STATEHENT 61 00AF B10DIC LDB THPt,09DH
00B2 C701000alC E STB THP~,OUT
; ST~TEYENn 62 ; STATEPENT 63 H 0~ BIIAlC LD0 T~F1 "I~H
10~D C7tltllllC E SrB 1NFl,ol~T
; STATE~ENT U
8tC4 98e3H R CHPB Rl,K
F1~r~96 Co~PILER DlSPLAY NOOULE ~1.2 ~ 6 1-~16JB5 23~55:3B P~6E 6 ASSENBLY LlSTlN6 OF 09JECT CDDE
0ec7 D7A3 BNE 7~013 ~C9 70014 ; STATENENT 6S
10C9 BIFF0A R LDB ~lT,SnFFH
; STATEffENT 66 ~0CC 700~9:
00CC 3~0AIF R 8BC ~AlT,0H,7000A
; STAlE~ENT 67 10CF EF0a00 E CALL 6ET
; STATENENT 68 ~0D2 83el0e00tC E LD8 l~P0,1N
00D7 994SIC O~PB ~NP0,~45H
00D~ D?04 BNE 7e03B
; STATE~EHT 70 10DC 1109 R CLRB D]SP
; STATEMENT 71 08DE ll~A R CLRB ~AIT
; STATE~ENT 73 00E3 7~00B
00E0 8301ae001C E LDB ~NP3,]N
00E5 99441C CNPB TNPe,~44H
90EB D732 ~NE 7000C
; STATENENT 75 10EA 110A R CLRB ~IT
; STATENENT 77 ; S~ATEHEHT 7B
00F0 73002:
; STATEMENT 79 0aF0 F0 RET
; STATENENT B0 00FI B_T Q H:
; STATEN M 81 00F1 510F0607 R ANDB HEXL,BIN,~0FH
; STA~E~ENT 82 0aF5 990907 R CMPB HEXL,~9H
; STATEMENT 83 00FA 75300? R ADDB HEXL,130H
; STA~EMENT 84 00FF 75370? R ADDB HEXL,~37H
; STATENENT 85 1102 5IF0061C R AND8 TM n ,BIN,~0F0H
0116 811C08 R LD8 HEXH,T~Pa 1119 18~ U 8 R SHR8 HEXH,14N
; STAlE~n31T 86 C mn8 R O~P8 HEXN,S9H
010F D ~ 5 8H 7~61F
; SrATENENT 87 1111 753008 R ADD'8 HEXH~130H
~ $~
PL~-96 COnPlLER DlSPlAY NIOtLE ~1.2 ~S~Q~ 6 IIJI U 8S 23:5S:38 P~6E 7 ASSENBLY LISTlNæ OF 08JECT CODE
tll4 2~t3 BR ~I91~
; STPTE~ENT 88 ~ IU F:
1116 753~t8 R ADDB H~XH,23?N
; STA E~EN7 ~9 ~ 81~:
tll9 Ft RET
; STATE~ENT 9 END
MODULE INFOR~ATION:
CODE AREA S12E = tll~N 282D
CONS~NT AREA S]2E = ~888N aD
D~TA AREA S12E - taltH ~D
STaTlC REGS AREA S12E = 8a08H lID
OVERL~YA8LE RE6S AREA S]2E = 9tetH 8D
~QXl~UH STACK S]ZE = ~8t2H 2D
IS8 I]NES READ
PV M-96 Co~PJLATlON CoMPLETE. 9 ~ARNINGS, t ERRORS
, .
rL~N-96 CO~PILER R D4TA ~1.3 ~,s~ 6 1IJ15/86 18:29:U P~6E
iNDX-S41 ~2.8) PLtY-96 ~1.1 Co~PlLATlON OF ~D WLE R DATA
OBIECT NODU~E PLqCED lN :F8:R D~A.OW
CD~PILER INNDKED BY: PU~96 :FS:R DATA.SRC CODE PRINT(:F8:R DATA.LST) SFAST(I) STITLE ~- R DATA Vl.3-) ~.............................................................................
U.S.D.~. lNSTR WENTED SPHERE R DATA ROUTlNE
FOR THE 8~97 NlCROCONTROLLER ~1.3 D1~95/B6 E~AK
ABSTRACT: THIS ROUT1NE IS C3N~ENCES DA~A COLLECTl~ WHEN C~LLED BY SETTING IHE
RECORD FL~6, SETTlN6 TIMlNG PARA~ETER AND SETTING THRESHDLD LE~ELS.
................................................................... ,.... ~/
I R DqTA: DO; /~BEGINNlNG OF MODULE~/
2 I DECLARE RECORD BYTE EXTERNRL;
3 I DECLARE AW_T WORD EXTERNAL;
4 I DECLARE ADl_T ~ORO EXTERN~L;
5 I DECLARE AD2_T WORD EXTERNAL;
6 I DECLARE RSET_T WORD EX~ERNAL;
7 1 DECLARE ~RIGGER BYTE EXTERN~L;
8 I DECLARE NEGTRES BYTE EXTERNAL;
9 I DECLARE POSTRES EYTE EXTERNAL;
Il I DECLARE B8UF WORD EXTERNAL;
Il 1 DECLARE STO RLl~ WORD EXTERNAL;
12 1 6ET: PROCEDURE EXTERNAL;
13 2 END GET;
14 I PUT: PROCEDURE M ERNAL;
15 2 END PUT;
16 I DECLARE IN(42) 8YTE EXTERNAL SLOW;
17 I DECLARE OUT~42) BYTE EXTERNAL SLOW;
18 I DECLARE lN~LEN BYTE EXTERNAL SLOW;
19 I DECLARE OUTSLEN BYTE EXTERNAL SL3W;
20 I HSL STR: PROCEDURE EXTERNAL;
21 2 END HSQ STR;
22 I RSDATA: PROCEDURE PU8LlC; /~PROCEDURE TO S~ART DA~A COLLECTION~/
/~EE61N PROCEDURE~/
23 2 ChLL ~ WB~.~'R DAT~ ~1.3 Il/a V g6 B~K',IDH,IAH),.OUT,31);
24 2 OUT~LEN = 31;
25 2 C~LL PUT;
26 2 CALL 6ET;
PL~96 ClPQlLER R~TA ~1.3 4 ~ 11/S~86 18:29:44 PA6E 2 22 2 IF IN(8~ = '6' THEN.
28 2 DQ;
J~SET UP TR166ER 'JARIA8LES*I
29 3 TRlG6ER = IH;
31 3 NE6TRES = 08H;
31 3 POSIRES = a6N;
/fSET UP S~Y1PLE TlMlN6*/
~2 3 ADt_T = 0C8H;
33 3 ADl_T = 12CH;
34 3 AD2_T = 198H;
35 3 RSET_T = IF4H;
~fSET UP D.qTA S~0~9GE~J
36 3 B8UF = 4138H:
37 3 STORLIM = 2QQQH;
JfSET IN ACTlONf~
38 3 CALL MOV8~.~'DATA COLLECTION STARTED-',8DH,aAH),.OUT,26);
39 3 OUT$LEN = 26;
4Q 3 CALL PUI;
41 3 RECORD = IIIIIIIIB;
42 3 CALL HSO_STR;
43 3 END;
44 2 JF lN(8) = 'Q' THB~
45 2 DO;
46 3 RECORD = 06303el8B;
47 3 CALL MO~)8~ DATA COLLECTION STOPPED',~DH,8AH),.CLiT~26~;
48 3 OUTSLEN = 26;
49 3 CALL PUT;
50 3 END;
51 2 CqLL MWB~.~'EXITING RDA~',8DH,~AH),.OUT,16);
~: 52 2 OUT LEN = 16;
53 2 CALL PUT;
54 2 END RSDATA;
55 I END ROATA; /~IEND OF MODULE*/
:
~ .
P J r96 CoYPlLER RD4TA ~1.3 I V15/86 18:r9:U P~$E 3 ASSE~BLY LlSTIN6 DF DBJECT C~DE
; STATEHENT 22 0163 R~ATA
; STATEHENn 23 0163 BIJFIC LDB TNFt0~11FH
1166 A144111E R LD THP2,677LoN6 C3NS~ANTS U 44 006A A1009023 E LD TNP4~10LIT
096E B21FID LDB TNPl,lTNP21t 00?1 C6211D STB TNPl,lTHP4 1074 EllCF7 D8N2 TNPI~3a313 ; STA7ENENI 24 0077 BIIFIC LDB TNPa,~lFH
0a7A C79109001C E STB TMP8,0LnLEN
; STATEHENT 25 007f EF900t E CALL PL~
; S~ATEMENT 2 ; STATEHEN~ 2?
0085 B30100001C E LDB I~P0,1N
008A 99471C GMP8 TNP0,~47H
; STATEHENT 29 908F C70109B000 E STB R0,TRIGGER
; STA~EHENT 30 9094 C7010000B0 E STB Ra,NEGTRES
; STATEMEN~ 31 9099 B~061C LDB TMP01D6ff 009C C70100001C E STB THP0~POSTRES
; ST~TE~ENT 32 00AI ADC81C LDBZE TNP0~0C8H
00A4 C30100081C E ST T~PI,aD0_T
; STATE~ENT 33 90A9 A12C011C LD THP0~112CH
00AD C30100011C E ST TNP0,ADI_T
; STATEMENT 34 0082 A190011C LD T~P0~190H
00B6 C30i00001C E ST THP3,AD2_T
; STATEM M 35 008F C3010000lC E ST TNP0~RSET_T
; S~ATEN M 36 00C4 A100411C LD TNP0,UllaH
10C8 C31109991C E ST ~NP9~BBUF
; STATENENT 37 10CD A10a201C LD T~P114200lH
19DI C30190091C E ST TNP0~STO RL]N
; STATEMENT 38 99D6 BlIAlC LDB THP0~41AH
90D9 A12A001E R LD THP2~177LON6$CoNSTANT 002A
30DD A1000120 E LD T~P4~0UT
IIE1 70114:
~IEI P21FID LD8 T~Pl~tTNp2~t IIE4 C6211D STB TMPI~lTrP
10E7 EIICF7 DTNZ ~P8,~il U
; STATENENT 39 IIEA BllAlC LDB T~PI,IIAH
~9 P~nr96 CotPlLER R DATA ~1 3 11/15/86 IB:29:M Rq6E 4 ASSEMBLY LISTIN6 OF 08JECT CO~E
10ED C7tltl811C E STB TMP~,OUTLEN
; STATENENT U
; STATEtENT 41 18F5 BlFF~C LDB TNP8,18FFN
88F8 C711888elC E STB TNPa,RECORD
; STATENENT 42 18FD EF8e88 E CALL HSL STR
; STATENENT 44 818~ ~98~1 9188 BB8138881C E LDB THP8,1N
8185 99511C CNPB THP9,t51H
8188 D727 BNE ~0032 ; ST~IE~ENT 46 91~A 81921C LDB I~P0,~2H
010D C7~180801C E STB TNPa,RECORD
; S~A~EMENT 47 ell2 Bll~lC LDB TMP0,JIAH
1115 All~a~lE R LD TNP2,~LQN63CoNSTANTS9818 8119 Ala8~020 E LD TNP4,#0UT
011D ~8095 011D B21FID LDB T~PI,[T~P2~-9128 C6211D STB TNPI,~TNP41 t 0123 E01CF7 D8NZ T~PI,~005 ; STA~ENENn 48 0126 BllAlC LDB TNP8,JIAH
9129 C7110~001C E STB TMP8,0UTLEN
~ ; S~ATENENT 49 ; STATEMEN7 51 8131 ~8882 8131 B1101C LDB TMP0,J18H
0134 A1~9081E R LD T~P2,#37LoNG5CoNSTANTS~0Ja 8138 A118002a E LD IMP4,JOUT
913C ~0086 013C B21FID LDB TNPl,lTNP2~-013F C6211D STB TMp~ Mp4]t al42 E81CF7 DBN7 TNP0,78886 ; STA~ENENT 52 8145 B1181C LDB TNP9,118H
0148 C781~8801C E STB TNP8,0UTLEN
; STATENENT 53 014D EFa888 E CALL PUT
; STATENENn 54 al58 Fl RET
; STATE~ENT 55 END
MOOULE INFOR~ATJ N :
C40E AREA SIZE = IIEEH 238D
W NSTANT AREA SIZE= H 63H 990 DqT~ AREA SIZE = 8SH H ID
STATJC REGS AREA S17E = 8a8aH ID
G
v~96 CIJ~ A~A ~Jl.3 ~ 6 11/lS/86 18:29tU PA6E 5 ASSE~IBLY L1511N6 OE 08JECT CODE
WERLqYRl~LE RE6S AR6~ SIZE = IIOIH ID
N~XIM~ SlP~CK SIZE = OOS2H 2D
9~ LINES READ
PL/1~-96 CO~ JIN COlPLETE. I l~ lNqS, I ERRORS
(ol ~a-96 t~CRO AS~B~BLER HSOINT ~12.b IIJI~/86 t8:3ttb9 PA6E
iNi~t-S41 (V2.8) ~S-96 IWCRO ASSB~BLER Vl.b SWRCE FILE: F8:HSOINT.SRC
OBJECT FILE: :F8 HSOINI.OBJ
CIN~ROLS SPECIFIED IN INJ~TIW Cl~t~MD PRlNT( F8:HSOlNT LST) EM LDC O~JECT LINE SOURCE STATE~ENr nlTLE ~'HSOINT V2.1-) 2 ~S~LS
4 HSOINT ~tûDULE STACKSIZE(10) 5 ;............................. ..............
6;
7 ; U S D A INSTRUI~ SPHERE HSO INTERRUPT ROUrlNE
8 ; FOR THE 8097 ~ICROCONTROLLER ~2 0 9 ; P1~05/86 BAK
19;
; STATE~ENT U
8tC4 98e3H R CHPB Rl,K
F1~r~96 Co~PILER DlSPLAY NOOULE ~1.2 ~ 6 1-~16JB5 23~55:3B P~6E 6 ASSENBLY LlSTlN6 OF 09JECT CDDE
0ec7 D7A3 BNE 7~013 ~C9 70014 ; STATENENT 6S
10C9 BIFF0A R LDB ~lT,SnFFH
; STATEffENT 66 ~0CC 700~9:
00CC 3~0AIF R 8BC ~AlT,0H,7000A
; STAlE~ENT 67 10CF EF0a00 E CALL 6ET
; STATENENT 68 ~0D2 83el0e00tC E LD8 l~P0,1N
00D7 994SIC O~PB ~NP0,~45H
00D~ D?04 BNE 7e03B
; STATE~EHT 70 10DC 1109 R CLRB D]SP
; STATEMENT 71 08DE ll~A R CLRB ~AIT
; STATE~ENT 73 00E3 7~00B
00E0 8301ae001C E LDB ~NP3,]N
00E5 99441C CNPB TNPe,~44H
90EB D732 ~NE 7000C
; STATENENT 75 10EA 110A R CLRB ~IT
; STATENENT 77 ; S~ATEHEHT 7B
00F0 73002:
; STATEMENT 79 0aF0 F0 RET
; STATENENT B0 00FI B_T Q H:
; STATEN M 81 00F1 510F0607 R ANDB HEXL,BIN,~0FH
; STA~E~ENT 82 0aF5 990907 R CMPB HEXL,~9H
; STATEMENT 83 00FA 75300? R ADDB HEXL,130H
; STA~EMENT 84 00FF 75370? R ADDB HEXL,~37H
; STATENENT 85 1102 5IF0061C R AND8 TM n ,BIN,~0F0H
0116 811C08 R LD8 HEXH,T~Pa 1119 18~ U 8 R SHR8 HEXH,14N
; STAlE~n31T 86 C mn8 R O~P8 HEXN,S9H
010F D ~ 5 8H 7~61F
; SrATENENT 87 1111 753008 R ADD'8 HEXH~130H
~ $~
PL~-96 COnPlLER DlSPlAY NIOtLE ~1.2 ~S~Q~ 6 IIJI U 8S 23:5S:38 P~6E 7 ASSENBLY LISTlNæ OF 08JECT CODE
tll4 2~t3 BR ~I91~
; STPTE~ENT 88 ~ IU F:
1116 753~t8 R ADDB H~XH,23?N
; STA E~EN7 ~9 ~ 81~:
tll9 Ft RET
; STATE~ENT 9 END
MODULE INFOR~ATION:
CODE AREA S12E = tll~N 282D
CONS~NT AREA S]2E = ~888N aD
D~TA AREA S12E - taltH ~D
STaTlC REGS AREA S12E = 8a08H lID
OVERL~YA8LE RE6S AREA S]2E = 9tetH 8D
~QXl~UH STACK S]ZE = ~8t2H 2D
IS8 I]NES READ
PV M-96 Co~PJLATlON CoMPLETE. 9 ~ARNINGS, t ERRORS
, .
rL~N-96 CO~PILER R D4TA ~1.3 ~,s~ 6 1IJ15/86 18:29:U P~6E
iNDX-S41 ~2.8) PLtY-96 ~1.1 Co~PlLATlON OF ~D WLE R DATA
OBIECT NODU~E PLqCED lN :F8:R D~A.OW
CD~PILER INNDKED BY: PU~96 :FS:R DATA.SRC CODE PRINT(:F8:R DATA.LST) SFAST(I) STITLE ~- R DATA Vl.3-) ~.............................................................................
U.S.D.~. lNSTR WENTED SPHERE R DATA ROUTlNE
FOR THE 8~97 NlCROCONTROLLER ~1.3 D1~95/B6 E~AK
ABSTRACT: THIS ROUT1NE IS C3N~ENCES DA~A COLLECTl~ WHEN C~LLED BY SETTING IHE
RECORD FL~6, SETTlN6 TIMlNG PARA~ETER AND SETTING THRESHDLD LE~ELS.
................................................................... ,.... ~/
I R DqTA: DO; /~BEGINNlNG OF MODULE~/
2 I DECLARE RECORD BYTE EXTERNRL;
3 I DECLARE AW_T WORD EXTERNAL;
4 I DECLARE ADl_T ~ORO EXTERN~L;
5 I DECLARE AD2_T WORD EXTERNAL;
6 I DECLARE RSET_T WORD EX~ERNAL;
7 1 DECLARE ~RIGGER BYTE EXTERN~L;
8 I DECLARE NEGTRES BYTE EXTERNAL;
9 I DECLARE POSTRES EYTE EXTERNAL;
Il I DECLARE B8UF WORD EXTERNAL;
Il 1 DECLARE STO RLl~ WORD EXTERNAL;
12 1 6ET: PROCEDURE EXTERNAL;
13 2 END GET;
14 I PUT: PROCEDURE M ERNAL;
15 2 END PUT;
16 I DECLARE IN(42) 8YTE EXTERNAL SLOW;
17 I DECLARE OUT~42) BYTE EXTERNAL SLOW;
18 I DECLARE lN~LEN BYTE EXTERNAL SLOW;
19 I DECLARE OUTSLEN BYTE EXTERNAL SL3W;
20 I HSL STR: PROCEDURE EXTERNAL;
21 2 END HSQ STR;
22 I RSDATA: PROCEDURE PU8LlC; /~PROCEDURE TO S~ART DA~A COLLECTION~/
/~EE61N PROCEDURE~/
23 2 ChLL ~ WB~.~'R DAT~ ~1.3 Il/a V g6 B~K',IDH,IAH),.OUT,31);
24 2 OUT~LEN = 31;
25 2 C~LL PUT;
26 2 CALL 6ET;
PL~96 ClPQlLER R~TA ~1.3 4 ~ 11/S~86 18:29:44 PA6E 2 22 2 IF IN(8~ = '6' THEN.
28 2 DQ;
J~SET UP TR166ER 'JARIA8LES*I
29 3 TRlG6ER = IH;
31 3 NE6TRES = 08H;
31 3 POSIRES = a6N;
/fSET UP S~Y1PLE TlMlN6*/
~2 3 ADt_T = 0C8H;
33 3 ADl_T = 12CH;
34 3 AD2_T = 198H;
35 3 RSET_T = IF4H;
~fSET UP D.qTA S~0~9GE~J
36 3 B8UF = 4138H:
37 3 STORLIM = 2QQQH;
JfSET IN ACTlONf~
38 3 CALL MOV8~.~'DATA COLLECTION STARTED-',8DH,aAH),.OUT,26);
39 3 OUT$LEN = 26;
4Q 3 CALL PUI;
41 3 RECORD = IIIIIIIIB;
42 3 CALL HSO_STR;
43 3 END;
44 2 JF lN(8) = 'Q' THB~
45 2 DO;
46 3 RECORD = 06303el8B;
47 3 CALL MO~)8~ DATA COLLECTION STOPPED',~DH,8AH),.CLiT~26~;
48 3 OUTSLEN = 26;
49 3 CALL PUT;
50 3 END;
51 2 CqLL MWB~.~'EXITING RDA~',8DH,~AH),.OUT,16);
~: 52 2 OUT LEN = 16;
53 2 CALL PUT;
54 2 END RSDATA;
55 I END ROATA; /~IEND OF MODULE*/
:
~ .
P J r96 CoYPlLER RD4TA ~1.3 I V15/86 18:r9:U P~$E 3 ASSE~BLY LlSTIN6 DF DBJECT C~DE
; STATEHENT 22 0163 R~ATA
; STATEHENn 23 0163 BIJFIC LDB TNFt0~11FH
1166 A144111E R LD THP2,677LoN6 C3NS~ANTS U 44 006A A1009023 E LD TNP4~10LIT
096E B21FID LDB TNPl,lTNP21t 00?1 C6211D STB TNPl,lTHP4 1074 EllCF7 D8N2 TNPI~3a313 ; STA7ENENI 24 0077 BIIFIC LDB TNPa,~lFH
0a7A C79109001C E STB TMP8,0LnLEN
; STATEHENT 25 007f EF900t E CALL PL~
; S~ATEMENT 2 ; STATEHEN~ 2?
0085 B30100001C E LDB I~P0,1N
008A 99471C GMP8 TNP0,~47H
; STATEHENT 29 908F C70109B000 E STB R0,TRIGGER
; STA~EHENT 30 9094 C7010000B0 E STB Ra,NEGTRES
; STATEMEN~ 31 9099 B~061C LDB TMP01D6ff 009C C70100001C E STB THP0~POSTRES
; ST~TE~ENT 32 00AI ADC81C LDBZE TNP0~0C8H
00A4 C30100081C E ST T~PI,aD0_T
; STATE~ENT 33 90A9 A12C011C LD THP0~112CH
00AD C30100011C E ST TNP0,ADI_T
; STATEMENT 34 0082 A190011C LD T~P0~190H
00B6 C30i00001C E ST THP3,AD2_T
; STATEM M 35 008F C3010000lC E ST TNP0~RSET_T
; S~ATEN M 36 00C4 A100411C LD TNP0,UllaH
10C8 C31109991C E ST ~NP9~BBUF
; STATENENT 37 10CD A10a201C LD T~P114200lH
19DI C30190091C E ST TNP0~STO RL]N
; STATEMENT 38 99D6 BlIAlC LDB THP0~41AH
90D9 A12A001E R LD THP2~177LON6$CoNSTANT 002A
30DD A1000120 E LD T~P4~0UT
IIE1 70114:
~IEI P21FID LD8 T~Pl~tTNp2~t IIE4 C6211D STB TMPI~lTrP
10E7 EIICF7 DTNZ ~P8,~il U
; STATENENT 39 IIEA BllAlC LDB T~PI,IIAH
~9 P~nr96 CotPlLER R DATA ~1 3 11/15/86 IB:29:M Rq6E 4 ASSEMBLY LISTIN6 OF 08JECT CO~E
10ED C7tltl811C E STB TMP~,OUTLEN
; STATENENT U
; STATEtENT 41 18F5 BlFF~C LDB TNP8,18FFN
88F8 C711888elC E STB TNPa,RECORD
; STATENENT 42 18FD EF8e88 E CALL HSL STR
; STATENENT 44 818~ ~98~1 9188 BB8138881C E LDB THP8,1N
8185 99511C CNPB THP9,t51H
8188 D727 BNE ~0032 ; ST~IE~ENT 46 91~A 81921C LDB I~P0,~2H
010D C7~180801C E STB TNPa,RECORD
; S~A~EMENT 47 ell2 Bll~lC LDB TMP0,JIAH
1115 All~a~lE R LD TNP2,~LQN63CoNSTANTS9818 8119 Ala8~020 E LD TNP4,#0UT
011D ~8095 011D B21FID LDB T~PI,[T~P2~-9128 C6211D STB TNPI,~TNP41 t 0123 E01CF7 D8NZ T~PI,~005 ; STA~ENENn 48 0126 BllAlC LDB TNP8,JIAH
9129 C7110~001C E STB TMP8,0UTLEN
~ ; S~ATENENT 49 ; STATEMEN7 51 8131 ~8882 8131 B1101C LDB TMP0,J18H
0134 A1~9081E R LD T~P2,#37LoNG5CoNSTANTS~0Ja 8138 A118002a E LD IMP4,JOUT
913C ~0086 013C B21FID LDB TNPl,lTNP2~-013F C6211D STB TMp~ Mp4]t al42 E81CF7 DBN7 TNP0,78886 ; STA~ENENT 52 8145 B1181C LDB TNP9,118H
0148 C781~8801C E STB TNP8,0UTLEN
; STATENENT 53 014D EFa888 E CALL PUT
; STATENENn 54 al58 Fl RET
; STATE~ENT 55 END
MOOULE INFOR~ATJ N :
C40E AREA SIZE = IIEEH 238D
W NSTANT AREA SIZE= H 63H 990 DqT~ AREA SIZE = 8SH H ID
STATJC REGS AREA S17E = 8a8aH ID
G
v~96 CIJ~ A~A ~Jl.3 ~ 6 11/lS/86 18:29tU PA6E 5 ASSE~IBLY L1511N6 OE 08JECT CODE
WERLqYRl~LE RE6S AR6~ SIZE = IIOIH ID
N~XIM~ SlP~CK SIZE = OOS2H 2D
9~ LINES READ
PL/1~-96 CO~ JIN COlPLETE. I l~ lNqS, I ERRORS
(ol ~a-96 t~CRO AS~B~BLER HSOINT ~12.b IIJI~/86 t8:3ttb9 PA6E
iNi~t-S41 (V2.8) ~S-96 IWCRO ASSB~BLER Vl.b SWRCE FILE: F8:HSOINT.SRC
OBJECT FILE: :F8 HSOINI.OBJ
CIN~ROLS SPECIFIED IN INJ~TIW Cl~t~MD PRlNT( F8:HSOlNT LST) EM LDC O~JECT LINE SOURCE STATE~ENr nlTLE ~'HSOINT V2.1-) 2 ~S~LS
4 HSOINT ~tûDULE STACKSIZE(10) 5 ;............................. ..............
6;
7 ; U S D A INSTRUI~ SPHERE HSO INTERRUPT ROUrlNE
8 ; FOR THE 8097 ~ICROCONTROLLER ~2 0 9 ; P1~05/86 BAK
19;
11;
12 ; AESTRACT THIS ROUTlNE IS RESP~S]BLE FOR ~ROGR~t1ING THE HSO CA~t 13 REGISTERS AND I~WIN6 DATA FROM TEMPOR TO LON6 TERM STORA6E
14; .
18 PUBLJC AD0_T
19 PU8LIC ADl_T
20 PUBLlC AD2_T
21 PUBLIC RSET_T
24 PUBLIC TE'lPORlNX
36 EXTRN CKI: BYTE
33 EXTRN BBUF lJORD
35 EXTRN D_INXI: liORD
36 EXTRN D_INX2 WORD
3B EXTRN STORLlt1 WORD
U EXTRN NE6TRES: 8YTE
43 EXTR~ AH BYTE
~4 45 ; Ba97 SPECIAL FUNCTICN RE61STERS
bbS~ 46 HSLC17t~11D EOU b6H:8YTE
llb4 ~7 HSQTI~IE EOU I~H:~D
SSb2 48 OD_CO~HD EQU 12H:BYTE
blbA 49 T111ERt EQU bAH~D
bbBB 50 INT~ EQU S8H:I~E
1119 51 INT_PEMDlN6 EIIU 09H BYTE
1~-9- ~CRD ~ HSOINl ~)2 1 6 11115J86 18:31:19 PA6E 2 ERR LûC DBJECll` LINE SOURCE ST~TE~IENT
53; .
1al1 54 RSE6 IIHI 5S RECORD DSB I ;TURNS DATA COLLECTION DFF AND ON
llil2 56 STI~E: DSIJ I ;TIK AT THE 8E61NNIN8 OF Tl{E SNtPLE PERIOD
1114 5~ ADII_T: DSII I ;OFFSET TIIIE TO Cl~ CE CH. 1 A/D
U16 58 ADI_T DSI~ I ;DFFSET Tlt~E TO CIINENOE CH. I A/D
0818 59 AD2_T: DSII I ;OFFSET TlllE TO COlttB~CE CH. 2 A/D
018A 61 RSET_T: DSI~ I ;SANPLE PERtOD LEN6TH
901C 61 ADINlT: D58 1 ;C~IND 8YTE TO ARN A~D
830D 62 TR166ER: DSB I ;FLAG FOR THRESHOLD LEVH
800E 63 UTCH DSB I ;FLA6 FDR STORE 11DDE
0al1 64 PT_COLNT: DSW I ;DATA POINT COUNT FOR DATA SET
0112 65 TEMPORlNX DSW I ;]NDEX FOR TEt~POR STORA6E
9el4 66 TEt~POR DS8 3 ;TEtlPOR STORAGE
6~
200A 7~ CSEG AT 2a0AH ;ENTER HSOINT JN THE INTERRUPT ~1ECTOR
20~ 8021 71 LOCATE DCW 2080H
20B0 74 HSQlNT HSO lNTERUPT SERVlCE ROUTlNE
208a F2 75 PUSHF
20B1 710108 777 fWD8 INTJ~ASK,11000001018 ;ENq8LE CLOCK lNTERRUPT
2084 38000220AB R 7B ! 9BC RECORD,0,NhREC jCHECK THE RECORD D~TA FLA6 20B9 64M82 R 83 RDD STII~E,RSET_T ;AD~NCE STlllE ONE SAMPLE PERlOD
B3 ; RESET ALCI~t~ND RE61STER TO CHb`NEL 2ERO
21~8C B1140C R 84 LD8 ADINIT,~4H
208F B00C02 86 LD8 AD_CO~ ND, ADINlT
87 ; PRQ6RA~1 THE Cq~ REGISTERS QN THE HSû UNlT
20C2 B10F06 88 LD8 HSQCat~ND,11910911118 20C5 44040204 R 89 ~DD HSO_Tlt~E,STlME,AD0_T
21C9 BIBFB6 9I LDB HSLCQltAND,llal011111B
211CC 44e61214 R 92 ADD HSLTIME,STIME,~DI_T
2aD11 B10F116 9q LD8 HSLCOt1~ND,110031111B
211D3 4UB11214 R 95 ADD HSQTlt~E,STll~E,AD~T
21D7 B13896 97 LD8 HSQCO~t~WD,~1301113008 28DA 4Uall2114 R 98 ADD HSQTJ~lE,STl~E,RSET_T
191 ; RESET THE TEllPORARY STOR~6E RE61STERS TO LDCATICN CNE
2 DE A1141912 R 111 LD TE~lPORltK,4TEt~POR
IU ; CHECK TR166Elt 26E2 311D12 R IU JIIC TR166ER,I,TRI;CU
21E5 2115 115 S~P TRLsEr 1~6 117 ; TR161iER CLE4R-CI~ECK LATCH
211E7 3BIIEU R la8 TR6 CLR: J3S LATCII,I,CLSET
,~
G~3 96 N~CRO ASX~?13UER HSOINT ~2.1 IIK15~86 18:3~ 89 F~6E 3 ERR LDC OBJECT LlNE SOUROE STATENENT
111 ; TR16BER SET-CHECK LATCN
2 EC 38 E32 R 112 TR6_SET: JBS LATCN,8,StOR
28EF BIFFIE R 114 LD8 LATCH,~tFFN
116 ; HE~DER FOR OATA SET
117 ; RESERVE ~YTES ~4 DF PT.) 2tF2 A3811SI Ul E 118 LD D_lNX2,D_lNXI
28F7 C618~1 E 119 ST8 tH,~D_INK1~-20FE C6t881 E 122 STB tH,lD_lNXIl-21al t5t8 E 123 DEC LCHEK
125 SA~E START TI~E
2115 C69113 E 126 STB STI~Etl,~D_lNXllt 2108 95tt E 127 DEC lCHEK
21~ DF4F 128 8E ABORTI
211C C60390 E 129 STB CKl,[D_lNXllt 21aF 05B8 E 130 DEC LCHEK
2111 DF48 131 BE aBORTI
2113 C6tt81 E 132 S~B CK2,tD_lNXIl-2116 0sa3 E 133 DEC LCHEK
211A C6000a E 135 ST8 CK3~DJ Nxllt 211D 05at E 136 DEC LCHEK
13~ ; STORE IHE AJD DaTa 2121 t71t R 141 STOR INC PT_COUNT
2123 DB27 141 BC CL SET ;CHECK FOR PT_COUNT WERFL
2125 B21200 E 143 LD8 AL,~TE~PORlNX~t 2128 C6t881 E 144 STB AL,~D_lNXl~t 212B 05a8 E 145 DEC LCHEK
2S2F B21291 E 148 LDB AL,~TE~PORlNXlt 2132 C6altt E 149 STB AL~lD-lNxllt 2139 B21208 E 153 L~B AL,lTE~PORlNXl 213C C60181 E 15~ STB AL,tD_lNXllt 213F 0sa0 E 155 DEC LCHEK
2141 DF18 156 BE ABORTl ; 2143 Atl46912 R 158 LD TE~PORINX,ITE~POR
2147 B0801D R 159 LD~8 TR166ER,8H
16~
214a 2021 161 BR RrNI
164 ; CLOSE DATA SET
214C C6a010 E 165 CL SET: SJB PT_COUNT,~D_INK21 ~.2~ 6 N~ ,6 N4CRO o5~3tBLER HSOINT ~2.1 11~1 V 86 18:3B:09 PA6iE 4 ERR LOC DBJEC~ LJNE SOURtE STATE~ENT
2J4F C?011111 E 166 STB PT_COUN7-1,1tD_lNX21 16?
2158 A0901~ R 168 LD PT_COUNT,IN
2;56 81006E R 169 LD8 L~TCH,IN
2159 2012 17a BR RTNl 1~1 1~2 215B 71021~ R 173 ABORTl: ~NDB RECORD,61a003210B ;SOFTLY CLEAR RECDRD
215E Allqltl12 R 17~ LD TE~PORINX,~TQ~POR
2162 2009 175 BR RTNl 179 ; CHECK SOFT RECORD 8JT
2164 310036 R 180 NO_REC: JBC RECORD,l,R`~NI
2167 B000a0 R 191 LDB RECORD,9H
216A EFd000 E 183 C4LL CLOSE
216D F3 186 R~NI PBPF
1~8 189 ; . .
19~ ; . .
216F 191 HSO_STR
~92 216F EF00aa E 193 CALL OPEN jOPEN MEMOR`Y BUFFER
195 ;CREATE TNE DATA BUFFER HEADING
2172 c6000a E 196 STB RSET_T,[D_lNXl~t 2177 DF21 19B BE ABOR~2 2179 C6010B E 199 STB RSET_Ttl,tD_lNXllt 217C 0500 E 20~ DEC LCHEK
2180 C60010 E 202 STB POSTRES,tD_lNXl~t 2185 DF13 204 BE ~BORT2 2187 C60111 E 205 STB NE6TRES,lD_lNXllt 218a ~510 E 206 DEC LCHEK
218E Bi03e6 E 208 LDB AL,~3 2191 C60101 E 209 STB AL,lD-lNxllt 2194 0500 E 21~ DEC LCHEK
2198 20~5 212 BR 60 219A EF0001 E 214 ABORT2: CALL CLOSE
21 ff A0a011 R 217 60: LD PT_COUNT,3H
21A2 BlFFII R 218 L98 RECORD,J111111118 21A5 F~ 219 Dl 2tA6 C0121q R 221 ST TINER1,5TIHE
2iA9 912119 nl OR9 lNT_PENDlN6,-1111atllB
21AC FB 222 El ~S
~-96 ~CRO ~SS~ER NSOIN~ ~2.~ 15/86 18~ 19 PA6E S
ERR LOC 08JE~T LIK SOURCE S~A~E~ENT
21AD F~ 223 RNT2: RET
21A~ 225 END
ASSE~LY C~ET0, NO ERR~R(S~ FOIND.
~ - G ~
96 M~CRD ASSE~BLER CLOCK ~1.1 01~1SJ86 18:31:58 Pq6E
iNDX-S~ 2.8) MCS-96 M~CRO ASSEN9LER, ~1.6 S W RCE FILE: :F8:CLOCK.SRC
DBJECT FILE: :F8:CLOCK.08J
CONTRDLS SPE61FlED IN IN~OCATION CoNNAND: PRlNTt:F8:CLOCK.LST) ERR LOC 08JECT LlNE SDURCE ST~TENENT
I ~TITLE ( CLOCK ~1.0-~
2 NOSY~8DLS
4 CLOCK_~OD MODULE STaCKSlZE(4 6 ;..............................................................................
?
8 ; U.S.D A. 8097 CLOCK ROUTlNE ~1.0 9 ; 7/22X85 ~AK
~;
Il :
12 ; ABSTRACT: THIS ROUT3NE IS THE INTERRUPT ROUTINE FOR THE TI~ER OVERFLOW
13 ; INTERRUPT. EACH TIME THIS RDUTINE IS CALLED! 1l INCRE~HENTS ~ THREE BYTE
14 ; RE61STER. THE NhMES OF THE BYTES IN THIS RE61STER hRE CALLED: CKI,CK2, ; CK3,CK4.
16 ;.............................................................................
~8 009B 19 NT_MASK EQU 0BH: BYTE ;Q~J INTERRUPT NASK RE61STER
9000 22 RSEG ;CLOCK REGISTERS
0000 24 CKI: DSB I
0001 25 CK2: DSB I
00a2 26 CK3: DSB I
0ee? 27 CK4: DSB I
2010 34 CSE6 aT 2000H jTlMER O~ERFLO~ LOCATION IN THE INTERRUPT ~ECTOR
2000 000a R 3365 DCW CLOCK
~ee~ 37 CSE6 - 39 ;START PROCEDURE CLOCK
1010 F2 40 CLOCK: PUSHF
0a01 Be630B 41 LDE~ INT_MASK,01100011B
0014 1700 R ~43 lNCB CKI
0006 D30A ` 44 JNC UPD~TED
004~ D3 U 46 JNC W DATED
1012 F3 50 UPDATED: POPF
H 13 Fl 51 RET
(,~ 1 ~' J ~
6 ~*CRO ASSE~BLER CLOCK t~ S5K8~ 18~ S8 PA6E 2 ERR EOC DB~ET LtNE SOURCE STA~ T
~91q 53 END
.qSSE~lBLY CCI~PLETED, NO ERROR~S) FOU~D.
, ~C~-96 ~4CRO ASSE~BLER AD_lNT Vl.l 1 V15J86 18:31:2? PA6E
iNDX-541 ~V2.8) ~CS-96 ~ACRO ASSE~BLER, Vl.l S W RCE FILE: :F8:AD_INT.SRC
OBJECT FILE: :EB:A LINT.OBJ
CONTROLS SPECIFIED IN INVOCATION Con~ND: PRINT~:F8:A LINT.LST) ERR LOC OBJEC~ LINE SOURCE STATE~ENT
I STITLE ( AL INT
2 ~NOSY~BOLS
3 ~DEBU6 4 AD_INT MODULE STACNS12E~4) 6 ;
3 ; U.S.D.A. INSTRU~ENTED SPHERE A/D lNTERRUPT ROUT]NE
9 ; FOR THE 81g7 NICROCONTROLLER vl.a Il ; 7/7/85 EAK
1~ ';
13 ; AESTRACT: THIS ROUTlNE WILL READ ~HE AJD RESULT REGISTER AND N WE THE B14 ; BIT ~ALUE TO A PLACE IN NEMORY POINTED AT BY THE WORD TEMPORINX. AFTER
; COMPLETING THIS NOVE, THE ROUTINE ~!LL ARH THE NEXT A/D CHANNEL. THE
16 ; THRESHOLD LE~EL IS ALSO CHECKED EIY ~HIS ROUTINE AND TRIG6ER IS SET IF THE
17 ; LEVEL IS IN THE PROPER RAN6E.
18 :..............................................................................
~9 2~
21 PUBLIC tOSlPES
23 EXTRN TEMPORIN~:~ORD
24 EXTRN TRIGGER:BY~E
~32 27 AD_Co~AND EQU B2H :BYTE W
~0~3 28 AO_RESULT EQU ~3H :8YTE ; R
Ba38 30 RSE6 AT 38H
3838 31 NEGT~ESi r)SB I ;NEGETIVE THRESHOLD REFERENCE
~039 32 POSTRES: DSB I ;POSITIVE THRESHOLD REFERENCE
aa3A 33 DSB 2 ;FOR FUTURE USE
2112 35 CSEG AT 2012H ;POlNTS THE INTERRUPT VECTOR TO AD_INT
21e2 1000 R 36 LOCATE: DC~ STA~T
: 0a~e 3B CSEG
1900 F2 39 START: PUSHF
1101 C60103 E 4B STB A LRESULT,~TEMPORINXl jSTORE PREVIOUS A/D
914 170a E 41 INCB ADINIT ;N W E TO THE NEXT AJD CH~NNEL
a0~6 B3tl00aa02 E 42 LDB AD_CO~PND,ADINIT ;ARM THE AJD
44 ; THRESHOLDING ROUTINE
lilB 9~1139 E 45 C~PB POS~RES,tTEMPORlNXl I n E D117 46 JNH SETTR6 i~ll 94J138 E 47 CNPB NE6TRES,tTENPORlNXl 1il3 D912 48 JH SErTR6 1115 2113 49 SJ~P CONTINUEI
1-17 B13119 E 51 SETTR6: LDB TR166ER,~tllH
a-9~ RO ASSEYBLER ~DLINT ~1.1 81Jt V86 18:3~:27 P~6E 2 ERR LOC OBJECT LINE SOURCE ST~TEYENT
, ~Pl~ t7~t E 53 CONTINUEI: INC TE~PORINK
I~IC F3 55 POPF
3tlD Ft 5576 RR
allE 58 END
~SSE~8LY C3~PL n ED, NO ERROR~S~ FOUND.
,;
:
, :;
.
' .
.
: .
'
18 PUBLJC AD0_T
19 PU8LIC ADl_T
20 PUBLlC AD2_T
21 PUBLIC RSET_T
24 PUBLIC TE'lPORlNX
36 EXTRN CKI: BYTE
33 EXTRN BBUF lJORD
35 EXTRN D_INXI: liORD
36 EXTRN D_INX2 WORD
3B EXTRN STORLlt1 WORD
U EXTRN NE6TRES: 8YTE
43 EXTR~ AH BYTE
~4 45 ; Ba97 SPECIAL FUNCTICN RE61STERS
bbS~ 46 HSLC17t~11D EOU b6H:8YTE
llb4 ~7 HSQTI~IE EOU I~H:~D
SSb2 48 OD_CO~HD EQU 12H:BYTE
blbA 49 T111ERt EQU bAH~D
bbBB 50 INT~ EQU S8H:I~E
1119 51 INT_PEMDlN6 EIIU 09H BYTE
1~-9- ~CRD ~ HSOINl ~)2 1 6 11115J86 18:31:19 PA6E 2 ERR LûC DBJECll` LINE SOURCE ST~TE~IENT
53; .
1al1 54 RSE6 IIHI 5S RECORD DSB I ;TURNS DATA COLLECTION DFF AND ON
llil2 56 STI~E: DSIJ I ;TIK AT THE 8E61NNIN8 OF Tl{E SNtPLE PERIOD
1114 5~ ADII_T: DSII I ;OFFSET TIIIE TO Cl~ CE CH. 1 A/D
U16 58 ADI_T DSI~ I ;DFFSET Tlt~E TO CIINENOE CH. I A/D
0818 59 AD2_T: DSII I ;OFFSET TlllE TO COlttB~CE CH. 2 A/D
018A 61 RSET_T: DSI~ I ;SANPLE PERtOD LEN6TH
901C 61 ADINlT: D58 1 ;C~IND 8YTE TO ARN A~D
830D 62 TR166ER: DSB I ;FLAG FOR THRESHOLD LEVH
800E 63 UTCH DSB I ;FLA6 FDR STORE 11DDE
0al1 64 PT_COLNT: DSW I ;DATA POINT COUNT FOR DATA SET
0112 65 TEMPORlNX DSW I ;]NDEX FOR TEt~POR STORA6E
9el4 66 TEt~POR DS8 3 ;TEtlPOR STORAGE
6~
200A 7~ CSEG AT 2a0AH ;ENTER HSOINT JN THE INTERRUPT ~1ECTOR
20~ 8021 71 LOCATE DCW 2080H
20B0 74 HSQlNT HSO lNTERUPT SERVlCE ROUTlNE
208a F2 75 PUSHF
20B1 710108 777 fWD8 INTJ~ASK,11000001018 ;ENq8LE CLOCK lNTERRUPT
2084 38000220AB R 7B ! 9BC RECORD,0,NhREC jCHECK THE RECORD D~TA FLA6 20B9 64M82 R 83 RDD STII~E,RSET_T ;AD~NCE STlllE ONE SAMPLE PERlOD
B3 ; RESET ALCI~t~ND RE61STER TO CHb`NEL 2ERO
21~8C B1140C R 84 LD8 ADINIT,~4H
208F B00C02 86 LD8 AD_CO~ ND, ADINlT
87 ; PRQ6RA~1 THE Cq~ REGISTERS QN THE HSû UNlT
20C2 B10F06 88 LD8 HSQCat~ND,11910911118 20C5 44040204 R 89 ~DD HSO_Tlt~E,STlME,AD0_T
21C9 BIBFB6 9I LDB HSLCQltAND,llal011111B
211CC 44e61214 R 92 ADD HSLTIME,STIME,~DI_T
2aD11 B10F116 9q LD8 HSLCOt1~ND,110031111B
211D3 4UB11214 R 95 ADD HSQTlt~E,STll~E,AD~T
21D7 B13896 97 LD8 HSQCO~t~WD,~1301113008 28DA 4Uall2114 R 98 ADD HSQTJ~lE,STl~E,RSET_T
191 ; RESET THE TEllPORARY STOR~6E RE61STERS TO LDCATICN CNE
2 DE A1141912 R 111 LD TE~lPORltK,4TEt~POR
IU ; CHECK TR166Elt 26E2 311D12 R IU JIIC TR166ER,I,TRI;CU
21E5 2115 115 S~P TRLsEr 1~6 117 ; TR161iER CLE4R-CI~ECK LATCH
211E7 3BIIEU R la8 TR6 CLR: J3S LATCII,I,CLSET
,~
G~3 96 N~CRO ASX~?13UER HSOINT ~2.1 IIK15~86 18:3~ 89 F~6E 3 ERR LDC OBJECT LlNE SOUROE STATENENT
111 ; TR16BER SET-CHECK LATCN
2 EC 38 E32 R 112 TR6_SET: JBS LATCN,8,StOR
28EF BIFFIE R 114 LD8 LATCH,~tFFN
116 ; HE~DER FOR OATA SET
117 ; RESERVE ~YTES ~4 DF PT.) 2tF2 A3811SI Ul E 118 LD D_lNX2,D_lNXI
28F7 C618~1 E 119 ST8 tH,~D_INK1~-20FE C6t881 E 122 STB tH,lD_lNXIl-21al t5t8 E 123 DEC LCHEK
125 SA~E START TI~E
2115 C69113 E 126 STB STI~Etl,~D_lNXllt 2108 95tt E 127 DEC lCHEK
21~ DF4F 128 8E ABORTI
211C C60390 E 129 STB CKl,[D_lNXllt 21aF 05B8 E 130 DEC LCHEK
2111 DF48 131 BE aBORTI
2113 C6tt81 E 132 S~B CK2,tD_lNXIl-2116 0sa3 E 133 DEC LCHEK
211A C6000a E 135 ST8 CK3~DJ Nxllt 211D 05at E 136 DEC LCHEK
13~ ; STORE IHE AJD DaTa 2121 t71t R 141 STOR INC PT_COUNT
2123 DB27 141 BC CL SET ;CHECK FOR PT_COUNT WERFL
2125 B21200 E 143 LD8 AL,~TE~PORlNX~t 2128 C6t881 E 144 STB AL,~D_lNXl~t 212B 05a8 E 145 DEC LCHEK
2S2F B21291 E 148 LDB AL,~TE~PORlNXlt 2132 C6altt E 149 STB AL~lD-lNxllt 2139 B21208 E 153 L~B AL,lTE~PORlNXl 213C C60181 E 15~ STB AL,tD_lNXllt 213F 0sa0 E 155 DEC LCHEK
2141 DF18 156 BE ABORTl ; 2143 Atl46912 R 158 LD TE~PORINX,ITE~POR
2147 B0801D R 159 LD~8 TR166ER,8H
16~
214a 2021 161 BR RrNI
164 ; CLOSE DATA SET
214C C6a010 E 165 CL SET: SJB PT_COUNT,~D_INK21 ~.2~ 6 N~ ,6 N4CRO o5~3tBLER HSOINT ~2.1 11~1 V 86 18:3B:09 PA6iE 4 ERR LOC DBJEC~ LJNE SOURtE STATE~ENT
2J4F C?011111 E 166 STB PT_COUN7-1,1tD_lNX21 16?
2158 A0901~ R 168 LD PT_COUNT,IN
2;56 81006E R 169 LD8 L~TCH,IN
2159 2012 17a BR RTNl 1~1 1~2 215B 71021~ R 173 ABORTl: ~NDB RECORD,61a003210B ;SOFTLY CLEAR RECDRD
215E Allqltl12 R 17~ LD TE~PORINX,~TQ~POR
2162 2009 175 BR RTNl 179 ; CHECK SOFT RECORD 8JT
2164 310036 R 180 NO_REC: JBC RECORD,l,R`~NI
2167 B000a0 R 191 LDB RECORD,9H
216A EFd000 E 183 C4LL CLOSE
216D F3 186 R~NI PBPF
1~8 189 ; . .
19~ ; . .
216F 191 HSO_STR
~92 216F EF00aa E 193 CALL OPEN jOPEN MEMOR`Y BUFFER
195 ;CREATE TNE DATA BUFFER HEADING
2172 c6000a E 196 STB RSET_T,[D_lNXl~t 2177 DF21 19B BE ABOR~2 2179 C6010B E 199 STB RSET_Ttl,tD_lNXllt 217C 0500 E 20~ DEC LCHEK
2180 C60010 E 202 STB POSTRES,tD_lNXl~t 2185 DF13 204 BE ~BORT2 2187 C60111 E 205 STB NE6TRES,lD_lNXllt 218a ~510 E 206 DEC LCHEK
218E Bi03e6 E 208 LDB AL,~3 2191 C60101 E 209 STB AL,lD-lNxllt 2194 0500 E 21~ DEC LCHEK
2198 20~5 212 BR 60 219A EF0001 E 214 ABORT2: CALL CLOSE
21 ff A0a011 R 217 60: LD PT_COUNT,3H
21A2 BlFFII R 218 L98 RECORD,J111111118 21A5 F~ 219 Dl 2tA6 C0121q R 221 ST TINER1,5TIHE
2iA9 912119 nl OR9 lNT_PENDlN6,-1111atllB
21AC FB 222 El ~S
~-96 ~CRO ~SS~ER NSOIN~ ~2.~ 15/86 18~ 19 PA6E S
ERR LOC 08JE~T LIK SOURCE S~A~E~ENT
21AD F~ 223 RNT2: RET
21A~ 225 END
ASSE~LY C~ET0, NO ERR~R(S~ FOIND.
~ - G ~
96 M~CRD ASSE~BLER CLOCK ~1.1 01~1SJ86 18:31:58 Pq6E
iNDX-S~ 2.8) MCS-96 M~CRO ASSEN9LER, ~1.6 S W RCE FILE: :F8:CLOCK.SRC
DBJECT FILE: :F8:CLOCK.08J
CONTRDLS SPE61FlED IN IN~OCATION CoNNAND: PRlNTt:F8:CLOCK.LST) ERR LOC 08JECT LlNE SDURCE ST~TENENT
I ~TITLE ( CLOCK ~1.0-~
2 NOSY~8DLS
4 CLOCK_~OD MODULE STaCKSlZE(4 6 ;..............................................................................
?
8 ; U.S.D A. 8097 CLOCK ROUTlNE ~1.0 9 ; 7/22X85 ~AK
~;
Il :
12 ; ABSTRACT: THIS ROUT3NE IS THE INTERRUPT ROUTINE FOR THE TI~ER OVERFLOW
13 ; INTERRUPT. EACH TIME THIS RDUTINE IS CALLED! 1l INCRE~HENTS ~ THREE BYTE
14 ; RE61STER. THE NhMES OF THE BYTES IN THIS RE61STER hRE CALLED: CKI,CK2, ; CK3,CK4.
16 ;.............................................................................
~8 009B 19 NT_MASK EQU 0BH: BYTE ;Q~J INTERRUPT NASK RE61STER
9000 22 RSEG ;CLOCK REGISTERS
0000 24 CKI: DSB I
0001 25 CK2: DSB I
00a2 26 CK3: DSB I
0ee? 27 CK4: DSB I
2010 34 CSE6 aT 2000H jTlMER O~ERFLO~ LOCATION IN THE INTERRUPT ~ECTOR
2000 000a R 3365 DCW CLOCK
~ee~ 37 CSE6 - 39 ;START PROCEDURE CLOCK
1010 F2 40 CLOCK: PUSHF
0a01 Be630B 41 LDE~ INT_MASK,01100011B
0014 1700 R ~43 lNCB CKI
0006 D30A ` 44 JNC UPD~TED
004~ D3 U 46 JNC W DATED
1012 F3 50 UPDATED: POPF
H 13 Fl 51 RET
(,~ 1 ~' J ~
6 ~*CRO ASSE~BLER CLOCK t~ S5K8~ 18~ S8 PA6E 2 ERR EOC DB~ET LtNE SOURCE STA~ T
~91q 53 END
.qSSE~lBLY CCI~PLETED, NO ERROR~S) FOU~D.
, ~C~-96 ~4CRO ASSE~BLER AD_lNT Vl.l 1 V15J86 18:31:2? PA6E
iNDX-541 ~V2.8) ~CS-96 ~ACRO ASSE~BLER, Vl.l S W RCE FILE: :F8:AD_INT.SRC
OBJECT FILE: :EB:A LINT.OBJ
CONTROLS SPECIFIED IN INVOCATION Con~ND: PRINT~:F8:A LINT.LST) ERR LOC OBJEC~ LINE SOURCE STATE~ENT
I STITLE ( AL INT
2 ~NOSY~BOLS
3 ~DEBU6 4 AD_INT MODULE STACNS12E~4) 6 ;
3 ; U.S.D.A. INSTRU~ENTED SPHERE A/D lNTERRUPT ROUT]NE
9 ; FOR THE 81g7 NICROCONTROLLER vl.a Il ; 7/7/85 EAK
1~ ';
13 ; AESTRACT: THIS ROUTlNE WILL READ ~HE AJD RESULT REGISTER AND N WE THE B14 ; BIT ~ALUE TO A PLACE IN NEMORY POINTED AT BY THE WORD TEMPORINX. AFTER
; COMPLETING THIS NOVE, THE ROUTINE ~!LL ARH THE NEXT A/D CHANNEL. THE
16 ; THRESHOLD LE~EL IS ALSO CHECKED EIY ~HIS ROUTINE AND TRIG6ER IS SET IF THE
17 ; LEVEL IS IN THE PROPER RAN6E.
18 :..............................................................................
~9 2~
21 PUBLIC tOSlPES
23 EXTRN TEMPORIN~:~ORD
24 EXTRN TRIGGER:BY~E
~32 27 AD_Co~AND EQU B2H :BYTE W
~0~3 28 AO_RESULT EQU ~3H :8YTE ; R
Ba38 30 RSE6 AT 38H
3838 31 NEGT~ESi r)SB I ;NEGETIVE THRESHOLD REFERENCE
~039 32 POSTRES: DSB I ;POSITIVE THRESHOLD REFERENCE
aa3A 33 DSB 2 ;FOR FUTURE USE
2112 35 CSEG AT 2012H ;POlNTS THE INTERRUPT VECTOR TO AD_INT
21e2 1000 R 36 LOCATE: DC~ STA~T
: 0a~e 3B CSEG
1900 F2 39 START: PUSHF
1101 C60103 E 4B STB A LRESULT,~TEMPORINXl jSTORE PREVIOUS A/D
914 170a E 41 INCB ADINIT ;N W E TO THE NEXT AJD CH~NNEL
a0~6 B3tl00aa02 E 42 LDB AD_CO~PND,ADINIT ;ARM THE AJD
44 ; THRESHOLDING ROUTINE
lilB 9~1139 E 45 C~PB POS~RES,tTEMPORlNXl I n E D117 46 JNH SETTR6 i~ll 94J138 E 47 CNPB NE6TRES,tTENPORlNXl 1il3 D912 48 JH SErTR6 1115 2113 49 SJ~P CONTINUEI
1-17 B13119 E 51 SETTR6: LDB TR166ER,~tllH
a-9~ RO ASSEYBLER ~DLINT ~1.1 81Jt V86 18:3~:27 P~6E 2 ERR LOC OBJECT LINE SOURCE ST~TEYENT
, ~Pl~ t7~t E 53 CONTINUEI: INC TE~PORINK
I~IC F3 55 POPF
3tlD Ft 5576 RR
allE 58 END
~SSE~8LY C3~PL n ED, NO ERROR~S~ FOUND.
,;
:
, :;
.
' .
.
: .
'
Claims (27)
1. The method of sensing physical variables affecting an item while it is subjected to handling operations such as packaging and shipping, and recording a portion of the time history of those sensed physical variables which meet predetermined criteria, comprising the steps of:
(A) attaching to the item a housing containing transducer means for sensing the physical variables, clock means, memory means, communication means, microprocessor means, and power supply means, operable to sense and quantify the values of the physical variables and to record the quantified sensed physical variables and their times of occurrence in the memory means under the control of a program comprising instructions to the microprocessor means, the housing being attached in a manner so that the values of the physical variables sensed by the transducer means are substantially similar to the values of the physical variables affecting the item;
(B) causing the item to be subjected to the handling operations so that the housing is subjected to the same physical variables as the item;
(C) sensing the physical variables experienced by the housing;
(D) storing intervals of the time history of the values of those sensed physical variables which meet predetermined criteria in the memory means, the intervals being of predetermined duration and beginning with the values of those sensed physical variables which first meet the predetermined criterion in each interval; and (E) reading the stored values of the physical variables from the memory means to a device external to the housing, whereby the magnitude of, and the time and frequency content of the occurrence of the sensed physical variables, experienced while the item is being handled, can be determined after the handling operations are performed on the item.
(A) attaching to the item a housing containing transducer means for sensing the physical variables, clock means, memory means, communication means, microprocessor means, and power supply means, operable to sense and quantify the values of the physical variables and to record the quantified sensed physical variables and their times of occurrence in the memory means under the control of a program comprising instructions to the microprocessor means, the housing being attached in a manner so that the values of the physical variables sensed by the transducer means are substantially similar to the values of the physical variables affecting the item;
(B) causing the item to be subjected to the handling operations so that the housing is subjected to the same physical variables as the item;
(C) sensing the physical variables experienced by the housing;
(D) storing intervals of the time history of the values of those sensed physical variables which meet predetermined criteria in the memory means, the intervals being of predetermined duration and beginning with the values of those sensed physical variables which first meet the predetermined criterion in each interval; and (E) reading the stored values of the physical variables from the memory means to a device external to the housing, whereby the magnitude of, and the time and frequency content of the occurrence of the sensed physical variables, experienced while the item is being handled, can be determined after the handling operations are performed on the item.
2. An acceleration event detector/recorder that can be contained within a housing, comprising:
transducer means for sensing accelerations along at least one axis, and for producing digital signals quantifying the sensed physical quantities;
clock means for producing a digital timer signal;
memory means for storing program instructions and for storing data representing digital signals;
communication means for communicating digital information with a separate device; and microprocessor means connected to the transducer means, the clock means, the memory means, and the communication means, and being adapted to read and execute the program instructions from the memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the accelerations satisfies a predetermined criterion and for controlling the communication means to communicate digital information with the separate device.
transducer means for sensing accelerations along at least one axis, and for producing digital signals quantifying the sensed physical quantities;
clock means for producing a digital timer signal;
memory means for storing program instructions and for storing data representing digital signals;
communication means for communicating digital information with a separate device; and microprocessor means connected to the transducer means, the clock means, the memory means, and the communication means, and being adapted to read and execute the program instructions from the memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the accelerations satisfies a predetermined criterion and for controlling the communication means to communicate digital information with the separate device.
3. The acceleration event detector/recorder of claim 2, wherein the transducer means senses accelerations along three separate axes.
4. The acceleration event detector/recorder of claim 2, wherein the transducer means comprises three accelerometer means adapted to produce analog signals corresponding to the accelerations along each of three axes and conversion means for producing digital signals representing the analog signals produced by each of the three accelerometer means; and the microprocessor means comprises arithmetic logic means adapted to receive the three digital signals quantifying the accelerations along each of the three axes, for processing the digital signals.
5. The acceleration event detector/recorder of claim 4, wherein the arithmetic logic means processes the digital signals to produce a digital signal representing the resultant acceleration.
6. The acceleration event detector/recorder of claim 4, wherein the arithmetic logic means processes the digital signals to produce a digital signal representing the area under the acceleration time-history curve.
7. The acceleration event detector/recorder of claim 4, wherein the arithmetic logic means processes the digital signals to produce digital signals representing the time of occurrence of an acceleration event.
8. The acceleration event detector/recorder of claim 4, wherein the arithmetic logic means processes the digital signals to produce digital signals representing the frequency contents of accelerations which meet predetermined criteria.
9. The acceleration event detector/recorder of claim 4, wherein each of the three accelerometer means comprises a piezoelectric accelerometer for measuring time varying signals.
10. The acceleration event detector/recorder of claim 2, wherein the microprocessor means controls the storage of data representing digital signals quantifying the accelerations in each channel whose magnitudes satisfy the predetermined criteria.
11. The acceleration event detector/recorder of claim 8, wherein the predetermined criterion is that the magnitude in at least one of the channels exceeds a predetermined level.
12. The acceleration event detector/recorder of claim 2, wherein the memory means comprises a first memory means for storing program instructions and a second memory means for receiving, from the microprocessor means, the digital signals produced by the transducer means and the timer means, and for storing data representing the received digital signals.
13. The acceleration event detector/recorder of claim 2, wherein the first memory means is a read-only memory.
14. The acceleration event detector/recorder of claim 2 wherein the communication means can be used to cause program instructions received from a separate device to be stored in the memory means.
15. An acceleration event detector/recorder that can be contained within a housing, comprising:
continue claim 15 three accelerometer means for sensing accelerations in three orthogonal directions and producing analog signals corresponding to the accelerations in each of the three directions;
clock means for producing a digital timer signal;
read-only memory means for storing program instructions;
digital memory means adapted to receive digital signals and store data representing the digital signals; and microprocessor means, including analog-to-digital converter means for producing digital signals representing the analog signals produced by each of the three accelerometer means, arithmetic logic means adapted to receive, from the analog-to-digital converter means, the digital signals quantifying the acceleration in each of the three orthogonal directions, for processing the digital signals, and communication means for communicating digital information with an external device, the microprocessor being connected to the clock means, the read-only memory means, and the digital memory means and adapted to read the program instructions from the read-only memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the accelerations satisfies a predetermined criterion, for controlling the reading of the stored data in the digital memory means, and for communicating the data stored in the digital memory means with the external device.
continue claim 15 three accelerometer means for sensing accelerations in three orthogonal directions and producing analog signals corresponding to the accelerations in each of the three directions;
clock means for producing a digital timer signal;
read-only memory means for storing program instructions;
digital memory means adapted to receive digital signals and store data representing the digital signals; and microprocessor means, including analog-to-digital converter means for producing digital signals representing the analog signals produced by each of the three accelerometer means, arithmetic logic means adapted to receive, from the analog-to-digital converter means, the digital signals quantifying the acceleration in each of the three orthogonal directions, for processing the digital signals, and communication means for communicating digital information with an external device, the microprocessor being connected to the clock means, the read-only memory means, and the digital memory means and adapted to read the program instructions from the read-only memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the accelerations satisfies a predetermined criterion, for controlling the reading of the stored data in the digital memory means, and for communicating the data stored in the digital memory means with the external device.
16. The acceleration event detector/recorder of claim 15, wherein the communication means is an asynchronous serial communication means.
17. The acceleration event detector/recorder of claim 15, wherein the communication means is adapted to transmit an external serial digital data signal to the microprocessor means for storage in the digital memory means.
18. The acceleration event detector/recorder of claim 15, wherein the read-only memory means is electrically alterable and the microprocessor means is further adapted to communicate digital program data from the external device for storage in the electrically alterable memory, whereby the microprocessor can be reprogrammed.
19. The acceleration event detector/recorder of claim 15, further comprising a digital memory backup battery adapted to provide electrical power to the digital memory means.
20. The acceleration event detector/recorder of claim 15, wherein the digital memory means comprises a non-volatile memory means.
21. The acceleration event detector/recorder of claim 15, wherein the communication means can be used to cause program instructions received from a separate device to be stored in the memory means.
22. An event detector/recorder that can be contained within a housing, comprising:
transducer means for sensing one or more physical quantities and for producing digital signals quantifying the sensed physical quantities;
clock means for producing a digital timer signal;
memory means for storing program instructions and for storing data representing digital signals;
communication means for communicating digital information with a separate device; and microprocessor means connected to the transducer means, the clock means, the memory means, and the communication means, and being adapted to read and execute the program instructions from the memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the physical quantities satisfies a predetermined criterion and for controlling the communication means to communicate digital information with the separate device.
transducer means for sensing one or more physical quantities and for producing digital signals quantifying the sensed physical quantities;
clock means for producing a digital timer signal;
memory means for storing program instructions and for storing data representing digital signals;
communication means for communicating digital information with a separate device; and microprocessor means connected to the transducer means, the clock means, the memory means, and the communication means, and being adapted to read and execute the program instructions from the memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the physical quantities satisfies a predetermined criterion and for controlling the communication means to communicate digital information with the separate device.
23. The event detector/recorder of claim 22, wherein the communication means can be used to cause program instructions received from a separate device to be stored in the memory means.
24. The method of detecting force or acceleration events experienced by a damageable item while it is subjected to handling operations such as packaging and shipping, and recording a portion of the time history of those acceleration events which meet predetermined criteria, comprising the steps of:
(A) attaching to the item a housing containing force or acceleration detecting transducer means, clock means, memory means, communication means, microprocessor means, and power supply means, operable to sense and quantify accelerations and to record the quantified accelerations and their times of occurrence in the memory means under the control of a program comprising instructions to the microprocessor means, the housing being attached in a manner preventing any relative motion between the item and the housing;
(B) causing the item to be subjected to the handling operations so that the housing is subjected to the same acceleration events as the item;
(C) sensing the accelerations experienced by the housing;
(D) storing intervals of the time history of the values of those acceleration events which meet predetermined criteria in the memory means, the intervals being of predetermined duration and beginning with the values of those acceleration events which first meet the predetermined criteria in each interval; and (E) reading the stored acceleration time histories from the memory means to a device external to the housing, whereby the magnitude of, and the time and frequency content of severe force or acceleration events, experienced while the damageable item is being handled, can be determined after the handling operations are performed on the damageable item.
(A) attaching to the item a housing containing force or acceleration detecting transducer means, clock means, memory means, communication means, microprocessor means, and power supply means, operable to sense and quantify accelerations and to record the quantified accelerations and their times of occurrence in the memory means under the control of a program comprising instructions to the microprocessor means, the housing being attached in a manner preventing any relative motion between the item and the housing;
(B) causing the item to be subjected to the handling operations so that the housing is subjected to the same acceleration events as the item;
(C) sensing the accelerations experienced by the housing;
(D) storing intervals of the time history of the values of those acceleration events which meet predetermined criteria in the memory means, the intervals being of predetermined duration and beginning with the values of those acceleration events which first meet the predetermined criteria in each interval; and (E) reading the stored acceleration time histories from the memory means to a device external to the housing, whereby the magnitude of, and the time and frequency content of severe force or acceleration events, experienced while the damageable item is being handled, can be determined after the handling operations are performed on the damageable item.
25. An acceleration event detector/recorder, comprising:
a housing constructed to approximate an article of commerce, such as a fruit, in size, shape and mass, so that the acceleration events experienced by the housing can be continue claim 25 correlated to those experienced by the article which the housing approximates;
three accelerometer means for sensing accelerations in three orthogonal directions and producing analog signals corresponding to the accelerations in each of the three directions;
clock means for producing a digital timer signal;
read-only memory means for storing program instructions;
digital memory means adapted to receive digital signals and store data representing the digital signals; and microprocessor means, including analog-to-digital converter means for producing digital signals representing the analog signals produced by each of the three accelerometer means, arithmetic logic means adapted to receive, from the analog-to-digital converter means, the digital signals quantifying the acceleration in each of three orthogonal directions, for processing the digital signals, and communication means for communicating digital information with an external device, the microprocessor being connected to the clock means, the read-only memory means, and the digital memory means and adapted to read the program instructions from the read-only memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the accelerations satisfies a predetermined criterion, for controlling the reading of the stored data in the digital memory means, and for communicating the data stored in the digital memory means with the external device.
a housing constructed to approximate an article of commerce, such as a fruit, in size, shape and mass, so that the acceleration events experienced by the housing can be continue claim 25 correlated to those experienced by the article which the housing approximates;
three accelerometer means for sensing accelerations in three orthogonal directions and producing analog signals corresponding to the accelerations in each of the three directions;
clock means for producing a digital timer signal;
read-only memory means for storing program instructions;
digital memory means adapted to receive digital signals and store data representing the digital signals; and microprocessor means, including analog-to-digital converter means for producing digital signals representing the analog signals produced by each of the three accelerometer means, arithmetic logic means adapted to receive, from the analog-to-digital converter means, the digital signals quantifying the acceleration in each of three orthogonal directions, for processing the digital signals, and communication means for communicating digital information with an external device, the microprocessor being connected to the clock means, the read-only memory means, and the digital memory means and adapted to read the program instructions from the read-only memory means, for causing the data representing both the digital signals produced by the transducer means during an interval of time of predetermined duration and the digital timer signal produced by the clock means at the beginning of the interval of time to be stored in the memory means, the interval of time beginning when at least one of the accelerations satisfies a predetermined criterion, for controlling the reading of the stored data in the digital memory means, and for communicating the data stored in the digital memory means with the external device.
26. The acceleration event detector/recorder of claim 25, wherein the housing is made from a casting resin.
27. The acceleration event detector/recorder of claim 25, wherein the housing is constructed to approximate an article of commerce, such as a fruit, and wherein the transducer means is surrounded by a casting resin enclosure, the enclosure being disposed within the housing so that the three accelerometer means experience accelerations substantially similar to those as would be experienced by the article of commerce.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06827142 US4745564B2 (en) | 1986-02-07 | 1986-02-07 | Impact detection apparatus |
US827,142 | 1986-02-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1296426C true CA1296426C (en) | 1992-02-25 |
Family
ID=25248419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000529078A Expired - Lifetime CA1296426C (en) | 1986-02-07 | 1987-02-05 | Impact detection apparatus |
Country Status (4)
Country | Link |
---|---|
US (1) | US4745564B2 (en) |
EP (1) | EP0235534A1 (en) |
JP (1) | JP2666926B2 (en) |
CA (1) | CA1296426C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491971B2 (en) | 2014-10-02 | 2019-11-26 | Solentum B.V. | Sensor for monitoring ambient characteristics |
Families Citing this family (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4813266A (en) * | 1987-09-21 | 1989-03-21 | Nash Patrick L | Method and apparatus for computing surface coefficients of friction |
US4869874A (en) * | 1988-01-13 | 1989-09-26 | Westvaco Corporation | Atmospheric corrosivity monitor |
JP2567100B2 (en) * | 1988-06-22 | 1996-12-25 | 富士通株式会社 | Compact acceleration measurement recorder |
US4992943A (en) * | 1989-02-13 | 1991-02-12 | Mccracken Jack J | Apparatus for detecting and storing motor vehicle impact data |
GB9005168D0 (en) * | 1990-03-08 | 1990-05-02 | Autoliv Dev | Improvements in or relating to an accelerometer arrangement |
US5335186A (en) * | 1990-03-30 | 1994-08-02 | Texas Instruments Incorporated | Intelligent programmable sensing |
FR2661765B1 (en) * | 1990-05-07 | 1992-10-16 | Cordier Renaud | METHOD FOR MONITORING EQUIPMENT AND DEVICE FOR CARRYING OUT SAID METHOD. |
EP0511807A1 (en) * | 1991-04-27 | 1992-11-04 | Gec Avery Limited | Apparatus and sensor unit for monitoring changes in a physical quantity with time |
GB2255188B (en) * | 1991-04-27 | 1994-08-17 | Gec Avery Ltd | Apparatus and sensor unit for monitoring changes in a physical quantity with time |
US5136525A (en) * | 1991-09-27 | 1992-08-04 | Mobil Oil Corporation | Method and apparatus for carrying out borehole temperature measurements |
US5313848A (en) * | 1991-10-18 | 1994-05-24 | Sensitech, Inc. | Disposable electronic monitor device |
FR2685958B1 (en) * | 1992-01-07 | 1995-06-30 | Befic | PORTABLE AND SELF-CONTAINED APPARATUS FOR THE DETECTION AND RECORDING OF SHORT-DURING PHENOMENA OF RANDOM. |
US5475597A (en) * | 1993-02-24 | 1995-12-12 | Amsc Subsidiary Corporation | System for mapping occurrences of predetermined conditions in a transport route |
US5719771A (en) * | 1993-02-24 | 1998-02-17 | Amsc Subsidiary Corporation | System for mapping occurrences of conditions in a transport route |
US5654902A (en) * | 1993-05-03 | 1997-08-05 | Sony Deutschland Gmbh | Recyclable component with data storage for storing information for examining the component and product including such a component |
GB2281625B (en) * | 1993-09-03 | 1996-11-13 | Mini Agriculture & Fisheries | Process monitor |
US5444637A (en) * | 1993-09-28 | 1995-08-22 | Advanced Micro Devices, Inc. | Programmable semiconductor wafer for sensing, recording and retrieving fabrication process conditions to which the wafer is exposed |
US5594953A (en) * | 1994-01-28 | 1997-01-14 | Amsc Subsidiary Corporation | Mobile communicator system |
US6016423A (en) * | 1994-01-28 | 2000-01-18 | Amsc Subsidiary Corporation | Mobile communicator system |
US5613223A (en) * | 1994-01-28 | 1997-03-18 | Amsc Subsidiary Corporation | Mobile communicator bracing system |
EP0678876B1 (en) * | 1994-02-21 | 1998-04-29 | Kabushiki Kaisha Toshiba | Soundness inspection apparatus and method for nuclear reactor fuel assembly |
WO1996001979A1 (en) * | 1994-07-07 | 1996-01-25 | Westinghouse Electric Corporation | Apparatus attaching occurrence time to sensor signals |
US5587932A (en) * | 1994-08-04 | 1996-12-24 | Fluke Corporation | On-board measurement system |
JP2810633B2 (en) * | 1994-11-04 | 1998-10-15 | 山一電機株式会社 | Impact measurement method in goods transportation |
US8280682B2 (en) | 2000-12-15 | 2012-10-02 | Tvipr, Llc | Device for monitoring movement of shipped goods |
US6266623B1 (en) * | 1994-11-21 | 2001-07-24 | Phatrat Technology, Inc. | Sport monitoring apparatus for determining loft time, speed, power absorbed and other factors such as height |
US7386401B2 (en) * | 1994-11-21 | 2008-06-10 | Phatrat Technology, Llc | Helmet that reports impact information, and associated methods |
JP2659694B2 (en) * | 1994-12-16 | 1997-09-30 | 山一電機株式会社 | Shock vibration memory method |
GB2296971A (en) * | 1995-01-10 | 1996-07-17 | Atomic Energy Authority Uk | Electronic monitor |
US5625569A (en) * | 1995-01-23 | 1997-04-29 | Trimmer Engineering, Inc. | Low power flow measuring device |
US5689442A (en) * | 1995-03-22 | 1997-11-18 | Witness Systems, Inc. | Event surveillance system |
US5638299A (en) * | 1995-06-22 | 1997-06-10 | Miller; Keith | Light weight, self-contained programmable data-acquisition system |
US5790427A (en) * | 1995-08-28 | 1998-08-04 | Westinghouse Air Brake Company | Event history data acquisition |
DE29514861U1 (en) * | 1995-09-15 | 1995-11-23 | Siemens Ag | computer |
US5955942A (en) * | 1995-11-28 | 1999-09-21 | Slifkin; Timothy P. | Methods and means for monitoring events in vehicles |
AU1565197A (en) * | 1995-11-28 | 1997-07-03 | Elexor Associates, Inc. | Methods and means for monitoring impacts in vehicles |
US5631427A (en) * | 1996-01-16 | 1997-05-20 | Dell Usa, L.P. | Accelerometer-based shock/vibration testing apparatus and associated methods for a portable computer |
US5797134A (en) * | 1996-01-29 | 1998-08-18 | Progressive Casualty Insurance Company | Motor vehicle monitoring system for determining a cost of insurance |
US6868386B1 (en) | 1996-01-29 | 2005-03-15 | Progressive Casualty Insurance Company | Monitoring system for determining and communicating a cost of insurance |
US8140358B1 (en) | 1996-01-29 | 2012-03-20 | Progressive Casualty Insurance Company | Vehicle monitoring system |
US8090598B2 (en) * | 1996-01-29 | 2012-01-03 | Progressive Casualty Insurance Company | Monitoring system for determining and communicating a cost of insurance |
US5917433A (en) * | 1996-06-26 | 1999-06-29 | Orbital Sciences Corporation | Asset monitoring system and associated method |
DE19713799A1 (en) * | 1997-04-03 | 1998-10-08 | Plettner Andreas | Data recorder |
US6882955B1 (en) | 1997-10-02 | 2005-04-19 | Fitsense Technology, Inc. | Monitoring activity of a user in locomotion on foot |
US6611789B1 (en) | 1997-10-02 | 2003-08-26 | Personal Electric Devices, Inc. | Monitoring activity of a user in locomotion on foot |
US6493652B1 (en) | 1997-10-02 | 2002-12-10 | Personal Electronic Devices, Inc. | Monitoring activity of a user in locomotion on foot |
US6876947B1 (en) | 1997-10-02 | 2005-04-05 | Fitsense Technology, Inc. | Monitoring activity of a user in locomotion on foot |
US6122340A (en) | 1998-10-01 | 2000-09-19 | Personal Electronic Devices, Inc. | Detachable foot mount for electronic device |
US6018705A (en) * | 1997-10-02 | 2000-01-25 | Personal Electronic Devices, Inc. | Measuring foot contact time and foot loft time of a person in locomotion |
US6560903B1 (en) | 2000-03-07 | 2003-05-13 | Personal Electronic Devices, Inc. | Ambulatory foot pod |
US6298314B1 (en) | 1997-10-02 | 2001-10-02 | Personal Electronic Devices, Inc. | Detecting the starting and stopping of movement of a person on foot |
US6122959A (en) * | 1998-01-14 | 2000-09-26 | Instrumented Sensor Technology, Inc. | Method and apparatus for recording physical variables of transient acceleration events |
US6244121B1 (en) * | 1998-03-06 | 2001-06-12 | Applied Materials, Inc. | Sensor device for non-intrusive diagnosis of a semiconductor processing system |
US6125686A (en) * | 1998-05-08 | 2000-10-03 | Pei Innovations Inc. | Impact measuring device for delicate and fragile articles |
GB2340969B (en) * | 1998-06-05 | 2003-02-12 | Trendview Recorders Ltd | Data logging |
US6266588B1 (en) * | 1999-03-01 | 2001-07-24 | Mcclellan Scott B. | Vehicle motion detection and recording method and apparatus |
US6516348B1 (en) * | 1999-05-21 | 2003-02-04 | Macfarlane Druce Ian Craig Rattray | Collecting and predicting capacity information for composite network resource formed by combining ports of an access server and/or links of wide arear network |
US6421354B1 (en) | 1999-08-18 | 2002-07-16 | Phoenix Datacomm, Inc. | System and method for retrieval of data from remote sensors using multiple communication channels |
AU2732701A (en) * | 2000-01-07 | 2001-07-24 | Safeship International, Inc. | Method for monitoring parcel shipping systems |
US6643608B1 (en) * | 2000-02-22 | 2003-11-04 | General Electric Company | System and method for collecting and analyzing shipment parameter data affecting predicted statistical variables of shipped articles |
US7152473B1 (en) * | 2000-03-17 | 2006-12-26 | Input/Output, Inc. | Integrated and multi-axis sensor assembly and packaging |
US6413145B1 (en) * | 2000-04-05 | 2002-07-02 | Applied Materials, Inc. | System for polishing and cleaning substrates |
GB0014134D0 (en) * | 2000-06-10 | 2000-08-02 | Astrazeneca Ab | Combination therapy |
GB2364127B (en) * | 2000-06-29 | 2004-08-25 | Univ London | Method and apparatus for monitoring structural fatigue and use |
US6691068B1 (en) * | 2000-08-22 | 2004-02-10 | Onwafer Technologies, Inc. | Methods and apparatus for obtaining data for process operation, optimization, monitoring, and control |
US7171331B2 (en) | 2001-12-17 | 2007-01-30 | Phatrat Technology, Llc | Shoes employing monitoring devices, and associated methods |
JP2002243754A (en) * | 2001-02-15 | 2002-08-28 | Matsushita Electric Ind Co Ltd | Electronic apparatus and impact detecting method for detecting impact exerted thereon |
AU2002255568B8 (en) | 2001-02-20 | 2014-01-09 | Adidas Ag | Modular personal network systems and methods |
US6842717B1 (en) * | 2001-10-16 | 2005-01-11 | Hi-Lex Controls, Inc. | Method and apparatus for evaluating automotive window regulators |
NO315195B1 (en) * | 2001-10-22 | 2003-07-28 | Oskar E Langeland | Method and apparatus for quality assured transport |
US6711496B2 (en) * | 2001-11-01 | 2004-03-23 | Jack A. Denton | System and method of monitoring cargo container mobility and efficiency |
JP2003232888A (en) | 2001-12-07 | 2003-08-22 | Global Nuclear Fuel-Japan Co Ltd | Integrity confirmation inspection system and integrity confirmation method for transported object |
US20070121423A1 (en) * | 2001-12-20 | 2007-05-31 | Daniel Rioux | Head-mounted display apparatus for profiling system |
CA2366030A1 (en) * | 2001-12-20 | 2003-06-20 | Global E Bang Inc. | Profiling system |
IL147692A0 (en) * | 2002-01-17 | 2002-08-14 | Innersense Ltd | Machine and environment analyzer |
FI119078B (en) * | 2002-02-12 | 2008-07-15 | Nokia Corp | Accelerometer |
GB0206905D0 (en) * | 2002-03-23 | 2002-05-01 | Oxley Dev Co Ltd | Electronic tags |
DE10236772A1 (en) * | 2002-08-10 | 2004-02-19 | Robert Bosch Gmbh | Sensor testing device, especially self-test device, for use with all manner of industrial and automotive sensors, whereby the sensor has a measurement range that is greater than its normal operating range |
FR2844902B1 (en) * | 2002-09-19 | 2013-09-13 | Eads Ccr Groupement D Interet Economique | DEVICE AND METHOD FOR RECORDING ENVIRONMENTAL DATA |
US6909985B2 (en) * | 2002-11-27 | 2005-06-21 | Lockheed Martin Corporation | Method and apparatus for recording changes associated with acceleration of a structure |
WO2004080615A2 (en) * | 2003-03-10 | 2004-09-23 | Sensor Wireless Incorporated | Apparatus for detecting and reporting environmental conditions in bulk processing and handling of goods |
KR20060004677A (en) * | 2003-04-25 | 2006-01-12 | 가부시키가이샤 니콘 | Warning device, device and method of transportation, and exposure device |
US7821421B2 (en) | 2003-07-07 | 2010-10-26 | Sensomatix Ltd. | Traffic information system |
EP1521364B1 (en) * | 2003-09-29 | 2013-08-21 | EM Microelectronic-Marin SA | Method and apparatus for filtering signals generated by a piezoelectric accelerometer, and application in a portable object such as a watch |
ITTO20040436A1 (en) * | 2004-06-28 | 2004-09-28 | St Microelectronics Srl | FREE FALL DETECTION DEVICE FOR THE PROTECTION OF PORTABLE APPLIANCES. |
EP1612565B1 (en) | 2004-06-28 | 2011-01-19 | STMicroelectronics Srl | Free-fall detection device and free-fall protection system for a portable electronic apparatus |
KR100618866B1 (en) * | 2004-10-02 | 2006-08-31 | 삼성전자주식회사 | Method and apparatus for detecting free falling of an electronic device |
US7191089B2 (en) * | 2004-12-01 | 2007-03-13 | Freescale Semiconductor, Inc. | System and method for fall detection |
US7369345B1 (en) | 2004-12-03 | 2008-05-06 | Maxtor Corporation | Mobile hard disk drive free fall detection and protection |
US7350394B1 (en) * | 2004-12-03 | 2008-04-01 | Maxtor Corporation | Zero-g offset identification of an accelerometer employed in a hard disk drive |
US7434192B2 (en) * | 2004-12-13 | 2008-10-07 | Altera Corporation | Techniques for optimizing design of a hard intellectual property block for data transmission |
US20070169551A1 (en) * | 2005-06-13 | 2007-07-26 | Analog Devices, Inc. | MEMS Sensor System with Configurable Signal Module |
US7911339B2 (en) | 2005-10-18 | 2011-03-22 | Apple Inc. | Shoe wear-out sensor, body-bar sensing system, unitless activity assessment and associated methods |
US7643895B2 (en) | 2006-05-22 | 2010-01-05 | Apple Inc. | Portable media device with workout support |
US8073984B2 (en) | 2006-05-22 | 2011-12-06 | Apple Inc. | Communication protocol for use with portable electronic devices |
US20070271116A1 (en) | 2006-05-22 | 2007-11-22 | Apple Computer, Inc. | Integrated media jukebox and physiologic data handling application |
US9137309B2 (en) | 2006-05-22 | 2015-09-15 | Apple Inc. | Calibration techniques for activity sensing devices |
US7913297B2 (en) | 2006-08-30 | 2011-03-22 | Apple Inc. | Pairing of wireless devices using a wired medium |
US7813715B2 (en) | 2006-08-30 | 2010-10-12 | Apple Inc. | Automated pairing of wireless accessories with host devices |
US7698101B2 (en) | 2007-03-07 | 2010-04-13 | Apple Inc. | Smart garment |
US7849740B2 (en) * | 2007-03-12 | 2010-12-14 | Nix Tek Inc. | Impact resistant speed sensing object |
US7974689B2 (en) * | 2007-06-13 | 2011-07-05 | Zoll Medical Corporation | Wearable medical treatment device with motion/position detection |
US8411829B2 (en) * | 2008-12-16 | 2013-04-02 | James D. Logan | System, method and device for managing messages |
US9916625B2 (en) | 2012-02-02 | 2018-03-13 | Progressive Casualty Insurance Company | Mobile insurance platform system |
US8489433B2 (en) | 2010-07-29 | 2013-07-16 | Insurance Services Office, Inc. | System and method for estimating loss propensity of an insured vehicle and providing driving information |
US20120191379A1 (en) * | 2011-01-24 | 2012-07-26 | University Of Georgia Research Foundation, Inc. | Impact sensing and recording |
US9140637B2 (en) | 2011-03-31 | 2015-09-22 | Mihaly Kis, JR. | Method and apparatus for simulating head impacts for helmet testing |
US9799185B2 (en) * | 2012-04-13 | 2017-10-24 | Gordon Jessop | Method, device, and computer program for mobile asset tracking |
US8454557B1 (en) * | 2012-07-19 | 2013-06-04 | Asante Solutions, Inc. | Infusion pump system and method |
US9195269B2 (en) * | 2013-03-27 | 2015-11-24 | Nvidia Corporation | System and method for mitigating shock failure in an electronic device |
US9826096B1 (en) | 2015-12-01 | 2017-11-21 | 8X8, Inc. | Visual interfaces for telephone calls |
KR20180048098A (en) * | 2016-11-02 | 2018-05-10 | 삼성전자주식회사 | Electronic device providing information of battery and method of operating the same |
US10823439B2 (en) * | 2016-12-14 | 2020-11-03 | Dell Products L.P. | Systems and methods for reliability control of information handling system |
CN111982445A (en) * | 2020-04-15 | 2020-11-24 | 曲阜师范大学 | Non-destructive testing method for buffering performance of packaging piece |
GB2613157A (en) * | 2021-11-24 | 2023-05-31 | Ocado Innovation Ltd | An article for use with a robotic manipulator |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU676932A1 (en) * | 1974-12-19 | 1979-07-30 | Предприятие П/Я Р-6303 | Noise-protected device for measuring shock impulses |
US4114450A (en) * | 1977-10-31 | 1978-09-19 | Systems Consultants, Inc. | Electronic recording accelerometer |
US4395624A (en) * | 1980-11-03 | 1983-07-26 | Fleet Tech, Inc. | Moving vehicle monitoring system |
US4387587A (en) * | 1981-06-17 | 1983-06-14 | Faulconer Boyd M | Motor vehicle deceleration data acquisition and processing apparatus and methodology |
DE3232416A1 (en) * | 1982-09-01 | 1984-03-01 | Kienzle Apparate Gmbh, 7730 Villingen-Schwenningen | Data acquisition system for vehicles |
DE3405757A1 (en) | 1983-02-26 | 1984-10-04 | Edmund 7016 Gerlingen Zottnik | ACCIDENT RECORDER |
JPS59176963U (en) * | 1983-05-12 | 1984-11-27 | 三菱電機株式会社 | Optical acceleration measurement device |
-
1986
- 1986-02-07 US US06827142 patent/US4745564B2/en not_active Expired - Lifetime
-
1987
- 1987-01-21 EP EP87100801A patent/EP0235534A1/en not_active Ceased
- 1987-02-05 CA CA000529078A patent/CA1296426C/en not_active Expired - Lifetime
- 1987-02-07 JP JP62027053A patent/JP2666926B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491971B2 (en) | 2014-10-02 | 2019-11-26 | Solentum B.V. | Sensor for monitoring ambient characteristics |
Also Published As
Publication number | Publication date |
---|---|
US4745564B2 (en) | 2000-07-04 |
JP2666926B2 (en) | 1997-10-22 |
JPS6413465A (en) | 1989-01-18 |
US4745564A (en) | 1988-05-17 |
EP0235534A1 (en) | 1987-09-09 |
US4745564B1 (en) | 1997-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1296426C (en) | Impact detection apparatus | |
US5600576A (en) | Time stress measurement device | |
US4114450A (en) | Electronic recording accelerometer | |
Smith et al. | The ACE magnetic fields experiment | |
US4885707A (en) | Vibration data collecting and processing apparatus and method | |
CN106707791B (en) | The synchronous evaluation system of Hardware-in-the-Loop Simulation in Launch Vehicle and method | |
ES8703028A1 (en) | Fatigue monitoring method of components, for example in a nuclear power station. | |
AU619074B2 (en) | Device for monitoring the gait in particular of a horse and monitoring system to which it is applied | |
CN105319463B (en) | Machine upper ground surface test simulation driver | |
EP1337899A1 (en) | A storage system and a related storage box for fresh produce grown outdoors | |
CN109238273B (en) | Roller coaster motion state monitoring method and device | |
CN110470173B (en) | Mechanical state sensing bullet of artillery raising supply and delivery system and testing method thereof | |
EP0119854B1 (en) | Combinatorial weighing method and apparatus | |
CN106940414A (en) | Power circuit monitoring method and device | |
Upadhyaya et al. | Limb impact harvesting, Part II: Experimental approach | |
ZEHR | Satellite diagnosis of tropical cyclones | |
CN107798377A (en) | A kind of high-precision weighing counts the control system of drawer | |
CN113112040A (en) | Detection method, terminal, server, detection system and readable storage medium | |
DE19543909A1 (en) | Interactive cheque card providing measured parameter values | |
CN107570429B (en) | Logistics weighing and sorting system | |
CN217403604U (en) | High-speed vibration monitoring equipment | |
CN213522159U (en) | Weighbridge monitoring system | |
CN202757689U (en) | Infrared detection apparatus | |
CN104637116B (en) | Battery bag shakes tape deck and method | |
Ballestrin et al. | Low cost wireless sensor network for vibration detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |