Subcabinet movement initiator
This is a continuation-in-part of copending application Ser. No. 0/482,784 filed on Feb. 21, 1990 now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to a electrically controlled office furniture. More particularly, the subject invention relates to office furniture with an automatic motion initiator for each storage unit that is a part of the housing of the office furniture. 
     2. Description of the Related Art 
     The construction of office furniture, such as file cabinets, is well known in the related art. The office furniture typically comprises a cabinet defining a housing, storage units or drawers sub-dividing the housing, and handles for opening each subhousing. The face of the storage units are designed to be flush with the face of the office furniture. Because of this design, the need for the storage unit handles arises. It is obvious that storage unit handles are a necessity because, otherwise, personnel would have no other way to pull the storage units open. 
     The problem related to this design of the aesthetic quality of the office furniture. A piece of standard office furniture, such as a file cabinet, can never be juxtaposed modern office furniture, that which is typical found in executive offices. The smooth flowing designs of the modern office furniture are interrupted when placed next to a standard a file cabinet, in addition to reducing the overall desired effect or statement attempted by using modern furniture. 
     U.S. Pat. No. 2,946,637 to Becker, issued Jul. 26, 1960, discloses a power operated drawer structure for desks. Buttons on the desk top are used to select which drawer and which direction the selected drawer is to move. The system is highly mechanized and controls the whole movement of the drawer from either the open or closed condition to the opposite condition in which it started. This system is deficient because it increases cost, weight, operation time, and energy consumption. 
     SUMMARY OF THE INVENTION AND ADVANTAGES 
     A storage assembly comprising housing means defining an enclosure is disclosed. The storage assembly further comprises a plurality of storage unit means to be supported by said housing means for movement between a closed condition and an open condition. Input means receives an input code and control means transforms the input code into a actuation signal. The assembly characterized by a plurality of initiating means each fixedly secured to each of the plurality of storage unit means for nonlatchingly applying a force to one of the plurality of storage unit means only upon receiving the actuation signal to move one of the storage unit means out of the closed condition. The advantage of such an office furniture assembly, including initiating means, is one of increased flexibility as to types of exterior finishes the office furniture assembly may have. For example, an office furniture assembly may have a flat surface with no handles with which to pull. Additionally, the initiating means is a light weight assembly which operates quickly with minimal energy consumption. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Other advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawing wherein: 
     FIG. 1 is a perspective view of the first embodiment of the subject invention; 
     FIG. 2 is a block diagram of the circuitry of the first embodiment of the subject invention; 
     FIG. 3 is a perspective view partially cut away of the preferred embodiment of the subject invention; 
     FIG. 4A is a side view of applicating means shown in the locked position with the receiving means shown in phantom in the unlocked position; 
     FIG. 4B is a side view of the applicating means rotating toward the unlocked position; 
     FIG. 4C is a side view of the applicating means in its fully rotated position; 
     FIG. 4D is a side view of the applicating means in the locked position with the receiving means moving toward the locked position; 
     FIGS. 5A and 5B are a schematic representation of the circuitry of the control means of the preferred embodiment; 
     FIGS. 6A through 6D and 7A through 7B are a flow chart of the control means of the preferred embodiment of the subject invention; 
     FIG. 8 is a block diagram of the circuitry of the control means of the preferred embodiment of the subject invention; and 
     FIG. 9 is flow chart of the remote programmer. 
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS 
     A storage assembly, generally shown at 10, comprises a housing means 12 that defines an enclosure. The housing means 12 houses a plurality of storage units 14. These storage units 14 are supported by the housing means 12 for movement between a closed condition and an open condition. 
     The storage assembly 10 further comprises individual locking means 16 for movement between a locked condition for locking the associated storage units 14 in the closed position and an unlocked condition for allowing the associated storage unit 14 to move to the open position. In the first embodiment, the locking means 16 comprises a solenoid 16a and a storage unit protrusion 16b. When the plunger 17 of the solenoid 16a is in the extended position, the plunger 17 prevents the storage unit protrusion 16b and, therefore, the storage unit 14 from moving to the open position. This locking mechanism 16 is disclosed in U.S. Ser. No. 599,676, a continuation-in-part of U.S. Ser. No. 304,949, which is of the same inventorship. 
     A control means 18 produces an actuation signal for controlling the locking means 16. This control means 18 comprises an input means 20 for receiving an input code. The input means 20 is a typical alphanumeric keyboard wherein the contacts at the tips of the buttons 21 produce a logic high or one. The internal logic of the keyboard, not a part of the subject invention, will then provide a signal characteristic of the depressed button 21 to the first memory means 22 and a comparing means 24. The input means 20 is used also for inputting the access code. The access code is stored in the first memory means 22 and is used to be compared with the input code. The first memory means 22 has a buffer which has the capability of storing several access codes. When the input code is entered, the first memory means 22 unloads all of its access codes stored in the buffer serially and sends them to the comparing means 24 to be compared. This process stops when an access code is matched with the input code or when there are no more access codes with which to compare the input code. 
     The comparison is done by a comparing means 24. The comparing means 24 will receive the input and an access code and store them in two separate temporary buffers. The comparing means 24 will then compare the two codes using a digital circuit not a part of the subject invention. If the two codes do not match correctly, the buffer containing the access code and enter the next access code to be compared. If none of the access codes match, the comparing means 24 will not produce an unlock signal. If the input code matches the access code, the comparing means 24 will produce an unlock signal which will be received by a selection means 26. The selection means 26 may be any type of input device that is capable of associating an input with the proper storage unit 14. Such devices that are common to the art are analog dials and digital keypads. The selection means 26 used in control means 18 is a digital keypad and, in order to avoid duplicity of parts and increased costs, the selection means 26 utilizes the buttons 21 of the alphanumeric keypad 20. 
     The control means 18 further includes limiting means 28. The limiting means 28 is a circuit that receives the coded signal from the selection means 26. The limiting means 28 then determines to which storage unit 14 the coded signal represents. Again, this is done using simple digital logic and it is not a part of the invention. The limiting means 28 allows current to flow to the locking means 16 of the selected storage unit 14. The locking means 16 associated with the remaining storage units 14 are unaffected by the limiting means 28. These remaining storage units 14 remain locked in the closed position when any one of the storage units 14 is unlocked and opened. 
     The selection means 26 operates in two modes. The first of which occurs upon the selection means 26 not receiving the unlock signal from the comparing means 24. In this mode, the selection means 26 remains in an inoperable mode, i.e., it will not allow a user to select a storage unit 14. 
     When, however, the selection means 26 receives an unlocked signal from the comparing means 24, the selection means 26 enters its second mode of operation. The selection means 26 becomes operable and the user may select a specific storage unit 14 to unlock and move into the open position. The digital logic used to control the mode in which the selection means 26 is to be operated may be a simple AND circuit. This circuit, however, is not a part of the subject invention as it is well known in the art. Once a storage unit 14 has been selected, a coded signal indicative of that particular storage unit 14 will be produced. 
     In the first embodiment, the limiting means 28 comprises a processor means 30. The coded signal is received by the processor means 30. The processor means 30 processes the coded signal and outputs the actuation signal which is sent to the locking means 16 of the indicated storage unit 14. The output of the processor means 30, the actuation signal, may be a serial output in which the individual locking means 16 are connected serially or it may be in parallel form. The first embodiment shows the individual locking means 16 to be connected to the processor means 30 in parallel form. Thus, the processor means 30 produces an on/off signal, i.e., the actuation signal, and activates only one of the individual locking means 16. 
     In other words, the processor means 30 receives the coded signal indicative of one of the plurality of storage units 14 and produces the actuation signal to be sent through the actuation means 33 associated with that particular storage unit 14. The first embodiment defines the actuation means 33 to be a hard-wired coupling. This is to be in no way limiting as it may be appreciated to one skilled in the art that any electronic coupling, i.e., radio waves, may be acceptable for such an operation. 
     The control means 18 further includes sensing means 34 associated with each of the storage units 14. Each sensing means 34 senses the position of its associated storage unit 14. The sensing means 34 sends a signal indicative of either the open position or the closed position. 
     A disabling means 36 receives the indication signals produced by the sensing means 34 and disables the processor means 30 when one of the indication signals indicates one of the storage units 14 is in the open position. The processor means 30 is enabled as soon as the sensing means 34 senses all of the storage units in the closed position. 
     The first memory means 22 has enough memory capability for storing more than one access code. Having more than one access code allows different personnel different levels of entry. For example, a manager may have control over several different file cabinets. It would be very difficult for him to remember each access code for each file cabinet. Therefore, the manager needs to know only one access code for all file cabinets whereas each file cabinet may have a different access code corresponding to the department in which it is located. 
     The input means 20 has an additional capability for transferring a new access code to the first memory means 22. The transfer means 38 is activated when the input means is placed in the second mode of operation. This is done by pressing the program button, not located with the majority of the input means 20, and then entering the new access code. Entering a new access code enhances the security level of the file cabinet system and allows employees using the file cabinets to change the old access code when it is forgotten by authorized personnel or discovered by unauthorized personnel. 
     A second memory means 40 is incorporated into the control means 18. Information relating to the time of an access and the code which is used to access the storage assembly 10 are stored in the second memory means 40. The second memory means 40 includes an interface means 42 for transferring the information of the second memory means 40 to an external processor means. 
     The control means 18 further includes a first power interface means 44 for receiving power external of the housing means 12. Any adaptor suitable for receiving power from a standard plug may be used. The control means also includes a second power interface 46 which is within the housing means 12 and is used for receiving stored energy from a battery 48 wherein the stored energy is used in an emergency situations. 
     The control means 18 further includes initiating means 50 for applying a force to the back of the storage unit 14 sufficient to push the storage unit 14 away from the closed position. The initiating means 50 may include a spring, a solenoid, a lever (none shown) or any other mechanical device or any combination of mechanical devices suitable for supplying a force. Inherent in the design of utilizing a solenoid for applying a force to the back of a storage unit 14 is that the solenoid neither latches or locks itself to the storage unit 14, nor does the solenoid constantly apply a force to the back of the storage unit 14. Therefore, the selected storage unit 14 may be manually operated at any time after the operator of the storage assembly 10 can use the face of the storage unit 14 as a handle. This nonlatching characteristic of the solenoid as the storage unit initiating means 50 is desirable because it allows the operator to open the storage unit 14 at whatever speed the operator chooses. The initiating means 50 may either be activated the same time as the solenoids 16 are activated for that particular storage unit 14, after a time T1 established by time delay means 32, or they may always be applying a force wherein the initiating means 50 will release the applied force only when the locking means 16 release that particular storage unit 14. The time delay means 32 may be any device suitable for delaying a signal, such as a capacitive switch (not shown). The time T1 need not be more than a fraction of a second. 
     If the initiating means 50 is activated when a particular storage unit 14 is selected, the initiating means 50 will be responsive to the actuation signal as additional signals would be redundant. Because some storage assemblies 10 will use the initiating means 50, the storage unit handles or pulls 52 on this type of storage assembly 10 will no longer be necessary. The storage assembly 10 can have a flat wall-type appearance that may be finished in a number of ways without the pulls 52 subtracting from the flat look. 
     In operation, a user will use the method of inputting the input code through the input means 20. The access code, currently in the first memory means 22, is compared with the input code by the comparing means 24. Dependent upon the comparison results, a lock or an unlock signal is produced from the comparing means and is sent to the selection means 26. If a lock signal is sent to the selection means 26, the second memory means 40 will record the attempted entry. If an unlock signal is sent to the selection means 26, the user then inputs through the input means 20 a code, usually a number, representative of a individual storage unit 14. The second memory means 40 will record the entry and the storage unit 14 selected. The coded signal from the selection means 26 then is received by the processor means 30. The processor means 30 uses the identification means 32 and produces an actuation signal. The actuation signal is sent to the individual locking means 16 associated with the storage unit 14. The storage unit 14 then has a window of time in which it may be moved into the open position. Since the storage assembly 10 is of the type with the initiating means 50, the initiating means 50 for the chosen storage unit 14 will receive an open signal and initiate the opening process of that particular storage unit 14. Once the storage unit moves out of the closed position, the sensor means 34 senses the storage unit 14 in the open position and sends a disabling signal to the disabling means 36 which disables the processor means 30 from sending any actuation signals to any other storage unit 14. 
     Once the selected storage unit 14 is moved back into the closed position, the sensing means 34 stops sending a disabling signal which allows the processor means 30 to process another actuation signal to allow another storage unit 14 to enter the open position. 
     Each time a user inputs a selection the second memory means 40 records the selection and the time. When requested through the use of an external processing unit, the interface means 42 will access the second memory means 40 and the data will be displayed via an appropriate medium for the specified period of time. 
     The input means 20, when in the second mode of operation, allows the user to enter a new access code to be stored in the first memory means 22. This new access code will be the access code with which the subsequent input codes will have to match. 
     The invention has been described and shown in a storage assembly 10 typically referred to as a file cabinet. It will be will appreciated that the initiating means 50 may be used in any type of furniture that has drawers or doors. 
     THE PREFERRED EMBODIMENT 
     In the preferred embodiment, an office furniture assembly, generally shown at 110, comprises housing means 112 that defines an enclosure. The housing means 112 houses a plurality of storage unit means 114. The storage unit means 114 are supported by the housing means 112 for movement between a closed condition and an open condition. The storage assembly 110 includes input means 101 for receiving an input code and for converting the input code into an electrical signal. The electrical signal is received by control means 110 which transforms electrical signal into an actuation signal. The office furniture assembly 110 further includes a plurality of initiating means 103 wherein each of the plurality of initiating means 103 are associated with each of the plurality of storage unit means 114. The plurality of initiating means 103 individually and independently initiate movement of the storage unit means 114 out of the closed condition and towards a fully open condition. The initiating means 103 will not, however, move the storage unit means 114 to the fully open condition. The subject invention 110 is characterized by the initiating means 103 nonlatchingly applying a force to independently move one of the plurality of storage unit means (114) out of the closed condition toward the open condition only upon receiving the actuation signal. Any time after the following means 107 is unlocked (to be discussed subsequently), the following means 107 may be manually pulled away from the initiating means 103 so the storage unit means 114 may be opened manually. This is advantageous to hurried operators who do not wish to wait for a mechanized storage unit means 114 to open. In other words, the primary function of the initiating means 103 is not to completely open the storage unit means 114, but merely to provide a means with which an operator may grab onto the storage unit means 114 wherein the storage unit means 114 does not have any handles. 
     Said another way, the initiating means 103 starts moving the storage unit means 114 toward the open condition so that the operator may grab onto the edges of the storage unit means 114 to complete the movement of the storage unit means 114 to its fully open position. The initiating means 103 pushes the storage unit means 114 without engaging or being attached to the storage unit means 114. This allows the storage unit means 114 to be sufficiently pushed out of the closed position to allow the operator to grab hold of the storage unit means 114 so that the operator may open it to the degree of openness as is desired. 
     The initiating means 103 nonlatchingly engages its associated storage unit means 114 only when the initiating means 103 receives the actuation signal. When an actuation signal is not received by the control means 110, the initiating means 103 does not apply a force to the storage unit means 114. Therefore, when a storage unit means 114 is in the closed condition, there are no horizontal forces acting on the storage unit means 114 which would move the storage unit means 114 toward the open or closed conditions if they were to be somehow unlocked. Said another way, the lock 129 (to be discussed subsequently) is not needed or used to balance any horizontal forces because the initiating means 103 is not applying a substantially greater force which would tend to move the storage unit means 114 to the open condition. 
     The plurality of initiating means 103 further includes a plurality of camming means 105 selectively forcing one of the plurality of storage unit means 114 out of the closed condition. 
     Associated with each of the camming means 105 is a following means, generally indicated at 107. The following means 107 is fixedly attached to the storage unit means 114 for translating the rotational movement of the camming means 105 into the linear movement of the storage unit means 114. The following means 107 comprises a pin 109 which extends perpendicularly from each of the storage unit means 114. Surrounding each of the pins 109 is a roller 111 which physically contacts the camming means 105. The roller 111 allows the camming means 105 to smoothly move the following means 107 with minimal frictional loss. 
     Each of the plurality of camming means 105 is operated by one of a plurality of motor means 113, which are mounted to the inside of the storage unit 100 via mounts 153 and fasteners 155. Motor driver means 144 switches the 24 volt DC power with Darlington transistors Q1, Q2 to drive the respective motor driven initiating means 103. The motor means 113 may be any type of motor which will provide a constant rotational speed at a power level suitable for moving a completely full storage unit means 114. In the case of a file cabinet, the motor means 113 will be required to move more force as the storage unit means 114 will be drawer 114, as shown in the Figures, and may be completely full at any given time. In the case where the housing means is a covered shelf (not shown), the motor means 113 may be a smaller motor, i.e., a 12 volt motor, because the motor means 113 will only be required to move the shelf cover. 
     The camming means 105 includes a cam surface 115 and an axis of rotation 117. The cam surface 115 includes a start end 143 and a finish end 121 wherein the distance between the cam surface 115 and the axis of rotation 117 increases linearly from the start end 143 through the finish end 121. The profile of the cam surface 115 resembles the profile of a conch shell. The axis of rotation 117 is fixed with respect to the motor means 113 and the housing means 112 via a shaft 123. The shaft 123 has a plane cut 125 to eliminate any lost motion between the camming means 105 and the motor means 113 through the shaft 123. In other words, the shaft 123 has a profile similar to that of the letter `D`. 
     The camming means 105 further includes locking means 127 for locking each of the plurality of following means 107 when the respective storage unit means 114 is in the closed condition. The locking means includes a hook 129 which is attached to a flexible stem 131. As best seen in FIG. 4D, the flexible stem 131 allows the hook 129 to ride over the following means 107 when the storage unit 114 is being returned to the closed condition. Because the flexible stem 131 is fixably attached to the camming means 105, the hook 129 rotates away from the following means 107 as the motor means 113 rotates the camming means 105 to move the following means 107 and, subsequently, the storage unit means 114 out of the closed condition. The locking means 127 is not, however, used to restrict movement of the storage unit means 114 due to any forces applied to it by the initiating means 103. The locking means 127 is used only to prevent unwarranted access. Once the initiating means has been activated, the locking means 127 rotates to an unlocked position. In other words, the locking means 127 does not provide a force to the storage unit means 114 which counters or acts oppositely of the initiating means 103, but only opposite any force exerted on the storage unit means 114 by someone trying to gain access without permission. 
     A stop 133 comprising a pin 133 is used to prevent the camming means 105 to rotate indefinitely or, in the alternative, beyond a specified position. After the camming means 105 has moved the storage unit means 114 as fully as possible, the motor means 113 will reverse its direction of rotation and return the camming means 105 back to its starting position after a predetermined time has elapsed. 
     FIG. 3 illustrates a perspective view partially cut away of the preferred embodiment 100 The office furniture assembly 100 of the preferred embodiment includes input means 120, locking means 127, interface 142, control means 110, housing 112, sensing means 134, and a storage unit means 114. The control means 110 decodes the entered input code and grants or denies access to the storage unit 114 according to the validity of the code. The input means 120 includes a keypad 141 and an indicator panel 121. The keypad 141 includes six depressible keys 119 numbered 1, 2, 3, 4, 5, 6. The six numbered keys 119 are utilized for the input of input codes and access codes, and for the selection of a storage unit 114. A colored key 118, such as a green color, allows for initial set-up and access coding of the control means 110. A light 122, generally green in color, is included on the indicator panel 121 and indicates that access has been checked and authorized, and that selection of the particular storage unit 114 is now required. Also included on the keypad 141 is a red colored key 124. The red key 124 is depressed to manually lock the storage unit means 114. Also included is a power supply terminal 126 for receiving a temporary or emergency battery power supply. The housing 112 includes a reset button (not shown) located in a generally obscure area of the housing 112. The reset button may be depressed in order to reprogram the access code when only one access code is utilized. The input means 120 includes a programming port 130 adapted to be attached to a remote programming means 132 which is capable of setting a plurality of access codes when a plurality of access codes are utilized. Lastly, the housing 112 includes timing means 135 accessible to the user for setting the time delay, if any, of which to allow unlocking of the assembly 100 after authorization in the input code without the necessity of re-inputting the input code. 
     As best illustrated in FIGS. 5A and 5B, the control means 110 includes a power supply 136 which is connected to AC line voltage via a line plug or hard wire connection 137. A 24 volt AC converter power supply may be connected to a wall outlet and to the cable/plug 137 with a two conductor cable and miniature plug. This is used for a single stand alone office furniture assembly 100 or cabinet of storage unit means 114. A higher current power supply is utilized for a bank of up to five storage assemblies 100. This high current supply may reside below the housing 112 and connects to a main harness assembly. The supply also supplies a 24 volt DC. The power supply 136, is connected, via a voltage divider 137, to the remainder of the control means 110 wherein a nominal 12 volt DC is delivered. 
     A step down voltage regulator 140 is connected to the power supply 136 and is comprised of a LM7805 integrated circuit and appropriate decoupling capacitors. The voltage regulator 140 delivers five volts DC to the other portions of the control means 110. 
     Also included is motor driver means 144 connected to the power supply 136. The motor driver means 144 is responsive to the control means 110 to actuate one of the camming means 103 for allowing opening of the selected storage unit 114. Indicator driver means 146 is also connected to power and responsive to the control means 110 to actuate the green light 122 and provide audio indication for indicating the authorized access to the selected storage unit 114 or disallowance thereof. 
     The control means 110 includes processor means 148 which receives inputs of codes and storage unit selection numbers and authorizes opening of a particular storage unit 114. The processor means 148 is connected to and controls the motor driver means 144 and the indicator driver means 146. 
     The keyboard 141 is connected to input port means 150 which receives the coding of the keys 116 depressed and transmits an 8-bit data signal indicative of such actuation to the processor means 148 via a data bus 152. Each of the sensing means 134 are connected to switch port means 154 which monitors the sensing means 134 and transmits a code or disable/enable signal indicative of status thereof to the processor means 148 also via the data bus 152. The switch port means 154 is also connected to the reset button and the timing means 135 wherein the code transmitted by the switch port means 154 includes the status of the reset button and timing means 135. Also included is coding port means 156 for providing a key code for the office furniture assembly 100 which may also be used as an access code. Loop address port means 158 identifies which office furniture assembly 100 of several on a network is transmitting data when several are utilized with the same external computer or to identify if communication is requested with the particular office furniture assembly 100. 
     The processor means 148 is connected to program memory 160, data memory 162, low address latch 164 and high address decoder 166. The program memory 160 stores the operating program code for the processor means 148. The data memory 162 stores the access codes and the unit assignment number 114, and information regarding the history of accessing the office furniture assembly 100. The low address latch 164 provides the lower address byte and the high address decoder 166 provides the higher addressing byte for addressing the program 160 and data memory 162 and ports 150, 154, 156, 158. The low order address is demultiplexed from the data bus 152 by the low address latch 164. The high address decoder 166 decodes the high order address from an address bus 174 connected to the processor means 148. A control signal line 176 is connected to and provides control signals to the low address latch 164, program memory 160, data memory 162, and high address decoder 166. 
     The processor means 148 is also connected to reset generation means 168 and interface means 142 comprising, computer interface means 170 and programmer interface means 172. The reset generation means 168 holds the control means 110 in a reset condition during power-up and also disables the processor means 148 with a reset if the input voltage falls below a predetermined level to prevent erroneous data from being written into the data memory 162 during power-up and power-down. Additionally, the reset generation means 168 will reset the processor means 148 during error interruption thereof. The computer interface means 170 allows the processor means 148 to communicate with a personal computer. The programmer interface means 172 allows the processor means 148 to be programmed and deprogrammed with access codes by the remote programming means 132. 
     The processor means 148 includes a processor unit 178 comprising an 8 bit CMOS micro controller (Intel 80C31). The processor unit 178 is used in the external addressing mode to read its operating microcode from program memory 160, store and retrieve data in external data memory 162, and control the four 8-bit input port means 150, 154, 156, 158. The data bus 152 interconnects each of the above. The port means 150, 154, 156, 158 include four separate 8-bit three state buffers (74HC244) 177, 179, 180, 181 plus external circuitry. When enabled, these buffers 177, 179, 180, 181 place the contents of their input onto the 8-bit data bus 152. The low order 8-bit address is demultiplexed from the data bus 152 by the lower address latch 164, comprising an 8-bit latch (74HC373). The latch 164 stores the address that is present on the data bus 152 during the first portion of the instruction cycle on the falling edge of the address latch enable (ALE) control signal 176. This latched address is delivered to the program memory 160 and the data memory 162. The high order address bus 174 is output directly from the processor unit 178 and delivered to the program memory 160, the data memory 162, and the high address decoder 166. The high address decoder 166 decodes the high order address along with the data read control signal 176 from the processor unit 178 and delivers a dedicated read signal 182 to each of the four 8 bit buffers 177, 179, 180, 181. The dedicated read signal 182 is also delivered to the reset generation means 168 to continually reset the reset generation means 168. 
     The processor unit 178 receives the program code from the data contained in the program memory 160, which memory 160 is a typical EPROM (27C64). 
     The EPROM 160 is read when the processor unit 178 brings the PSEN (program store enable) line low. This enables the OE pin (output enable) of the EPROM 160 and places data on the data bus 152. The address decoding is handled by the high address decoder means 166 (74HC138). The address decoder 166 is a demultiplexer which decodes the upper address bytes of the address bus 174 and &#34;ORs&#34; the read line 182 with the address to control the buffers 177, 179, 180, 181. 
     The processor unit 178 clock is controlled by crystal Xl. This crystal Xl oscillates at 11 MHz and is divided by 12, by the processor unit 178, to produce a system clock period of 1.09 microseconds. 
     Access codes and unit assignment numbers associated with each access code are stored in the external data memory 162. This memory 162 is a 2K×8 static RAM. This RAM 162 is battery backed by batteries 48. This RAM 162 is a CMOS memory (6116). The data memory 162 includes access memory 240 for storing access codes, assignment memory 241 for storing storage unit numbers associated with each access for which access may be allowed. 
     The reset generation means 168 includes a system reset which will hold the control means 110 in a reset condition during power up, and disable the control means 110 with reset if the input voltage falls below a predetermined level. This prevents erroneous data from being written into the data memory 162 during system power up and down. The reset generation means 168 also contains a watch dog timer. During proper operation of the control means 110 this watch dog timer 188 is continuously reset with a read signal. If for some reason the processor unit 178 program loses its place, this read signal will not occur at a regular interval and the watch dog timer will reset the control means 110 to normal operation. The reset generation means 168 also included power monitoring for performing the battery backup functions for the data memory 162. The power monitoring will monitor the voltage to the processor unit 178 and will switch to the battery 48 when the voltage falls below a predetermined limit. 
     The system generation means 168 comprises a processor supervisory chip 184 (MAX691). The supervisory chip 184 contains internal timers that generate system reset time out and watch dog timer time outs. These timers are set to supply a 50 millisecond reset pulse on power up of the control means 110 and generate a reset 100 milliseconds after the last watch dog reset interrupt. The watch dog timer is used to insure that the processor unit 178 system remains on line and functioning. If, for some reason, the processor unit 178 were to be lost in the execution of the program code or quit issuing regular watch dog reset interrupts, the watch dog timer would time out and reset the system to proper operation. When the system power is first turned on to the control means 110, the reset output of the supervisory chip 184 (RST) is held high for 50 milliseconds to reset the control means 110. The watch dog timer will not issue its reset pulse for 1.6 seconds after initial turn on of the control means 110. This is to allow the software to initialize. Before  1.6 seconds has lapsed, the watch dog timer must be interrupted with a watch dog reset interrupt or the control means 110 will reset from start again. After the first watch dog reset interrupt has been issued, each watch dog reset interrupt must be issued at least every 100 milliseconds or the timing chip 184 will reset the control means 110. The processor unit 178 outputs a watch dog interrupt every few milliseconds from the high order address decoder means 166. This assures that the watch dog timer will not reset the control means 110 during operation. The signal can be seen as a RD pulse on the input of the timing chip 184 and is a good indication that the control means 110 is functioning properly. The supervisory chip 184 also performs battery back-up functions by the power monitoring means. Pin labeled PFI is the power fail input. This PFI input monitors the positive DC voltage supplied to the voltage regulator 140 through a resistor divider and indicates to the processor unit 178 that power is on its way down by raising its power fail output labeled PFO. The processor unit 178 receives the signal on its interrupt input INT1. When the processor unit 178 sees this INT1 go high, it immediately holds all operations and waits for power to fail. The supervisory chip 188 also &#34;gates&#34; off the chip select line CEO to the RAM or data memory 162. This prevents the writing of erroneous data into the RAM 162 during power down. Battery power back-up by battery 48 is the provided through the supervisory chip 188 to the RAM 162. 
     The loop address port means 158 also includes eight dip switches 190 which are manually set to establish a loop address. The coding of the loop address selects identifies the particular office furniture assembly 100 for communication purposes. During communication request, the loop address is read to determine if the communication request is directed toward that particular office furniture assembly 100. The loop address is read by reading address 8000H. This address enables the loop address selector 1G, 2G of the loop address buffer 181 and places the packed BCD equivalent of the loop address on the data bus 152. 
     The coding port means 156 includes eight jumpers 192 which may be cut in any combination to set a buried code. The buried code is related to the serial number of the office furniture assembly 100. The buried code establishes a key code which acts as an access code when all access codes in the data memory 162 have been compared with no match. If the input code matches the key code, any storage unit 114 assigned unit number one may be opened. The buried code program jumper port buffer 180 is read by reading address 6000H. This address enables the buried code program jumpers and places the buried code value or key code on the data bus 152 
     The timing means 135, reset button, and sensing means 134 are read by reading address 4000H. This address enables the switch buffer 179 and places the value of the connections on the data bus 152. The reset button is a standard momentary electrical contact switch which will set one bit of the 8-bit value code. The timing means 135 includes four dip switches 194 wherein the throwing of one of the switches 194 indicates a predetermined time delay and will represent four bits of the value code. The sensing means 134 is comprised of interlock switches, one each associated with each storage unit 114 as discussed with respect to the first embodiment. The interlock switches or sensing means 134 may comprise a magnetic switch, contact switch, etc. which may indicate when a storage unit 114 is in the closed position and when not in the closed position. The indication of any one opening of a storage unit 114 provides a high signal on the 1A1 input of buffer 179. 
     The front panel keypad 141 is read by reading address 2000H. This address enables the keypad input port buffer 177 and places the value of the keys 119 depressed from the front panel keypad 141 on the data bus 152. The keypad 141 includes the numbered keys 119, green key 118, and the red key 124. 
     The indicator driver means 146 includes audible means 196 and visual means 198. The audible means 196 is driven by switching the 12 volt DC by a transistor Q3 to a transducer 200. The visual means 198 includes switching the five volt DC power supply with a small signal transistor Q4 to operate the green light 122, which is comprised of an LED. These transistors Q1-Q4 are controlled directly from the 8-bit output ports P1.0-P1.7 of the processor unit 178. 
     Output port P1.7 of the processor unit 178 drives the green light 122. Port P1.7 is connected through a resistor R1 to drive a switching transistor Q1 to a resistor R2 driving the green LED 22. Port P1.6 is inverted by a dual input NAND gate 204 to a resistor R3 driving transistor Q3 which drives the audio transducer 200 with its collector. Each of the following ports P1.5 through P1.0 are connected to the motor means 113 of storage unit means 114. Each of the driving circuits are the same and therefore one will be described. The output of the ports P1.0-1.5 are connected through an invertor 202 to a resistor R4 which drives the Darlington transistor pair Q1, Q2 to in turn drive the motor means 113. The power supply terminal 126 receives a 24 volt battery supply to directly power the motor means 113 to allow opening of any or all of the storage unit means 114 in the case of an emergency. The six motor means 113 are activated by writing a low out of one of the ports P1.0-P1.5. These lows are inverted to prevent the motor means 113 from activating when the processor unit 178 goes to reset. The ports will tristate and will pull high when the processor unit 178 is reset. 
     The control means 110 can also communicate with a personal computer 171. This is accomplished with the computer interface means 170. The computer interface means 170 converts the TTL level signals from the processor unit 178 to EIA-485 RS-485 standard signals for data integrity over long data cable runs to the computer 171. The computer 171 communicates through the processor unit 178 to obtain information stored in the data memory 162. 
     The control means 110 can communicate with the remote programming means 132 which is an external hand held programmer. This hand-held programmer 132 interfaces through the programmer interface means 172 to the processor unit 178. The programmer interface means 172 controls the flow of data between the processor unit 178 and the communications interface 172 and buffers the transmitted and received data from and to the processor unit 178 for data integrity. 
     The processor unit 178 contains a UART for self contained serial communications. Transmitted data is transmitted from port TXD and receive data is received at port RXD of the microprocessor 178. Serial communication link used for the computer interface 170 is the RS-485 standard. This link allows half duplex communications to occur with up to one hundred storage assemblies 100 (each identified by the loop address) on link of up to five thousand feet. Serial communications to and from the processor unit 178 can be directed to one of two devices, either the computer interface 170 or the programmer interface 172. The serial communication is performed by the first set of AND gates 208 and a second set of AND gates 210. The microprocessor 178 determines which device (i.e., computer or remote programmer) is to be communicated with and selects the device with its output pin T1. Upon sensing an interrupt on line RXD, the processor unit 178 first switches communications to the computer interface 170 and awaits communication. If no communication is received within a preset time of five minutes, the processor unit 178 switches the communication to the programmer interface 172. The sets of AND gates 208, 210 are configured as a data selector and routes the processor unit&#39;s 178 transmitted data to the devices 171, 132 selected and at the same time routes the selected receive data back to itself. A RS-485 transceiver 212 interfaces TTL logic to a RS-485 communications loop. The transmitted data from the communications data selector is routed into pin 4 of the transceiver 212. This zero to five volts signal is then converted to a differential signal and placed on the communication loop. Pin 3 of the transceiver 212 is the transmit enable pin. The transceiver 212 will only transmit onto the communications loop if the pin is at least a logic one. Transistor Q5 is used as an invertor to invert the logic level of the signal. The reasoning behind this is that when the processor unit 178 is in the reset condition, the level of the input port will be logic 1. This level would enable the RS-485 transceiver 212 and keep it on the communications loop as long as the processor unit 178 was in the reset condition. To provide for fail safe operation, the signal is inverted to disable the RS-485  transceiver 212 anytime the processor unit 178 is in reset. 
     The transistor Q6 is used as the serial input buffer. The open collector serial driver on the remote programmer 132 will transmit data by sinking current through resistor R6. This will pull the anode of diode D9 low. Because of the noise induced by and the resistive nature of the six conductor coiled phone cord between the control means 110 and the remote programmer 132, this low can not be guaranteed a logic zero. Diode D9 is used to add a 0.7 volt threshold to the base-emitter junction of transistor Q10. Now any serial input signal less than 1.4 volts will be recognized as a logic zero and turn off Q10. Resistor R9 is the base bias resistor for transistor Q10 and resistor R10 is used to ensure the turn off of the transistor Q10 when diode D9 is conducting with a low level input signal. 
     The power supply 136 includes three pairs of inputs: multiunit power connectors 214; single unit power connectors 216; and emergency power connectors 218. The input to the multiunit power connectors 214 receive input from an external power means which is a 5.5 ampere power supply at 12 volts. If a one ampere supply is used at 12 volts, power enters the single unit power connectors 216. Emergency power is supplied by a 24 volt battery pack 48 at emergency power connectors 218. Each of the power connectors 214, 216, 218 are isolated by diodes D7, D8 for safety. The signal from the diodes D7, D8 are connected together and regulated by the voltage regulator 140 (LM7805). The input of the regulator 140 is filtered by a 1000 μF electrolytic capacitor C29 for further ripple filtering when this unit is used with the one ampere power connectors 216. The voltage regulator 140 is decoupled with 0.1 μF and 10 μF capacitors. After this voltage is regulated, it is distributed to the control means 110 and decoupled at each circuit chip with a 0.1 μF capacitor. 
     Prior to an in depth explanation as to the operation of the subject assembly 10,110 is given, the general operation will be first explained. When pressing the keys 116, 118, 119, 124, a short tone indicates that the entry is acceptable, and a long tone indicates that the entry is unacceptable. Therefore, a long tone will occur upon depressing keys 116, 118, 124 out of sequence or incorrect key depression. With regard to opening storage unit means 114, new storage assemblies 100 are provided with a predetermined access code. The green key 118 on the keypad 141 is first depressed. The processor unit 178 receives a data signal indicative of green key 118 depression. After pressing the green key 118, the input code equal to the access code are sequentially pressed on the keypad 141. The access code is prestored in RAM 162 within each new office furniture assembly and provided in literature thereof. The value of the matrix keypad 141 is received having the input code equal to the access code. The processor unit 178 compares the input code to the stored access codes in RAM 162, and energizes the green light 122 if a valid comparison is made. When the green light 122 comes on and there is a short audible tone, the office furniture assembly 100 is accessible. The storage unit means 114 can be identified and opened. If the green light 122 does not come on, or if you hear a long tone, one must press the green key 118 and start the sequence again. With regard to opening a storage unit 114, once the green light 122 is on, the user presses the keypad 141 number that identifies the storage unit 114 which the operator desires to open. For example, if the number two key 119 is depressed, the second storage unit 114 from the top of the office furniture assembly 100 will be allowed to be opened. The operator will have five seconds to pull the storage unit 114 open before the control means 110 locks the storage unit 114. If the access code does not have access to the selected storage unit 114, a long tone will be heard. 
     A storage unit 114 may be locked manually or automatically. To lock the storage unit 114 manually, the red key 124 is depressed. The timing means 135 is not activated in new storage unit means 114. For added security, the timing means 135 is activated and set to lock the office furniture assembly 100 automatically. To change the delay established by the timing means 135, an input code equal to the access code is entered and the top or first storage unit 114 is opened and removed. Inside the housing means 112 is the timing means 135 comprising the dip switches 194 and timer module 222 which sets the time delays. The program code in conjunction with the processor unit 178 establishes the time delays based upon which switch 194 is closed. There are four dip switches 192 which are initially in the open or down position. In order to set the timing means 135, one of the switches 194 will be switched to the upper or closed position. One switch 194 will establish an immediate deactivation, a second switch 194 will establish a delay of ten minutes, a third switch 194 will establish a delay of one hour, and a fourth switch 194 will establish eight hour deactivation. It is to be understood that the time delays may be varied dependent upon the operation thereof. For the ultimate security, the first switch 194 is closed wherein the office furniture assembly 100 will immediately lock when an open storage unit 114 is closed. This mode requires the users to enter an input code equal to the access code for each storage unit 114 opening. The other switches 194 allow a time delay before automatic locking. Upon closure of an opened storage unit 114, another storage unit number may be selected on the keypad 141 and the storage unit 114 opened within the 5 seconds. The step of inputting a code is deleted until the time delay set by the timing means 135 has expired. After setting the switches 194, the top storage unit 114 is replaced and the timer means 135 is set. 
     With regard to setting a new access code, two configurations are available. A first configuration allows for the use of a single access code per office furniture assembly 100. A second configuration allows for multiple access codes. The multiple access codes programming is the subject of copending U.S. Ser. No. 648,967, filed Jan. 31, 1991, now abandoned. and will be generally described subsequently. In the first configuration, in order to reset the access code stored in RAM 162, the present access code is entered on the keypad 141 and a storage unit 114 is opened. Thereafter, the reset button is depressed. The reset button is located within the housing 112 above the top or first storage unit 114, therefore the top storage unit 114 requires prior opening. The new access code is entered on the keypad 116. When the storage unit 114 is closed, the office furniture assembly 100 is locked and will only open upon input of an input code equal to the new access code. 
     With regard to the operation, the microprocessor 178 in conjunction with the code stored in the program memory 160 produces the means by which the assembly 100 is controlled. The flow chart of general operation is illustrated in FIGS. 6a-6d and will be described herein. The processor unit 178 starts at block 300, and continuously samples the input from the keypad input port 177 as indicated at block 302. Interruption by the communication interfaces 170, 172 at pin RXD may occur at any time which switches to the control of block 370. The processor unit 178 upon reception of a value on the keyboard buffer 177 determines which key 119, 118, 124 is depressed at block 304. Upon a green key 118 depression, the keyboard input port 150 will place a value on this key 118. The processor unit 178 will sample the port 178 and provide the data over the data bus 152 to the processor unit 178. The processor unit 178 makes a comparison and if the value indicates green key 118 depression as in block 306, and a short tone is sounded by the audible transducer 196 indicated by block 308. The processor unit 178 again samples the keypad input port 178 indicated by block 310. If the red key 124 is depressed and is determined by the processor unit 178 in block 350, the processor unit 178 locks all the initiating means 103 as indicated by blocks 352 and 301. If the first depressed key is not the green key 118 nor the red key 124, block 360 is checked. If neither blocks 306, 350, 360 are valued, a long tone will occur and the processor unit 178 will restart its program to block 300. 
     Assuming correct sequence depression of the green key 118, the processor 178 steps through and sequentially samples the input buffer 177 to obtain the five digit input code as indicated in blocks 310 through 316. Upon receiving each of the numbered key 119 depressions as a digit, a short tone will occur if one of the keys 0-6 has been depressed. If five numbered keys 119 are not sequentially depressed, a long tone will be sounded and the processor unit 178 will restart its program. After receiving all five digits of the input code, a first access code is obtained from the data memory 162 as indicated by block 318. The five digit input code is compared to the access code and if there is a match as indicated in blocks 320 and 322, a short tone is sounded and the green light 122 is illuminated by branching to block 332. If there is not a match, the next access code is obtained from the data memory 162 as set forth in block 324. The processor unit 178 continually steps through all of the available access codes from the data memory 162 until a match is obtained. If a match is not obtained after depletion of the access codes in the data memory 162, the processor unit 178 will sample the value on the buried code jumpers input buffer 180 to obtain the key code as set forth in blocks 326 and 328. If the input code matches the key code, access is authorized. If the input code does not match the key code, no green light 122 is illuminated and a long tone will be actuated on the audible transducer as in block 320. 
     Upon illumination of the green light 122 in block 332, a sixth digit is obtained from the keypad input buffer 178 which will indicate the selected storage unit 114 requested for opening indicated in block 334. If a numbered key 119 is not depressed, a long tone will occur and the processor unit 178 will restart its program as in block 336. If a numbered key 119 is depressed and received by the processor unit 178, a short tone will occur as indicated in block 337. The processor unit 178 thereafter obtains the unit assignment numbers associated with the matched access code in block 338. The processor unit 178 compares the selection number to the assignment numbers associated with the matched access code to ensure that the selected storage unit number is authorized for entry by that access code as indicated in block 334. If the selected storage unit is not authorized and there is no match with the assignment number in block 340, a long tone will occur and the processor unit 178 will restart. A timer will initiate counting in block 333. If the storage unit 114 is authorized, the processor unit 178 reads the data from the switch buffer 179 in block 343. This access may be recorded by the computer 171. If any of the interlock switches 134 are transmitting an open signal indicating that a storage unit 114 open, the disable signal in the form of code is transmitted to the processor unit 178 and the initiating means 103 of the selected storage unit 114 is not energized as indicated in block 344. If all of the interlock switches 134 are transmitting a close signal, an enable signal is transmitted to the processor unit 178 which supplies the lock signal to the initiating means 103 and, more particularly, the locking means 127 associated with the selected storage unit 114 in block 345. The lock signal returns the initiating means 103 to its starting position where it is able to lock the following means 107 in place. If the reset key is depressed, the data memory 162 is checked to determine the number of access codes. Otherwise, the code goes to block 302. As indicated in block 349, if the access code number is greater than one, a long tone is sounded and the code branches to block 300. If there is only one access code, the new access code is received as indicated in blocks 355-358. 
     The computer 171 in communication with the processor unit 178 stores the number of times an access code is utilized as the input code and the storage unit means 114 is opened. This data is updated during each use thereof. Also, any successful forced entries without an access code and opening of a storage unit 114 will be recorded. Such is stored during block 342. Upon each above access or attempt, the processor unit 178 places the information in an output buffer to be transmitted on the TXD line upon request by the computer 171. If the computer 171 polls the particular processor unit 178 identified by the identification code on the RXD line, this information is sent to the computer 171. Such information is lost if no polling occurs prior to a subsequent access or attempt wherein the subsequent information is written to the output buffer. 
     The processor unit 178 will thereafter again sample the keypad input port 150. Upon depression of a single numbered key 119 on the keyboard 141, processor unit 178 will read the digit value from the keypad input buffer 178 indicated at block 360. If a single digit is read, the processor unit 178 will sample the switch input port 154 to determine whether any storage unit means 114 remain open and also to determine whether the time delay setting 135 has expired. If the processor unit 178 receives the disable signal, a short tone is sounded and the program restarts. If the time delay has not expired, the processor unit 178 compares the selected storage unit number to the assignment numbers authorized by the original access code as indicated by blocks 362-366. If the selected storage unit number is authorized, and no other storage unit 114 has been opened indicated by an enable signal in blocks 343-345, the processor unit 178 will energize the motor means 113 which will rotate the initiating means 103 and the locking means 113 associated with the selected storage unit 114 until the camming surface 115 has reached abutting engagement with the stop 133. If the time delay setting has expired, a long tone will sound which will indicate that an incorrect key sequence has been entered. If a red key 124 is depressed at any time and all storage unit means 114 are in the closed position, all initiating means 103 are automatically locked. If the reset key is depressed after authorization of the input code with the access code and selection and opening of the first or top storage unit 114, a five digit code is sequentially read from the keyboard buffer 177. The processor unit 178 replaces this new code for the previously stored single access code. The reset key can only be utilized if a single access code is stored. When the reset key is depressed, the processor unit 178 checks the data memory 162 to determine if only one access code is stored. If more than one code exists, a long tone is produced and the program goes to block 300. 
     External communication is illustrated in FIGS. 7a-7b. The processor unit 178 generally extends communication to the PC interface 170 as indicated in block 370. The processor unit 178 will wait for the preset time in order to receive communication on the receive transmission line RXD from the PC interface 170 as indicated at block 374. If no communication is received within five minutes, the processor unit 178 will switch control to the remote programming unit interface 172 as indicated at block 376 only when it senses that the programmer means 132 is plugged in 130 on input TO. If communication is received within the time, the processor unit 178 receives the identification code from the computer 171 in block 378. The processor unit 178 gets the loop address code as set forth in block 380. If the identification code is not equal to the loop address, the code jumps to block 388. Otherwise, the processor unit 178 receives instructions from the computer 171 and operates under computer control as indicated in block 384. Upon reception of the data command, the processor unit 178 transmits the history data to the computer 171. The computer 171 may reprogram the data memory 162. In this case, all access codes and unit assignments are input to the computer 171 via the terminal. Upon designation of the identification code and the dump command and transmission of same to the processor unit 178, the processor unit 178 deletes all data in the data memory 162 and dumps the newly inputted access codes and unit assignments into the data memory 162 for storage and use thereof. When communication ends, the program is restarted to block 300. If the time expires in block 376 or the identification code does not equal the loop address, the processor unit 178 opens communication with the programmer means 132 if the programmer means 132 is plugged in. 
     The processor unit 178 receives the security code from the programmer means 132 as indicated in block 389. The processor unit 178 compares the security code with the access codes, and if the security code is not equal to any access code, the program restarts to block 300 as indicated in blocks 390-391. If the security code equals an access code, a command is received in block 392. If an add command is received, the processor unit 178 receives a new access code and assignment numbers and adds this data to the data memory 162 indicated at block 393. If a delete command is received, the old and inputted access code is compared with the stored access codes. If there is a match, the access code is deleted from the data memory 162 as indicated in block 394. If an end command is received, the processor unit 178 restarts at block 300. Otherwise, the next command is received as indicated in block 396. 
     Therefore, the processor unit 178 includes access means indicated by blocks 306-324 for receiving the input code and determining authorization of entry. Also included is key means indicated in blocks 324-332 for receiving the key code when the input code does not equal the access code stored in the data memory 162 and producing the unlock signal when the input code equals the key code. Also included is selection means indicated by blocks 334-342 for retrieving the unit assignment numbers associated with the authorized access code equal to the input code and compares a selection number from the keyboard port 177 to the unit assignment numbers to allow opening of the storage unit 114 associated with the selection number when the selection number equals one of the unit assignment numbers. The processor unit 178 includes loop means for receiving said loop code upon communication through said interface means 142 and reception of a communication code from the external computer 171 and for allowing communication when the communication code equals the loop code. Reset access means for resetting the single access code is indicated by blocks 348-357. Communication and history and multiple access means is indicated by blocks 370-397. 
     The remote programming means 132 is generally indicated in FIG. 3 and the block diagram of the remote programming means 132 is shown in FIG. 8. The remote programming means 132 includes a connector and cable 224 for electrical connection to the control means 110 through the programming port 130. The connector and cable comprises a long set of conductive wires insulated from each other so each wire may act as a medium for the transmission of separate and distinct electrical signals. The block diagram of the circuitry of the remote programming means 132 is illustrated in FIG. 8. A display 400 is a standard crystal display (LCD) display and located on the remote programming means 132, such as LCD display #LM16255 produced by Sharp Incorporated. The remote programming means 132 also includes a keyboard 226. The keyboard 226 comprises two different types of keys; the mode keys 227 and the numerical keys 228. The mode keys 227 are six keys, each individually labelled &#34;PROGRAM&#34;, &#34;PROGRAM VERIFY&#34;, &#34;NEXT&#34;, &#34;DELETE&#34;, &#34;YES&#34; and &#34;NO&#34;. The mode keys 227 determine what information is to be manipulated and how it is to be manipulated. The numerical keys 228 consists of a 2×3 matrix of keys numbered one (1) through six (6). The three functions of the numerical keys are: (i) to input a security code to gain access to the control means; (ii) to input and access code to be added, deleted or modified to the list of access codes stored by the control means; (iii) to input the storage unit means that may be accessed by inputting the particular access code. A remote voltage regulator 404 receives power from the long connecting cable 224 and supplies five volts DC to the rest of the remote programmer means 132. A control interface 406 is in electrical communication with the control means 110 via the cable 224. The control interface 406 receives from and transmits to the control means 110 information in relation to the programming of the control means 110. A processor 408 operates pursuant to the request made through the keypad 226 and receives its instruction from an EPROM memory 410. In addition, the processor 408 operates the EPROM memory 410 using control signals in conjunction with the high order address bits. The processor 408 operates a display decoder 414 which, in turn, operates the display module 400. The display decoder 414 decodes the address range in which the display data can be written. 
     The remote programming means 132 is turned on and plugged into the programming port 130. Upon plugging in, a signal is sent to the processor unit 178. Any computer communication on the computer interface 170 will have priority. Upon transmission by either the computer or remote programming unit 132, an interrupt will be sent to input RXD of the processor unit 178. 
     Thereafter, the &#34;PROGRAM&#34; key 227 is depressed. The microprocessor 178 is in the security mode and any code input via the numerical keys 228 will be checked against all acceptable access codes stored in the data memory 162. If the input code does not match any of the access codes, the remote programming means 132 turns off and waits for the &#34;PROGRAM&#34; key to be pressed. If the input code is correct, the remote programming means 132 becomes functional and it is able to access the microprocessor 178. 
     The processor 408 is able to operate in two different modes. The first mode, represented by the left-most branch in the flow chart in FIG. 9, beginning at branch point 412, adds additional access codes to the CMOS memory 162 or modifies drawer assignments for existing access codes. If the microprocessor 230 is signalled by the depression of the &#34;YES&#34; key representing that the new or modified access code has been properly entered, the processor unit 178 receives the signals of the numerical keys 228 which are pressed representing the storage unit means 114 that may be opened when the access code is used. When the processor 408 receives the signal from the &#34;YES&#34; key, signaling the completion of data entry, the processor 408 sends all information, i.e., the access code and the associate storage unit means 114 that may be accessed, to the control interface 406 where it will be sent to the microprocessor 178. The processor 408 will display the new access code and accessible storage unit 114 numbers by sending a signal to the display decoder 414 which operates the display module 400. If a signal from the &#34;PROGRAM&#34; key is received, the processor 408 will return to branch point 412. If not, the remote programming means 132 will automatically return to default position 416. 
     The second mode of operation, represented by the right-most branch, beginning at branch point 412, in FIG. 9, is the verification mode. The processor 408 automatically enters the verification mode when the &#34;PROGRAM VERIFY&#34; key is pressed. The processor 408 immediately sets a register counter X to zero (0). The processor 408 increments the value of X and checks the value of X (now one). If the value of X equals 201, the processor 408 returns to the branch point 412. If X is less than 201, the processor 408 will direct the access code in register X to be displayed. If the &#34;DELETE&#34; key is pressed, the processor unit 178 will delete the access code and register X only after the &#34;YES&#34; key has been pressed reaffirming the deletion. The &#34;NEXT&#34; key may be sequentially pressed to scroll through all the registers by incriminating X and deleting those not needed. The more specific structure and operation may be obtained from the referenced aforementioned patent application. 
     The invention has been described in an illustrative manner, and it is to be understood that the terminology which has been used is intended to be in the nature of words of description rather than of limitation. 
     Obviously, many modifications and variations of the present invention are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims wherein reference numerals are merely for convenience and are not to be in any way limiting, the invention may be practiced otherwise than as specifically described.