Patent Publication Number: US-2002012533-A1

Title: Camera

Description:
BACKGROUND OF THE INVENTION  
       [0001] 1. Field of the Invention  
       [0002] The present invention relates to a camera comprising a lens optical system having a movable lens group.  
       [0003] 2. Related Background Art  
       [0004] Conventionally known as a camera comprising a lens optical system having a movable lens group is one equipped with a lens barrel having four lens groups, all of which are attached to a frame expandable from the camera body, whereas the lens groups are appropriately moved in the optical axis direction by use of a cam mechanism so as to change the power and adjust the focus, as disclosed in Japanese Patent Application Laid-Open No. HEI 7-20369.  
       [0005] This lens barrel comprises a barrier blade, disposed in front of a taking optical system, for opening/closing an optical path; a lens driving mechanism for advancing/retracting a part of the taking optical system upon a focusing operation of the taking optical system; a barrier driving mechanism for opening/closing the barrier blade; a first transmission mechanism for transmitting a driving force of a driving source to the lens driving mechanism; and a second transmission mechanism for transmitting the driving force of the driving source to the barrier driving mechanism, in which the transmission of the driving force to the second transmission mechanism is switched via a clutch mechanism as appropriate. The switching of the clutch mechanism is carried out by utilizing a pivotal member, so as to enhance the space efficiency, thereby reducing the size of the camera.  
       [0006] Also known as a camera comprising a lens optical system having a movable lens group is one equipped with a lens driving apparatus which moves a lens to a focal position according to the distance to an object as disclosed in Japanese Patent Publication No. SHO61-55099. When a jam occurs, this camera carries out exposure while stopping the movement of the lens driving apparatus, in order to prevent the camera from being damaged mechanically and electrically.  
       [0007] In a camera such as the one disclosed in Japanese Patent Application Laid-Open No. HEI 7-20369, a motor acting as a driving source for expanding or collapsing the lens barrel and a motor for moving a movable lens in the taking optical system are provided separately from each other, so that the expanding and the like of the lens barrel and the movement of the movable lens are driven and controlled individually.  
       [0008] Therefore, errors may occur due to abnormalities in operations such as the expanding of the lens barrel. Also, errors may occur due to abnormalities in operations of the movable lens. In the case of abnormalities in operations such as the expanding of the lens barrel, release operations may be inhibited. In the case of abnormalities in operations of the movable lens, lens movements may be inhibited.  
       [0009] If a release operation is permitted while only lens movements are inhibited in the case of abnormalities in operations of the movable lens, the state of malfunctions of the movable lens may deteriorate upon the release operation.  
       [0010] On the other hand, the camera disclosed in Japanese Patent Publication No. SHO 61-55099 carries out exposure while stopping the movement of the lens driving apparatus when a jam occurs, whereby the state of malfunctions is prevented from deteriorating due to release operations. Since no lens movements can be carried out, however, there is a strong possibility of photographs being taken in the out-of-focus state, whereby photographs cannot be taken appropriately.  
       SUMMARY OF THE INVENTION  
       [0011] In order to overcome such a problem, it is an object of the present invention to provide a camera which can prevent it from failing severely and from taking photographs inappropriately.  
       [0012] In order to achieve such an object, the present invention provides a camera comprising a lens barrel expandable from a main body; a lens optical system, disposed within the lens barrel, having a plurality of lens groups arranged along an optical axis, at least one of the plurality of lens groups being a movable lens group; a lens moving mechanism for moving the movable lens group by transmitting a driving force of a driving source thereto; movement control means for driving and controlling the driving source so as to move the movable lens group to a predetermined position; storage means for storing a lens barrel error if there is a malfunction in the movement of the movable lens group; and release inhibiting means for inhibiting a release operation if the lens barrel error is stored in the storage means.  
       [0013] In the camera in accordance with the present invention, the movable lens group may be a lens group for carrying out focusing in the lens optical system.  
       [0014] According to these aspects of the present invention, a lens barrel error is stored if there is a malfunction in a moving operation of the movable lens even when there is no malfunction in an expanding or collapsing operation of the lens barrel. If the lens barrel error is stored in the storage means, then release operations are inhibited. Therefore, no release operations are carried out if there is any obstruction in the movement of the movable lens group, whereby severe failures can be prevented from occurring upon release operations. Also, since operations for carrying out exposure while stopping the movable lens group and so forth are not carried out, inappropriate photographing is not carried out. 
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0015]FIG. 1 is an explanatory view of the camera in accordance with an embodiment of the present invention;  
     [0016]FIG. 2 is an explanatory view of the camera in accordance with the embodiment of the present invention;  
     [0017]FIG. 3 is an exploded perspective view of the lens barrel in the camera of FIG. 1;  
     [0018]FIG. 4 is an exploded perspective view of the lens barrel in the camera of FIG. 1;  
     [0019]FIG. 5 is an exploded perspective view of the lens barrel in the camera of FIG. 1;  
     [0020]FIG. 6 is an explanatory view of the lens barrel in the camera in accordance with the embodiment;  
     [0021]FIG. 7 is an explanatory view concerning detection of a second lens group in the camera in accordance with the embodiment;  
     [0022]FIG. 8 is an explanatory view concerning the detection of second lens group in the camera in accordance with the embodiment;  
     [0023]FIG. 9 is a sectional view of a third cylinder in the lens barrel in the camera of FIG. 1;  
     [0024]FIG. 10 is a sectional view taken along X-X of FIG. 9;  
     [0025]FIG. 11 is an explanatory view concerning a basic operation of the lens barrel in the camera of FIG. 1;  
     [0026]FIG. 12 is an explanatory view concerning the basic operation of the lens barrel in the camera of FIG. 1;  
     [0027]FIG. 13 is an explanatory view concerning the basic operation of the lens barrel in the camera of FIG. 1;  
     [0028]FIG. 14 is an explanatory view concerning the basic operation of the lens barrel in the camera of FIG. 1;  
     [0029]FIG. 15 is an explanatory view concerning the basic operation of the lens barrel in the camera of FIG. 1;  
     [0030]FIG. 16 is a diagram showing an electric configuration in the camera of FIG. 1;  
     [0031]FIG. 17 is a flowchart of a branch processing operation in the camera of FIG. 1;  
     [0032]FIG. 18 is a flowchart of an initial processing operation in the camera of FIG. 1;  
     [0033]FIG. 19 is a flowchart of the initial processing operation in the camera of FIG. 1;  
     [0034]FIG. 20 is a flowchart of the initial processing operation in the camera of FIG. 1;  
     [0035]FIG. 21 is a flowchart of a release processing operation in the camera of FIG. 1;  
     [0036]FIG. 22 is a flowchart of the release processing operation in the camera of FIG. 1;  
     [0037]FIG. 23 is a flowchart of the release processing operation in the camera of FIG. 1;  
     [0038]FIG. 24 is a flowchart of the release processing operation in the camera of FIG. 1;  
     [0039]FIG. 25 is a flowchart of the release processing operation in the camera of FIG. 1;  
     [0040]FIG. 26 is a flowchart of a main switch processing operation in the camera of FIG. 1;  
     [0041]FIG. 27 is a flowchart of an SM open processing operation in the camera of FIG. 1;  
     [0042]FIG. 28 is a flowchart of an SM close processing operation in the camera of FIG. 1;  
     [0043]FIG. 29 is a flowchart of a standby processing operation in the camera of FIG. 1;  
     [0044]FIG. 30 is a flowchart of an auto WIDE processing operation in the camera of FIG. 1;  
     [0045]FIG. 31 is a flowchart of a lens barrel recovery check processing operation in the camera of FIG. 1;  
     [0046]FIG. 32 is an explanatory view of control signals for a lens barrel driving motor and a second lens group driving motor in the camera of FIG. 1;  
     [0047]FIG. 33 is a schematic explanatory view of operations in the lens barrel in the camera of FIG. 1;  
     [0048]FIG. 34 is a flowchart of an open processing operation in the camera of FIG. 1;  
     [0049]FIG. 35 is a flowchart of a close processing operation in the camera of FIG. 1;  
     [0050]FIG. 36 is a flowchart of the close processing operation in the camera of FIG. 1;  
     [0051]FIG. 37 is a timing chart for stopping the driving at the time of WIDE driving of the lens barrel in the camera of FIG. 1;  
     [0052]FIG. 38 is a flowchart of a zoom TELE processing operation in the camera of FIG. 1;  
     [0053]FIG. 39 is a flowchart of the zoom TELE processing operation in the camera of FIG. 1;  
     [0054]FIG. 40 is a timing chart for stopping the driving at the time of TELE driving of the lens barrel in the camera of FIG. 1;  
     [0055]FIG. 41 is a flowchart of a zoom WIDE processing operation in the camera of FIG. 1;  
     [0056]FIG. 42 is a flowchart of the zoom WIDE processing operation in the camera of FIG. 1;  
     [0057]FIG. 43 is a flowchart of a zoom bias processing operation in the camera of FIG. 1;  
     [0058]FIG. 44 is a flowchart of a TELE drive processing operation in the camera of FIG. 1;  
     [0059]FIG. 45 is a flowchart of the TELE drive processing operation in the camera of FIG. 1;  
     [0060]FIG. 46 is a flowchart of a WIDE drive processing operation in the camera of FIG. 1;  
     [0061]FIG. 47 is a flowchart of the WIDE drive processing operation in the camera of FIG. 1;  
     [0062]FIG. 48 is a flowchart of a lens barrel recovery processing operation in the camera of FIG. 1;  
     [0063]FIG. 49 is a schematic operational chart of the lens barrel recovery processing operation in the camera of FIG. 1;  
     [0064]FIG. 50 is a flowchart of a lens barrel recovery drive processing operation in the camera of FIG. 1;  
     [0065]FIG. 51 a flowchart of the lens barrel recovery drive processing operation in the camera of FIG. 1;  
     [0066]FIG. 52 is a flowchart of a mode PI count processing operation in the camera of FIG. 1;  
     [0067]FIG. 53 is a flowchart of a lens drive processing operation in the camera of FIG. 1;  
     [0068]FIG. 54 is a flowchart of a lens return processing operation in the camera of FIG. 1;  
     [0069]FIG. 55 is a schematic operational chart of a first lens drive processing operation and a first lens return processing operation in the camera of FIG. 1;  
     [0070]FIG. 56 is a flowchart of the first lens drive-processing operation in the camera of FIG. 1;  
     [0071]FIG. 57 is a flowchart of the first lens drive-processing operation in the camera of FIG. 1;  
     [0072]FIG. 58 is a flowchart of the first lens drive-processing operation in the camera of FIG. 1;  
     [0073]FIG. 59 is a flowchart of the first lens drive processing operation in the camera of FIG. 1;  
     [0074]FIG. 60 is a flowchart of the first lens return processing operation in the camera of FIG. 1;  
     [0075]FIG. 61 is a schematic operational chart of a second lens drive processing operation and a second lens return processing operation in the camera of FIG. 1;  
     [0076]FIG. 62 is an operational chart for explaining the second lens drive processing operation in the camera of FIG. 1;  
     [0077]FIG. 63 is an operational chart for explaining the second lens drive processing operation in the camera of FIG. 1;  
     [0078]FIG. 64 is a flowchart of the second lens drive processing operation in the camera of FIG. 1;  
     [0079]FIG. 65 is a flowchart of the second lens drive processing operation in the camera of FIG. 1;  
     [0080]FIG. 66 is a flowchart of the second lens drive processing operation in the camera of FIG. 1;  
     [0081]FIG. 67 is a flowchart of the second lens drive processing operation in the camera of FIG. 1;  
     [0082]FIG. 68 is a flowchart of the second lens drive processing operation in the camera of FIG. 1;  
     [0083]FIG. 69 is an operational chart for explaining the second lens return processing operation in the camera of FIG. 1;  
     [0084]FIG. 70 is an operational chart for explaining the second lens return processing operation in the camera of FIG. 1;  
     [0085]FIG. 71 is a flowchart of the second lens return processing operation in the camera of FIG. 1;  
     [0086]FIG. 72 is a flowchart of the second lens return processing operation in the camera of FIG. 1;  
     [0087]FIG. 73 is a flowchart of the second lens return processing operation in the camera of FIG. 1;  
     [0088]FIG. 74 is a flowchart of the second lens return processing operation in the camera of FIG. 1;  
     [0089]FIG. 75 is a flowchart of the second lens return processing operation in the camera of FIG. 1;  
     [0090]FIG. 76 is an operational chart for explaining a WIDE wait time in a barrier close processing operation in the camera of FIG. 1;  
     [0091]FIG. 77 is an operational chart for explaining a TELE wait time in the barrier close processing operation in the camera of FIG. 1;  
     [0092]FIG. 78 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0093]FIG. 79 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0094]FIG. 80 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0095]FIG. 81 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0096]FIG. 82 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0097]FIG. 83 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0098]FIG. 84 is a flowchart of the barrier close processing operation in the camera of FIG. 1;  
     [0099]FIG. 85 is a flowchart of a barrier closing focus drive processing operation in the camera of FIG. 1;  
     [0100]FIG. 86 is a flowchart of the barrier closing focus drive processing operation in the camera of FIG. 1;  
     [0101]FIG. 87 is a flowchart of the barrier closing focus drive processing operation in the camera of FIG. 1;  
     [0102]FIG. 88 is a flowchart of the barrier closing focus drive processing operation in the camera of FIG. 1;  
     [0103]FIG. 89 is a flowchart of the barrier closing focus drive processing operation in the camera of FIG. 1;  
     [0104]FIG. 90 is a flowchart of the barrier closing focus drive processing operation in the camera of FIG. 1;  
     [0105]FIG. 91 is an operational chart for explaining a barrier open processing operation in the camera of FIG. 1;  
     [0106]FIG. 92 is a flowchart of the barrier open processing operation in the camera of FIG. 1;  
     [0107]FIG. 93 is a flowchart of the barrier open processing operation in the camera of FIG. 1;  
     [0108]FIG. 94 is a flowchart of the barrier open processing operation in the camera of FIG. 1;  
     [0109]FIG. 95 is a flowchart of the barrier open processing operation in the camera of FIG. 1;  
     [0110]FIG. 96 is a flowchart of the barrier open processing operation in the camera of FIG. 1;  
     [0111]FIG. 97 is an operational chart for explaining a focus TELE wait movement processing operation in the camera of FIG. 1;  
     [0112]FIG. 98 is a flowchart of the focus TELE wait movement processing operation in the camera of FIG. 1;  
     [0113]FIG. 99 is a flowchart of the focus TELE wait movement processing operation in the camera of FIG. 1;  
     [0114]FIG. 100 is a flowchart of the focus TELE wait movement processing operation in the camera of FIG. 1;  
     [0115]FIG. 101 is a flowchart of the focus TELE wait movement processing operation in the camera of FIG. 1;  
     [0116]FIG. 102 is a flowchart of the focus TELE wait movement processing operation in the camera of FIG. 1;  
     [0117]FIG. 103 is an operational chart for explaining a focus WIDE wait movement processing operation in the camera of FIG. 1;  
     [0118]FIG. 104 is a flowchart for explaining the focus WIDE wait movement processing operation in the camera of FIG. 1;  
     [0119]FIG. 105 is a flowchart for explaining the focus WIDE wait movement processing operation in the camera of FIG. 1;  
     [0120]FIG. 106 is a flowchart for explaining the focus WIDE wait movement processing operation in the camera of FIG. 1;  
     [0121]FIG. 107 is a flowchart for explaining the focus WIDE wait movement processing operation in the camera of FIG. 1;  
     [0122]FIG. 108 is a flowchart for explaining the focus WIDE wait movement processing operation in the camera of FIG. 1;  
     [0123]FIG. 109 is an operational chart for explaining a focus initial processing operation in the camera of FIG. 1;  
     [0124]FIG. 110 is an operational chart for explaining a focus initial processing operation in the camera of FIG. 1;  
     [0125]FIG. 111 is a flowchart of the focus initial processing operation in the camera of FIG. 1;  
     [0126]FIG. 112 is a flowchart of the focus initial processing operation in the camera of FIG. 1;  
     [0127]FIG. 113 is a flowchart of the focus initial processing operation in the camera of FIG. 1;  
     [0128]FIG. 114 is a flowchart of a focus initial movement processing operation in the camera of FIG. 1;  
     [0129]FIG. 115 is a flowchart of the focus initial movement processing operation in the camera of FIG. 1;  
     [0130]FIG. 116 is a flowchart of the focus initial movement processing operation in the camera of FIG. 1;  
     [0131]FIG. 117 is an operational chart for explaining a focus error recovery processing operation in the camera of FIG. 1;  
     [0132]FIG. 118 is an operational chart for explaining the focus error recovery processing operation in the camera of FIG. 1;  
     [0133]FIG. 119 is an operational chart for explaining the focus error recovery processing operation in the camera of FIG. 1;  
     [0134]FIG. 120 is a flowchart for explaining the focus error recovery processing operation in the camera of FIG. 1;  
     [0135]FIG. 121 is a chart showing a relationship between the species of driving control and the speed in a focus drive processing operation in the camera of FIG. 1;  
     [0136]FIG. 122 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0137]FIG. 123 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0138]FIG. 124 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0139]FIG. 125 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0140]FIG. 126 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0141]FIG. 127 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0142]FIG. 128 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0143]FIG. 129 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0144]FIG. 130 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0145]FIG. 131 is a flowchart of the focus drive processing operation in the camera of FIG. 1;  
     [0146]FIG. 132 is a flowchart of an HP detection processing operation in the camera of FIG. 1; and  
     [0147]FIG. 133 is a flowchart of a braking pitch count drive processing operation in the camera of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
     [0148] In the following, an embodiment of the present invention will be explained with reference to the accompanying drawings. Among the drawings, constituents identical to each other will be referred to with numerals or letters identical to each other without repeating their overlapping descriptions. Also, ratios of dimensions in the drawings do not always match those explained.  
     [0149]FIGS. 1 and 2 show the camera in accordance with this embodiment. As shown in FIG. 1, the camera  2  in accordance with this embodiment comprises a lens barrel  1  expandable from the front face  7  of a main body  3 . The lens barrel  1  has a plurality of cylindrical bodies expandable in a multistage fashion, i.e., a first cylinder  4 , a second cylinder  5 , and a third cylinder  6 . The first cylinder  4  is expandable from and collapsible into the main body  3 . The second cylinder  5  is expandable from and collapsible into the first cylinder  4 . The third cylinder  6  is expandable from and collapsible into the second cylinder  5 . They are expanded and collapsed upon switching operations in the main body  3 .  
     [0150] The upper part of the front face  7  of the main body  3  is provided with a photometric sensor window  8 . A photometric sensor  9  is installed inside the photometric sensor window  8 . The upper face  10  of the main body  3  is provided with a shutter button  11 .  
     [0151] As shown in FIG. 2, the back face  12  of the main body  3  is provided with a display section  13  near the center thereof. As the display section  13 , an LCD adapted to display marks for representing photographing modes and numbers for displaying dates is used, for example. Below the display section  13 , a mode switch  14 , a self-timer switch  15 , and a main switch (power switch)  16  are disposed in parallel.  
     [0152] Disposed at the center of the upper part of the back face  12  is an AFLED  17 . Disposed on the right side of the upper part of the back face  17  is a zoom switch  18 . The zoom switch  18  comprises a TELE switch  19  and a WIDE switch  20 . The lower part of the main body  3  is provided with a cartridge lid  21 . When the cartridge lid  21  is opened, a cartridge film can be taken out from or loaded into the main body  3 . The section for accommodating the cartridge film is provided with a cartridge on/off switch which is not depicted.  
     [0153] A battery lid  22  is disposed on the upper left side of the back face  12 . When the battery lid  22  is opened, a battery can be taken out from or loaded into the main body  3 .  
     [0154] FIGS.  3  to  5  show exploded perspective views of the lens barrel  1 .  
     [0155] As shown in FIG. 3, the lens barrel  1  comprises a fixed tube  40  to be secured to the main body  3  of the camera  2 . The fixed tube  40  is a cylindrical body for accommodating the first cylinder  4 , the second cylinder  5 , and the third cylinder  6 , and is attached to the main body  3  substantially at the center thereof. The inner peripheral face of the fixed tube  40  is formed with a helicoid thread  41 . The helicoid thread  41  is a series of spiral recesses and protrusions. A part of the inner peripheral face of the fixed tube  40  is axially cut so as to form a cutout  42 . A columnar gear  43  is disposed at the position of the cutout  42 . The columnar gear  43  rotates as being driven by a barrel driving motor (not depicted). Numeral  44  in FIG. 3 refers to an axial pin for axially supporting the columnar gear  43 .  
     [0156] The first cylinder  4  is accommodated within the fixed tube  40 . The first cylinder  4  is a cylindrical body having both ends open and is installed as being inserted into the fixed tube  40  via a light-shielding rubber ring  45 . The outer peripheral face of the rear part of the first cylinder  4  is formed with a helicoid thread  46 . The helicoid thread  46  is in mesh with the helicoid thread  41  of the inner peripheral face of the fixed tube  40 . A part of the outer peripheral face of the rear part of the first cylinder  4  is formed with gear teeth  47 . The gear teeth  47  are in mesh with the columnar gear  43 . As the columnar gear  43  rotates, the first cylinder  4  rotates via the gear teeth  47 , so that the helicoid threads  46 ,  47  mesh with each other, whereby the first cylinder  4  is expanded from or collapsed into the fixed tube  40 .  
     [0157] The inner peripheral face of the first cylinder  4  is formed with axially extending longitudinal grooves  48 . A plurality of, e.g., three, longitudinal grooves  48  are formed with predetermined circumferential intervals.  
     [0158] As shown in FIG. 4, a translation cam cylinder  50  is installed inside the first cylinder  4 . The translation cam cylinder  50  is a cylindrical body having both ends open. The outer periphery of the rear part of the translation cam cylinder  50  is formed with a flange  52  protruding outward. The flange  52  is formed greater than the inside diameter of the first cylinder  4  and engages the rear end of the first cylinder  4 .  
     [0159] The flange  52  is formed with protrusions  53  further projecting outward. The protrusions  53  engage respective longitudinal grooves  54  formed in the inner peripheral face of the fixed tube  40 . Therefore, the translation cam cylinder  50  moves in the optical axis direction together with the first cylinder  4  without rotating.  
     [0160] The peripheral face of the translation cam cylinder  50  is formed with cam slits  55 . Each cam slit  55  is a slit spirally extending in the peripheral face of the translation cam cylinder  50 . A contact terminal  57  is attached to the rear part of the translation cam cylinder  50 . The contact terminal  57  is a terminal for detecting the expanding position of the lens barrel by coming into contact with an encoder pattern (not depicted) installed within the fixed tube  40 .  
     [0161] The second cylinder  5  is accommodated within the translation cam cylinder  50 . The second cylinder  5  is a cylindrical body having both ends open and is installed as being inserted into the translation cam cylinder  50  via a ring member  51  and a light-shielding rubber ring  61 . The outer peripheral face of the rear part of the second cylinder  5  is formed with protrusions  62 . The protrusions  62  are used for engaging the second cylinder  5  with the translation cam cylinder  50 , and are inserted into the respective cam slits  55  of the translation cam cylinder  50 .  
     [0162] Pins  63  are attached to the respective protrusions  62 . The pins  63  are used for engaging the second cylinder  5  with the first cylinder  4 , and are disposed at the upper part of the respective protrusions  62  so as to project therefrom. The pins  63  attached to the second cylinder  5  are inserted into the longitudinal grooves  48  of the first cylinder  4  and rotate the second cylinder  5  as the first cylinder  4  rotates.  
     [0163] The inner peripheral face of the second cylinder  5  is formed with cam grooves  71 . A plurality of, e.g., six, cam grooves  71  are formed with predetermined peripheral intervals so as to extend spirally.  
     [0164] The third cylinder  6  is accommodated within the second cylinder  5 . The third cylinder  6  is a cylindrical body for accommodating the individual lens groups of the taking optical system, and is positioned at the leading end in the lens barrel  1  when expanded. Pins  72  are attached to the outer peripheral face of the rear part of the third cylinder  6 . The pins  72  are members for engaging the third cylinder  6  with the second cylinder  5 , and project from the outer peripheral face of the third cylinder  6  so as to be inserted into the respective cam grooves  71  of the second cylinder  5 . The number of pins  72  to be attached is set according to the number of cam grooves  71  to be formed.  
     [0165] A barrier driving ring  81 , a barrier bottom plate  82 , a barrier  83 , and a barrier cover  84  are successively attached to the front end portion of the third cylinder  6 .  
     [0166] Also, as shown in FIG. 5, a shutter unit  91  is accommodated in the third cylinder  6 . The shutter unit  91  is formed as a unit assembled with a shutter  92  and a second lens group  102 . A first lens group  101  is disposed in front of the shutter unit  91  in the third cylinder  6 , whereas a third lens group  103  is disposed behind the shutter unit  91 . The first lens group  101  is secured within the third cylinder  6  as being attached to a first lens frame  104 . The third lens group  103  is secured within the third cylinder  6  as being attached to a third lens frame  106 .  
     [0167] A translation key ring  111  is attached to the rear part of the third cylinder  6 . In the translation key ring  111 , a ring part  112  is formed with an axially extending key part  113 . The translation key ring  111  is installed such that the key part  113  is inserted into the third cylinder  6 . The outer periphery of the rear part of the translation key ring  111  is formed with a flange  114  projecting outward. The flange  114  is formed greater than the inside diameter of the second cylinder  5  and engages the rear end of the second cylinder  5 .  
     [0168] Also, the flange  114  is formed with a protrusion  115  projecting further outward. The protrusion  115  engages the longitudinal groove  58  formed in the inner peripheral face of the translation cam cylinder  50 .  
     [0169] A light-shielding mask  121  is attached to the rear end of the translation key ring  111 . On the other hand, a light-shielding mask  122  is attached to the rear end of the translation cam groove  50 .  
     [0170]FIG. 6 shows a schematic sectional view of the lens barrel.  
     [0171] This drawing is a schematic sectional view of the lens barrel  1  in a state accommodated within the main body  3  of the camera  2 . The fixed tube  40  is installed within the main body  3 , whereas the first cylinder  4  is accommodated within the fixed tube  40 . The gear teeth  47  formed in the outer peripheral face of the rear part of the first cylinder  4  are in mesh with the columnar gear  43  attached to the fixed tube  40 .  
     [0172] The translation cam cylinder  50  is inserted in the rear part of the first cylinder  4 . The protrusions  53  of the translation cam cylinder  50  engage the respective longitudinal grooves  54  of the fixed tube  40 . Therefore, the translation cam cylinder  50  moves along the longitudinal grooves  54  without rotating. The second cylinder  5  is accommodated in the translation cam cylinder  50 . The protrusions  62  and pins  63  of the second cylinder  5  penetrate through the cam slits  55 . The pins  63  are further inserted through the respective longitudinal grooves  48  of the first cylinder  4 . Therefore, as the first cylinder  4  rotates, the second cylinder  5  rotates, thereby expanding forward with respect to the first cylinder  4  and the translation cam cylinder  50  due to the cam slits  55 .  
     [0173] The third cylinder  6  is accommodated in the second cylinder  5 . The pins  72  of the third cylinder  6  are inserted in the respective cam grooves  71  of the second cylinder  5 . Therefore, as the second cylinder  5  rotates, a forward/backward moving force is generated in the third cylinder  6  via the cam grooves  71 . The translation key ring  111  is accommodated in the third cylinder  6 . The key part  113  of the translation key ring  111  engages a projection (not depicted) axially extending in the inner peripheral face of the third cylinder  6 , and prevents the third cylinder  6  from rotating but allows it to move only forward and backward.  
     [0174] The first lens group  101 , second lens group  102 , and third lens group  103  are accommodated within the third cylinder  6 . The first lens group  101 , second lens group  102 , and third lens group  103  constitute a lens optical system, and function as a taking optical system of the camera  2 . The first lens group  101 , second lens group  102 , and third lens group  103  are successively arranged in this order along the optical axis O from the front side (object side).  
     [0175] The first lens group  101  is attached to the first lens frame  104  and is fixed so as to block the front open end of the third cylinder  6 . The third lens  103  is attached to the third lens frame  106  and is fixed so as to block the rear open end of the third cylinder  6 . The second lens group  102  is attached to a second lens frame  105  so as to be assembled to a shutter unit frame  93 , and is disposed between the first lens group  101  and the third lens group  103 . The second lens frame  105  is formed with an arm portion  105   a . A rod-shaped shaft  94  penetrates through the arm portion  105   a . Therefore, the second lens frame  105  is movable only in the axial direction of the shaft  94  via the arm portion  105   a . The second lens group  102  moves in the optical axis direction together with the second lens frame  105 , whereby the focusing of the taking optical system is carried out.  
     [0176] In FIG. 6, the individual lenses constituting the first lens group  101 , second lens group  102 , and third lens group  103  are not depicted.  
     [0177] Since the individual lens groups of the taking optical system are accommodated in a single cylindrical body, i.e., the third cylinder  6 , it becomes easier to accurately hold the optical axis and posture of each lens group. Even if an external force is exerted on the lens barrel  1 , the postures of individual lens groups with respect to each other will not deteriorate, whereby optical performances will be easier to keep. Also, zooming is possible by expanding and collapsing the third cylinder, so that delicate cam correction movements between the individual lens groups and the like are unnecessary, whereby accurate zooming can be carried out.  
     [0178] Since the second lens group  102  acting as a movable lens group is disposed between the first lens group  101  and third lens group  103  acting as fixed lens groups, the sliding part of the second lens group  102  or second lens frame  105  and moving mechanisms for the second lens group  102  such as the shaft  94  and arm portion  105   a  are concealed by the first lens group  101  and third lens group  103 . Therefore, dust, dirt, and the like can be kept from attaching to the sliding portion and moving mechanism, whereby delicate driving for focusing can securely be prevented from being obstructed.  
     [0179] A motor  95  is attached to the shutter unit frame  93 . The motor  95  is a driving source for moving the second lens group  102  and opening and closing the barrier  83 . In FIG.  6 , the transmission mechanism for the driving force of the motor  95  is not depicted.  
     [0180] The shutter unit frame  93  is provided with a detector  96 . The detector  96  is detection means for detecting the position of the second lens group  102 . An optical type detector, e.g., a photo interrupter for detecting a passage between a light-projecting part and a light-receiving part, is used. Also, a reflection type photo reflector may be used as the detector  96 . The photodetector  96  detects whether the second lens group  102  passes a predetermined position, and senses the position of the second lens group  102  by way of this passage.  
     [0181] The detector  96  detects the position of the second lens group  102  by way of the position of a rectangular detection plate  105   b  formed in the second lens frame  105 . For example, the detector  96  yields HIGH and LOW outputs when the detection plate  105   b  exists and does not exit at a detecting position  96   a  of the detector  96 , respectively. As a consequence, the output of detector  96  switches from HIGH to LOW or from LOW to HIGH when an end part of the detection plate  105   b  passes the detecting position  96   a , whereby the moving position of the second lens group  102  can be detected.  
     [0182] Here, the position can be detected when the rear end  105   c  of the detection plate  105   b  passes the detecting position  96   a  of the detector  96  as shown in FIG. 7 or when the front end  105   d  of the detection plate  105   b  passes the detecting position  96   a  of the detector  96  as shown in FIG. 8, whereby the two position of the second lens group  102  can be detected by use of the single detector  96  and the single detection plate  105   b . As a consequence, the lens barrel  1  can be made smaller at a lower cost.  
     [0183] Since the position of the second lens group  102  is detected at two locations as such, two reference positions for focusing the second lens group  102  can accurately be set. For example, assuming these reference positions to be first and second reference positions, respectively, the first and second reference positions will be set with a predetermined distance therebetween within the movable range of the second lens group. A WIDE wait position (near-side wait position) for the second lens group  102  is set near the first reference position, whereas a TELE wait position (far-side wait position) is set near the second reference position. If the WIDE wait position or TELE wait position are selectively set as the wait position of the second lens group  102  as appropriate according to the state of expansion of the third cylinder  6 , then the moving distance of the second lens group  102  for focusing can be shortened, so that errors in movement can be reduced, whereby accurate focusing is possible. Also, time parallax upon photographing can be reduced.  
     [0184] The detection plate  105   b  has a predetermined width W in the optical axis direction. The width of the detection plate  105   b  is set in view of the amount of movement of the second lens group  102 , preferably within the range of 3 to 10 mm, for example.  
     [0185]FIGS. 9 and 10 show a lens moving mechanism and a barrier opening and closing mechanism.  
     [0186]FIG. 9 is a sectional view of the third cylinder  6 . As depicted, a gear  130  is attached to the rotary shaft  95   a  of the motor  95 . By way of gears  131 ,  132 ,  133 , the rotary force of the gear  130  is transmitted to a gear  134 . The gears  130  to  134  function as a second driving transmission mechanism for transmitting the driving force of the motor  95  to the lens moving mechanism.  
     [0187] The gear  134  is attached to the upper part of a threaded shaft  135 . The threaded shaft  135  is a rod member having a threaded peripheral face, and is attached to the shutter unit frame  93  along the optical axis direction so as to be rotatable. An arm portion  105   c  extending from the second lens frame  105  is in mesh with the threaded shaft  135 . The threaded shaft  135  and the arm portion  105   c  function as the lens moving mechanism.  
     [0188] As the motor  95  rotates, the threaded shaft  135  rotates by way of the gears  130  to  134 , whereby the second lens group  102  moves in the optical axis direction together with the second lens frame  105 . As the second lens group  102  moves, the focusing of the taking optical system is effected.  
     [0189] The upper part of the threaded shaft  135  further penetrates through the front face  93   a  of the shutter unit frame  93 , whereas a gear  141  is attached to this penetrating portion. A swing plate  142  is attached to the front face  93   a , whereas gears  143 ,  144  are rotatably attached onto the swing plate  142 .  
     [0190] As shown in FIG. 10, the swing plate  142  is axially supported by an axial pin  145  of the gear  144 , and is rotatable about the axial pin  145 . Also, the swing plate  142  is urged by a torsion spring  146  in the leftward direction as seen from thereabove, and is engaged and stopped by a pin  147  projecting from the front face  93   a . The gear  143  on the swing plate  142  is usually in mesh with the gear  144  but is separated from and out of mesh with the gear  141  when the swing plate  142  is in a state rotated leftward by the torsion spring  146 .  
     [0191] The front face  93   a  is provided with gears  148 ,  149 ,  150  successively in mesh with each other. The gear  148  is in mesh with the gear  144 . As the gear  144  rotates, the gear  148  transmits the rotary force to the gear  150  via the gears  148 ,  149 . The gear  150  penetrates through a front wall part  6   a  of the third cylinder  6 , thereby meshing with the barrier driving ring  81 . Namely, as shown in FIG. 9, the gear  150  is inserted into a curved long hole  81   a  formed in the barrier driving ring  81 , thereby meshing with gear teeth  81   b  (see FIG. 4) formed in the inner peripheral face of the long hole,  81   a . The gears  130  to  140 , the threaded shaft  135 , and the gears  141 ,  143 ,  144 , and  148  to  150  function as a first driving transmission mechanism for transmitting the driving force of the motor  95  to the barrier opening and closing mechanism.  
     [0192] The part through which the gear  150  penetrates in the front wall part  6   a  of the third cylinder  6  is formed with a stopper  6   b . The stopper  6   b  restricts the moving area of the barrier driving ring  81 , and comes into contact with the inner wall of the long hole  81   a  when the barrier driving ring  81  moves, thereby limiting the movement of the barrier driving ring  81 .  
     [0193] As shown in FIG. 9, a rod member  160  is attached to the shutter unit frame  93 . The rod member  160  is a member shaped like a rod and is disposed so as to orient in the optical axis direction. The rod member  160  is assembled so as to be movable in the optical axis direction within a predetermined range, and moves as the lens barrel  1  is expanded and collapsed. The leading end part  161  of the rod member  160  is tapered down, and is positioned below the swing plate  142 . The rear end part  162  of the rod member  160  projects from the rear open end of the third cylinder  6 .  
     [0194] When the lens barrel  1  such as the third cylinder  6  is collapsed into the main body  3 , the rear end part  162  of the rod member  160  comes into contact with the main body  3  and the like. Upon this contact, the rod material  160  moves in front of the shutter unit frame  93 . As shown in FIG. 10, this movement rotates the swing plate  142  rightward, whereby the gear  143  on the swing plate  142  meshes with the gear  141 . Consequently, the driving force of the motor  95  is transmitted toward the barrier by way of the gears  141 ,  143 ,  144 , and  148  to  150 , whereby the barrier can be closed.  
     [0195] When the lens barrel  1  such as the third cylinder  6  is expanded from the main body  3  by a predetermined extent or greater, on the other hand, the rear end part  162  of the rod member  160  does not come into contact with the wall face (not depicted) of the main body  3 . As a consequence, the rod member  160  is positioned behind the shutter unit frame  93 , whereby the swing plate  142  attains a state rotated leftward. Therefore, the gear  143  on the swing plate  142  does not mesh with the gear  141 , whereby the driving force of the motor  95  is not transmitted toward the barrier. If the motor  95  is driven, only the second lens group  102  will move in the optical axis direction, so that the barrier will not be closed.  
     [0196] Thus, the rod member  160  and the swing plate  142  function as driving transmission switching means for switching between a transmission enabled state and a transmission disabled state concerning the transmission of the driving force of the motor  95  to the barrier opening and closing mechanism.  
     [0197] When the gear  143  on the swing plate  142  meshes with the gear  141 , the movement of the second lens group  102  and the opening/closing of the barrier  83  are synchronized with each other upon driving the motor  95  acting as the driving source. As a consequence, if the position of the second lens group  102  is detected by the detector  96 , then the opening/closing state of the barrier  83  can be detected indirectly. Hence, sensors and the like for detecting the opening and closing of the barrier can be omitted.  
     [0198] A basic operation of the lens barrel  1  will now be explained.  
     [0199] When the camera  2  is in its OFF state in which photographing is impossible, as shown in FIG. 6, the lens barrel  1  is collapsed in the main body  3 , and the barrier  83  is closed. If the main switch  16  of the main body  3  is pushed in this state, then the motor  95  is driven, and its driving force is transmitted to the barrier opening and closing mechanism, whereby the barrier  83  is opened as shown in FIG. 11. The driving force of the motor  95  is also transmitted to the lens moving mechanism, whereby the second lens group  102  moves toward the object.  
     [0200] In this state, since the lens barrel  1  is collapsed, the opening/closing of the barrier  83  and the movement of the second lens group  102  are carried out in synchronization with each other upon driving the motor  95 . The second lens group  102  is stopped at the WIDE wait position.  
     [0201] If the shutter button  11  is pushed in the state of FIG. 11, a lens barrel driving motor, which is not depicted, rotates according to AF rangefinding data, so that the columnar gear  43  rotates, whereby the first cylinder  4  is expanded as shown in FIG. 12. Here, the motor  95  is not driven, whereby the first lens group  101 , second lens group  102 , and third lens group  103  are expanded in total without changing their mutual group distances. This total expansion carries out focus adjustment. Subsequently, the shutter is released, so as to carry out photographing. After the shutter release, the first cylinder  4  is collapsed into the main body  3 .  
     [0202] When a zooming operation is carried out in the state of FIG. 11, the unshown lens driving motor is driven in response to the operation, so that the columnar gear  43  rotates along therewith, whereby the first cylinder  4  is expanded from the main body  3  and fixed tube  40  as shown in FIG. 13 while rotating. Also, along with the first cylinder  4 , the second cylinder  5  rotates so as to be expanded from the first cylinder  4 . Further, the third cylinder  6  is expanded from the second cylinder  5 . As the first cylinder  4 , second cylinder  5 , and third cylinder  6  are expanded, the first lens group  101 , second lens group  102 , and third lens group  103  are expanded together, whereby zooming is carried out. Here, the second lens group  102  waits at the WIDE wait position.  
     [0203] If the shutter button  11  is pushed in the state of FIG. 13, then the motor  95  is driven according to the AF rangefinding data, so that the second lens group  102  retracts from the WIDE wait position as shown in FIG. 14, whereby focus adjustment is carried out. Subsequently, the shutter is released, whereby photographing is effected.  
     [0204] If a zooming operation is further carried out in the state of FIG. 13, then the unshown lens driving motor is driven according to this operation as shown in FIG. 15, so that the columnar gear  43  rotates along therewith, whereby the first cylinder  4  is expanded from the main body  3  and fixed tube  40  as shown in FIG. 15 while rotating. Also, along with the first cylinder  4 , the second cylinder  5  rotates so as to be expanded from the first cylinder  4 . Further, the third cylinder  6  is expanded from the second cylinder  5 . As the first cylinder  4 , second cylinder  5 , and third cylinder  6  are expanded, the first lens group  101 , second lens group  102 , and third lens group  103  are expanded together, whereby zooming is carried out.  
     [0205] Here, if the third cylinder  6  is expanded by a predetermined extent or greater, then the second lens group  102  retracts from the WIDE wait position to the TELE wait position and waits at the TELE wait position. In FIG. 15, the TELE wait position of the second lens group  102  is indicated by the dash-double-dot line.  
     [0206] Here, when the lens barrel  1  is expandable by step zooming of seven stages Z 1  to Z 7 , for example, the amount of expansion between zoom codes Z 2  and Z 3  is set as “expansion by a predetermined extent or greater.” Namely, when the lens barrel  1  is expanded from the zoom code Z 2  to the zoom code Z 3 , the second lens group  102  moves from the WIDE wait position to the TELE wait position. The movement of the second lens group  102  is carried out by the driving of the motor  95 .  
     [0207] Upon this driving, the transmission of the driving force of the motor  95  to the barrier opening and closing mechanism is interrupted by the expansion of the lens barrel  1 , whereby the barrier  83  is not closed even when the motor  95  is driven.  
     [0208] If the shutter button  11  is pushed in the state of FIG. 15, then the motor  95  is driven according to the AF rangefinding data, so that the second lens group  102  retracts from the TELE wait position (position indicated by the dash-double-dot line), whereby focus adjustment is carried out. Then, the shutter is released, whereby photographing is effected.  
     [0209] The electric configuration of the camera using the lens barrel  1  will now be explained.  
     [0210]FIG. 16 is a block diagram showing the electric configuration of the camera using the lens barrel  1 . As shown in this drawing, the camera  2  is equipped with a CPU  200 . The CPU  200  controls the camera  2  as a whole, and incorporates therein a ROM  201  in which programs for control and arithmetic processing are stored beforehand, and a RAM  202  for storing various data upon control and arithmetic operations.  
     [0211] Connected to the CPU  200  are a booster circuit  210 , the display section  13 , a switch group  212 , a remote control receiving circuit  213 , an LED group  214 , a strobe circuit  215 , a photometric section  216 , and a shutter driving section  217 .  
     [0212] A battery  210   a  is connected to the booster circuit  210 . Under the control of CPU  200 , the booster circuit  210  boosts the power voltage outputted from the battery  210   a , and supplies thus boosted power voltage to individual electric parts and the like within the camera  2 .  
     [0213] The switch group  212  is constituted by the shutter button  11  for releasing the shutter, the mode switch  14  for setting photographing modes, the self-timer switch  15  for setting self-timer photographing, the main switch  16  for switching between the photographing enabled state and photographing disabled state, the zoom switch  18  (TELE switch  19  and WIDE switch  20 ), an opening/closing switch for opening and closing the cartridge lid  21 , an MR switch for instructing the rewinding of the film in the middle, a cartridge ON/OFF switch for verifying whether the camera is loaded with a film cartridge or not, and the like.  
     [0214] The strobe circuit  215  has a luminous body installed inside a strobe window, and causes the luminous body to stroboscopically emit light according to a selected photographing mode (mode concerning stroboscopic light emission and the like) under the control of CPU  200 . The photometric section  216  is constituted by the photometric sensor  9  and the like. The shutter driving section  217  drives the shutter and is actuated in response to driving signals from a driver section  219 .  
     [0215] Also connected to the CPU  200  are an EEPROM  218 , the driver section  219 , an AF circuit  220 , a focus driving section  221 , a lens barrel driving section  222 , a film feeding section  223 , a DD (data disk) reading section  224 , and a magnetic data writing and reading section  225 .  
     [0216] The EEPROM  218  stores the state of the camera  2  at each point in time, various control parameters, and the like. In response to control signals from the CPU  200 , the driver section  219  outputs driving signals to the focus driving section  221 , the lens barrel driving section  222 , the film feeding section  223 , and the shutter driving section  217 . The driver section  219  is connected to a driver ON/OFF terminal CE, a serial terminal DM, and parallel terminals DC 0 , DC 1 , DC 2  of the CPU 200 . The driver section  219  turns on the driver ON/OFF terminal CE, so as to select a driving section to be driven by serial signals, and drives thus selected driving section according to data signals from the parallel terminals DC 0 , DC 1 , DC 2 . After the selected driving section is completely driven, the driver ON/OFF terminal CE is turned off, so as to turn off the driver section  219 .  
     [0217] The AF circuit  220  has a luminous body and a light-emitting body inside its AF light-projecting window and AF light-receiving window, respectively, measures the distance to the object based on the principle of trigonometry using the luminous body and light-receiving body according to an instruction from the CPU  200 , and sends the result of measurement to the CPU  200 .  
     [0218] The focus driving section  221 , equipped with the motor  95 , is used for moving the lenses of the second lens group  102  and opening and closing the barrier  83 . The motor  95  is driven in response to driving signals from the driver section  219 , so as to move the lenses of the second lens group  102  and open and close the barrier  83 . The focus driving section  221  also comprises a drive detector  226  for outputting pulse signals as the motor  95  is driven to rotate. As the drive detector  226 , a photo interrupter is used, for example. The focus driving section  221  further comprises the detector  96  for detecting the position of the second lens group  102 .  
     [0219] The lens barrel driving section  222 , equipped with a motor  227 , is used for driving the lens barrel  1  to expand and collapse. The motor  227  is a lens barrel driving motor and is driven in response to driving signals from the driver section  219 , so as to rotate the first cylinder  4  by way of the columnar gear  43  and the like, thereby expanding or collapsing the lens barrel  1 . The lens barrel driving section  222  is equipped with a drive detector  228  for outputting pulse signals as the motor  227  is driven to rotate. As the drive detector  228 , a photo interrupter is used, for example.  
     [0220] According to an instruction from the CPU  200 , the film feeding section  223  feeds the film of the loaded film cartridge forward or backward. As instructed by the CPU  200 , immediately after the main body  3  is loaded with a film cartridge, the DD reading section  224  reads out data concerning the film information (the film species, film sensitivity, and number of frames that can be photographed) and state of use of films (unused/during photographing/photographed/developed) recorded in the data disk of the film cartridge, and sends thus read-out data to the CPU  200 . Here, the data disk is a disk-shaped member disposed at a side edge of the film cartridge, indicating the film information by a barcode displayed on its surface and representing the state of use of film by its azimuth of rotation when it is stopped.  
     [0221] According to an instruction from the CPU  200 , the magnetic data reading and writing section  225  writes information data such as the date of photographing, number of prints, language, and title into a magnetic recording area of the film of the film cartridge or reads out such information data therefrom.  
     [0222] Each control processing operation in the camera  2  equipped with the lens barrel  1  will now be explained in detail.  
     [0223] First, the summary of a basic control processing operation of the camera  2  will be explained.  
     [0224]FIG. 17 shows a schematic flowchart of the basic control processing operation of the camera  2 . As shown in S 10  of this chart, an initial processing operation of is carried out when the camera  2  is loaded with a battery. The initial processing operation is so-called power-on resetting, whereby the initial setting of the CPU  200 , the initial port setting, the initial setting of RAM  202 , the expansion of the value of EEPROM  218  into the RAM  202 , and the like are carried out. The details thereof will be explained later. Subsequently, the flow shifts to S 12 , where a clock processing operation is carried out. The clock processing operation is an operation for updating the time display to that corresponding to the clock count.  
     [0225] Then, the flow shifts to S 14 , where an error writing processing operation is carried out. The error writing processing operation is an operation for carrying out writing at a predetermined area allocated in the EEPROM  218  when error writing is requested in each processing operation.  
     [0226] Subsequently, the flow shifts to S 16 , where a remote control circuit power processing operation is carried out. Then, the flow shifts to S 18 , where it is determined whether a 250-ms timer is running or not. If it is determined that the 250-ms timer is not running, then the flow shifts to S 24 . If it is determined that the 250-ms timer is running, by contrast, then an SCT processing operation is carried out (S 20 ), and a lens barrel recovery processing operation is carried out (S 22 ).  
     [0227] The SCT processing operation is an operation for detecting whether a cartridge exists or not. The lens barrel recovery processing operation is an operation for returning the lens barrel  1  to an appropriate position or completely collapsing the lens barrel  1  when the lens barrel is forcibly expanded or collapsed by a user. The lens barrel recovery processing operation will be explained later in detail.  
     [0228] Then, the flow shifts to S 24 , where a branch check processing and branching processing operation is carried out. The branch check processing and branching processing operation is an operation for determining whether a signal inputted by a switch operation or the like is effective or not, and causes the flow to branch to a processing operation corresponding to the inputted signal when the signal is effective. Subsequently, the flow shifts to S 26 , where a switching processing operation is carried out. The switching processing operation is an operation for actually carrying out an action corresponding to the switch operation or the like.  
     [0229] Then, the flow shifts to S 32 , where a strobe charge processing operation is carried out. The strobe charge processing operation is an operation for charging the battery. Subsequently, the flow shifts to S 34 , where a standby processing operation is carried out. The standby processing operation will be explained later in detail. After the standby processing operation at S 34  is completed, the flow returns to S 12 .  
     [0230] The initial processing operation will now be explained.  
     [0231] FIGS.  18  to  20  show flowcharts of the initial processing operation. The initial processing operation is an operation for initializing the CPU  200  and the like when loaded with the battery.  
     [0232] As shown at S 50  in FIG. 18, initial setting of the CPU  200  is carried out. Subsequently, port setting and initial setting of the RAM  202  are carried out (S 52 , S 54 ). Then, predetermined data in the EEPROM  218  are expanded into the RAM  202  (S 56 ), and it is determined whether or not there is abnormality in the data of EEPROM  218  (S 58 ). Here, abnormal data are rounded into a predetermined value.  
     [0233] Substantially, the flow shifts to S 60 , where an SCT detection processing operation is carried out. The SCT detection processing operation is an operation for determining whether the main body  3  of the camera  2  is loaded with a film cartridge or not. Then, the flow shifts to S 62 , where it is determined whether the feed state data (FSTATE) of the EEPROM  218  is in a standby status for photographing or not. If it is determined not, then the flow shifts to S 66 .  
     [0234] If it is determined to be in a standby status for photographing, then the flow shifts to S 64 , where it is determined whether or not a certain value “N” is set as film count data (FCOUNT) of the EEPROM  218 . If it is determined that the certain value “N” is set as the film count data (FCOUNT), then the flow shifts to S 76 . If it is determined not, by contrast, then the flow shifts to S 66 , where it is determined according to the data of EEPROM  218  whether the main body  3  is loaded with a cartridge or not.  
     [0235] If it is determined at S 66  that the main body  3  is not loaded with a cartridge, then a cartridge mark turning off flag in the RAM  202  is set (S 68 ), and “null” is set as the film count data (S 70 ). Then, “photography standby” is written into the EEPROM  218  as the feed state data (FSTATE) of the camera  2 , and “null” as the film count data (S 72 ). Further, predetermined values for the shutter speed and film type are written into the EEPROM  218  as initial data.  
     [0236] At S 76 , it is determined whether the feed state data (FSTATE) in the EEPROM  218  is that during DEP/DD. Here, “during DEP/DD” refers to the time during which the species of film (sensitivity, negative/positive, etc.) and the state of use are being read out when the main body  3  is loaded with a cartridge. If it is determined to be during DEP/DD at S 76 , then the flow shifts to S 74 .  
     [0237] If it is determined not to be during DEP/DD, then the flow shifts to S 78 , where it is determined whether the feed state data in the EEPROM  218  is that during photographing MR or not. Here, “photographing MR” refers to during manual rewinding in the middle of photographing. If it is determined to be during photographing MR at S 78 , then the flow shifts to S 80 , where it is determined whether or not a certain value “N” is set as the film count data (FCOUNT) in the EEPROM  218 . If it is determined that the certain value “N” is not set as the film count data, then the flow shifts to S 100 .  
     [0238] If it is determined at S 80  that the certain value “N” is set as the film count data, by contrast, then the flow shifts to S 82 , where it is determined whether or not a value of at least 2 is set as the film count data in the EEPROM  218 . If it is determined that a value of at least 2 is set as the film count data in the EEPROM  218 , then the flow shifts to S 86 , where a value obtained when  1  is subtracted from the former value is set as the film count data. If it is determined not, by contrast, then the flow shifts to S 84 , where 1 is set as the film count data.  
     [0239] Subsequently, the flow shifts to S 88 , where the values set as the feed state data and film count data in the RAM  202  are written into the EEPROM  218 .  
     [0240] If it is determined not to be during the photographing MR at S 78 , by contrast, then the flow shifts to S 90 , where it is determined whether the feed state data in the EEPROM  218  is during the rewrite MR or not. Here, “during rewrite MR” refers to the case during rewriting magnetic information.  
     [0241] Subsequently, the flow shifts to S 100 , where the film count value is displayed on the display section  13 . Then, the flow shifts to S 102 , where it is determined whether the film count data (FCOUNT) is “null” or not. If the film count data (FCOUNT) is determined to be “null,” then the flow shifts to S 110 . If it is determined that the film count data is not “null,” then the flow shifts to S 106 , where the date is displayed. Namely, “______” is displayed as the date display of OFF mode on the display section (see FIG. 2) provided in the back face of the main body  3 . Then, the flow shifts to S 108  and, after a wait of  1  sec, further to S 110 .  
     [0242] At S 100 , an initial valve close processing operation is carried out. The initial valve close processing operation is an operation for closing the shutter incorporated in the lens barrel  1 . Subsequently, a power on/off temperature measurement processing operation is carried out (S 112  in FIG. 19), an open code is set as a main switch condition into the RAM  202  (S 114 ), and an encoder check processing operation is carried out (S 115 ). The power on/off temperature measurement processing operation is an operation for carrying out temperature measurement for driving the focus driving section  221  (see FIG. 16). The encoder check processing operation is an operation for reading out terminals EA, EB of an encoder installed in the lens barrel  1  in order to determine the current lens barrel position.  
     [0243] Subsequently, the flow shifts to S 116 , where it is determined whether the respective inputs of terminals EA, EB detected in the encoder check processing operation are both at 1 or not. The case where the inputs of terminals EA, EB are both at 1 is a case where the lens barrel  3  is completely collapsed into the main body  3 . If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 118 , where a focus initial processing operation is carried out. The focus initial processing operation is an operation for closing the barrier after detecting the position of the second lens group  102 . The details thereof will be explained later.  
     [0244] If it is determined that both of the terminals EA, EB are not at 1, then the flow shifts to S 120 , where a close processing operation is carried out. The close processing operation is an operation for collapsing the lens barrel  1  to a zoom code Z 1  at which the terminals EA, EB are at 1. The close processing operation will be explained later in detail.  
     [0245] Subsequently, the flow shifts to S 122 , where an encoder check processing operation is carried out, and then it is determined whether both of the terminals EA, EB detected by the encoder check processing operation are at 1 or not (S 124 ). If it is determined that the terminals EA, EB are not at 1, then the flow shifts to S 140 . If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 126 , where a focus initial setting operation is carried out.  
     [0246] Subsequently, the flow shifts to S 128 , where it is determined whether a focus error is set or not. If the focus error is set, then the encoder position is set to E 1  (S 130 ), and the lens barrel position is set to Z 1  (S 132 ). If no focus error is set, by contrast, then the encoder position is set to E 0  (S 134 ), the lens barrel position is set to Z 0  (S 136 ), and the lens barrel error is reset (S 138 ).  
     [0247] Subsequently, the flow shifts to S 140 , where a close code is set as a main switch condition in the RAM  202 . Then, the flow shifts to S 142 , where it is determined whether LPIIN overtime is set or not. Here, “LPIIN” refers to the input from the drive detector  226  (see FIG. 16) of the focus driving section  221 , and “LPIIN overtime” means that a preset time has elapsed.  
     [0248] If it is determined at S 142  that the LPIIN overtime is set, then the flow shifts to S 144 , where a focus error recovery processing operation is carried out. The focus error recovery processing operation is an operation for recovering from the state in which gears do not favorably mesh with each other in the case where the second lens group  102  is moved to the WIDE wait position and the like. This operation will be explained later in detail.  
     [0249] If it is determined at S 142  that no LPIIN overtime is set, then the flow shifts to S 146 , where 5 is set as the count data n. Subsequently, the flow shifts to S 148 , where a battery check processing operation (BC processing operation) is carried out. The battery check processing operation is an operation for checking the voltage of the battery  210   a.    
     [0250] Subsequently, the flow shifts to S 150 , where it is determined whether the battery check is a failure or not. If it is determined to be a failure, then, after a wait of 200 ms (S 152 ), 1 is subtracted from the count data n (S 154 ). Thereafter, it is determined whether the resulting count data n is 0 or not (S 156 ). If it is determined that the count data n is not 0, then the flow returns to S 148 . If it is determined that the count data n is 0, then the flow shifts to S 158 , where it is determined whether the MR switch is turned ON or not. If the MR switch is ON, then an MR switch processing operation is carried out so as to forcibly take up the film.  
     [0251] If it is determined at S 150  that the battery check is not failure, then the flow shifts to S 162  and S 164 , where it is detected whether the main body  3  is loaded with a cartridge or not. If it is determined that the main body  3  is loaded with no cartridge, then the flow shifts to S 170  in FIG. 20. If it is determined that the main body  3  is loaded with a cartridge, by contrast, then it is determined whether the cartridge lid  21  is open or not (S 166 ). If it is determined that the cartridge lid  21  is not open, then the flow shifts to S 170  of FIG. 20. If it is determined that the cartridge lid  21  is open, then the flow shifts to S 168 , where a spool key movement processing operation is carried out. The spool key movement processing operation is an operation for moving the position of a spool key to the position of X.  
     [0252] Subsequently, the flow shifts to S 170  in FIG. 20, where it is determined whether the feed state data (FSTATE) of EEPROM  218  is during DEP/DD or not. If it is determined to be during DEP/DD, then the flow shifts to S 174 , where the date is displayed, and a VEI processing operation is carried out, whereby the display of the use of the cartridge is set to the exposed state (S 176 ). Thereafter, the flow shifts to S 212 .  
     [0253] If it is determined not to be during DEP/DD at S 170 , then it is determined whether the feed state data of EEPROM  218  is during VEI or not (S 172 ). If it is determined to be during VEI, then the flow shifts to S 174 . If it is determined not to be during VEI, then the flow shifts to S 178 , where it is determined whether the feed state data of EEPROM  218  is n blinking or not. Here, “n blinking” refers to a state where a feeding error is generated in the camera  2 .  
     [0254] If it is determined to be n blinking at S 178 , then the flow shifts to S 204 , where “exposed” is written as data of the VEI processing stop position into EEPROM  218 , and the value set in the RAM  202  is written as the film count data (FCOUNT) into the EEPROM  218 .  
     [0255] Subsequently, the flow shifts to S 206 , where the date is displayed, and then it is determined whether a shutter error is set or not (S 208 ). If it is determined that the shutter error is set, then the flow shifts to S 212 . If it is determined that no shutter error is set, on the other hand, then a rewind feed processing operation is carried out (S 210 ). The rewind feed processing operation is an operation for totally taking up the film.  
     [0256] If it is determined at S 178  that the feed state data of EEPROM  218  is not n blinking, then it is determined whether the feed state data is that during MR (manual rewinding) or not. If it is determined to be during MR, then the flow shifts to S 204 . If it is determined not, then the flow shifts to S 184 , where it is determined whether the feed state data of EEPROM  218  is that during FFS (first frame set) or not. If it is determined to be during FFS, then the flow shifts to S 206 .  
     [0257] If it is determined not to be during FFS at S 182 , then the flow shifts to S 184 , where it is determined whether the feed state data of the EEPROM  218  is during frame advance or not. If the feed state data is determined to be during feed advance, then the flow shifts to S 186 , where it is determined whether or not the film count data is 0 or 1. If the film count data is determined to be 0 or 1, then the flow shifts to S 204 . If the film count data is determined to be neither 0 nor 1, then the flow shifts to S 188 , where the date is displayed, and thereafter “exposed” is written as data of the VEI processing stop position into the EEPROM  218 , whereas the value set as the film count data (FCOUNT) in the RAM  202  is written into the EEPROM  218  (S 190 ). Then, the flow shifts to S 192 , where a single frame feed processing operation for the film is carried out.  
     [0258] Meanwhile, if the feed state data is determined to be not during frame advance at S 184 , then the flow shifts to S 194 , where it is determined whether the feed state data of the EEPROM  218  is that during rewrite feed or not. If the feed state data is determined to be that during rewrite feed, then the flow shifts to S 188 . If it is determined not, by contrast, then the flow shifts to S 196 , where it is determined whether the film count data is 0 or not. If it is determined that the film count data is not 0, then the flow shifts to S 212 . If the film count data is determined to be 0, then the display section  113  is totally displayed for 3 seconds (S 198  to S 202 ).  
     [0259] Subsequently, the flow shifts to S 212 , where a battery check processing operation is carried out, so as to determine whether the main body  3  is loaded with a cartridge or not. If the main body  3  is loaded with a cartridge, then the cartridge mark of the display section  13  is lit (S 216 ). If not, then the flow shifts to S 218 , where the date is displayed, whereby the initial processing operation is terminated.  
     [0260] A release processing operation will now be explained.  
     [0261] FIGS.  21  to  25  show flowcharts of the release processing operation. The release processing operation is an operation carried out when the shutter button  11  is manipulated.  
     [0262] As shown in S 300  of FIG. 21, it is determined whether a lens barrel error flag is set in the RAM  202  or not. If it is determined that the lens barrel error flag is set, then the flow shifts to S 462  in FIG. 25. If it is determined not, by contrast, then a shutter battery check is set (S 302 ). Subsequently, a battery check processing operation is carried out (S 304 ), and the shutter battery check is reset (S 306 ).  
     [0263] Then, the flow shifts to S 308 , where it is determined whether the battery check is a failure or not. If the battery check is determined to be a failure, then the flow shifts to S 462  in FIG. 25. If it is determined not, then a temperature measurement processing operation (S 310 ), a photometric processing operation (S 312 ), an AF (autofocus) processing operation (S 314 ), an expansion calculating operation (S 316 ), and an exposure calculating operation (S 318 ) are carried out successively.  
     [0264] The temperature measurement processing operation is an operation for measuring temperature. The photometric processing operation is an operation for measuring the brightness of the outside. The AF processing operation is an operation for measuring the distance to the object. The expansion calculating operation is an operation for calculating the amount of movement of the second lens group  102  for focus adjustment according to the result of measurement of AF processing operation. The exposure calculating operation is an operation for calculating the exposure time caused by the shutter opening according to the result of measurement of photometric processing operation and the like, so as to calculate the strobe lighting time.  
     [0265] Subsequently, the flow shifts to S 320 , where it is determined whether the stroboscopic lighting is to be carried out or not. If it is determined not, then the flow shifts to S 324 . If it is determined that stroboscopic lighting is to be carried out, then it is determined whether the strobe is completely charged or not (S 322 ). If it is determined that the strobe is not completely charged, then the flow shifts to S 462  in FIG. 25.  
     [0266] If it is determined that the strobe is completely charged, then the flow shifts to S 324 , where it is determined whether the film count data (FCOUNT) is “null” or not. If it is determined that the film count data is “null,” then the flow shifts to S 328 . If it is determined not, then the ISO sensitivity of film and the film type are displayed on the display section  13 .  
     [0267] Subsequently, the flow shifts to S 328 , where the autofocus LED (AFLED) is lit. Then, after a wait of 100 .s (S 330 ), the flow shifts to S 332 , where it is determined whether a short distance alarm is set or not.  
     [0268] If it is determined that the short distance alarm is set, then it is determined whether the autofocus LED (AFLED) is lit or not (S 334 ). If it is determined that the AFLED is lit, then it is turned off (S 336 ). If it is determined that the AFLED is not lit, then it is turned on (S 338 ). As a consequence, the autofocus LED blinks until a switch SP 2  is pushed or a switch SP 1  is turned off.  
     [0269] Subsequently, the flow shifts to S 340 , where it is determined whether the switch SP 1  is ON or not. The switch SP 1  is a switch for detecting whether the shutter button  11  is half-pushed or not, and is turned on when the shutter button  11  is half-pushed.  
     [0270] If it is determined at S 340  that the switch SP 1  is not ON, then the autofocus LED is turned off (S 344 ), and the flow shifts to S 446  in FIG. 25. If it is determined that the switch SP 1  is ON, then it is determined whether the switch SP 2  is ON or not (S 346 ). The switch SP 2  is a switch for detecting whether the shutter button  11  is completely pushed or not, and is turned on when the shutter button  11  is completely pushed.  
     [0271] If it is determined at S 346  that the switch SP 2  is not ON, then the flow returns to S 322 . If it is determined that the switch SP 2  is ON, by contrast, then the autofocus LED is turned off (S 348 ), and the flow shifts to S 350  in FIG. 22.  
     [0272] At S 350 , a lens drive processing operation (LD processing operation) is carried out. The lens drive processing operation is an operation for moving the whole lens barrel  1  or the second lens group  102  according to the result of the expansion calculating operation at S 316  in FIG. 21. The details thereof will be explained later. Subsequently, the flow shifts to S 352 , where it is determined whether a lens barrel error flag is set or not. If it is determined that the lens barrel error flag is set, then the flow shifts to S 386 .  
     [0273] If it is determined that no lens barrel error flag is set, then it is determined whether a lens drive failure (LDNG) is set or not (S 354 ). If it is determined that the lens drive failure is set, then the flow shifts to S 356 , where it is determined whether PI overtime is reached or not. The PI overtime means that overtime has occurred in the PI signal of the lens barrel motor or focus motor. If it is determined at S 356  that the PI overtime is not reached, then the flow shifts to S 386 . If it is determined that the PI overtime is reached, by contrast, then the flow shifts to S 358 , where a lens return (LR) processing operation is carried out. The lens return processing operation is an operation by which the lens barrel  1  or second lens group  102  moved by the lens drive processing operation is returned to a predetermined wait position. The details thereof will be explained later. After the lens return processing at S 358 , the flow shifts to S 386 .  
     [0274] If it is determined at S 358  that no lens drive failure is set, by contrast, then a PRE processing operation (S 360 ), a CHP readout processing operation (S 362 ), a power ON processing operation (S 364 ), an exposure processing operation (S 366 ), a power OFF processing operation (S 368 ), and a power completion setting operation (S 370 ) are carried out successively. The PRE processing operation is an operation for blinking the strobe before exposure depending on whether the photographing mode is a redeye alleviating mode or not. The CHP readout processing operation is an operation for reading out a selected print type. The exposure processing operation is an operation for releasing the shutter according to the result of the exposure calculating operation at S 318  in FIG. 21.  
     [0275] Subsequently, the flow shifts to S 372 , where it is determined whether an exposure error has occurred or not. If it is determined not, then the shutter error is reset (S 374 ). If it is determined that the exposure error has occurred, by contrast, then it is determined whether a certain value “N” is set as the film count data (FCOUNT) in EEPROM  218  or not (S 376 ).  
     [0276] If it is determined that the certain value “N” is not set as the film count data, then the flow shifts to S 374 . If it is determined that the certain value “N” is set as the film count data, by contrast, then 1 is added to the data of the shutter error count (S 378 ). Subsequently, the flow shifts to S 380 , where it is determined whether the shutter error count is at least a predetermined set value or not. If it is determined that the shutter error count is not at least the predetermined set value, then the flow shifts to S 374 . If it is determined that the shutter error count is at least the predetermined set value, by contrast, then a shutter error is set (S 382 ), and the error writing is set (S 384 ).  
     [0277] Subsequently, the flow shifts to S 386 , where a lens return processing operation is carried out. Next, it is determined whether an exposure error has occurred or not (S 388 ). If it is determined not, the flow shifts to S 390 , where it is determined whether a lens barrel error has occurred or not. If it is determined that no lens barrel error has occurred, then the flow shifts to S 398 . If it is determined at S 388  that the exposure error has occurred, and it is determined at S 390  that the lens barrel error has occurred, then it is determined whether the photographing mode of the camera  2  is a distant view mode (INF) or a night view mode (NVP) or not (S 392 , S 394 ). If it is determined that the photographing mode of the camera  2  is the distant view mode (INF) or night view mode (NVP), then the photographing mode is set to a normal mode (DP mode) and is displayed on the display section  13  (S 396 ). If the photographing node of the camera  2  is neither the distant view mode (INF) nor the night view mode (NVP), then the flow shifts to S 398 .  
     [0278] A clock processing operation is carried out at S 398 . Then, a date display operation (S 400 ) and an error writing processing operation (S 402 ) are carried out. Subsequently, it is determined whether a shutter error has occurred or not (S 404 ). If it is determined that no shutter error has occurred, then the flow shifts to S 410 . If it is determined that the shutter error has occurred, then a predetermined mark is blinked on the display section  13  (S 406 ), whereby a user and the like can see the shutter error.  
     [0279] Subsequently, the flow shifts to S 408 , where “exposed” is written as data of the VEI processing stop position into the EEPROM  218 , and the value set as the film count data (FCOUNT) in the RAM  202  is written into the EEPROM  218 .  
     [0280] Then, the flow proceeds to S 410 , where it is determined whether a lens drive failure exists or not. If it is determined that the lens drive failure exists, then the flow proceeds to S 458  in FIG. 25. If it is determined not, by contrast, then the flow proceeds to S 414 , where it is determined whether the film count data (FCOUNT) is “null” or not. If it is determined to be “null,” then the flow shifts to S 428  in FIG. 24. If it is determined not, by contrast, then it is determined whether the VEI processing stop position (E_VEIPARK) is “exposed” or not (S 416 ).  
     [0281] If the VEI processing stop position is determined to be “exposed” here, then the flow shifts to S 422 . If it is determined not, by contrast, then “partial” is set as data of the VEI processing stop position (S 418 ), and the data set in the RAM  202  is written into the EEPROM  218  as data of the VEI processing stop position, and the value set in the RAM  202  is written as the film count data (FCOUNT) into the EEPROM  218  (S 420 ).  
     [0282] Subsequently, the flow shifts to S 422 , where it is determined whether the cartridge lid  21  is open (SCC=open) or not. If it is determined that the cartridge lid  21  is open, then the flow shifts to S 428  in FIG. 24. If it is determined not, then it is determined whether the opening/closing of the cartridge lid  21  has changed (SCC change exists) or not (S 424 ).  
     [0283] If it is determined that the opening/closing of the cartridge lid  21  has changed, then the flow shifts to S 428  in FIG. 24. If it is determined not, then the flow shifts to S 426 , where “during frame advance upon photographing” is written into the EEPROM  218  as the feed state data (FSTATE) of the camera  2 , and the film count data set in the RAM  202  is written into the EEPROM  218  as the film count data (S 72 ).  
     [0284] Subsequently, the flow shifts to S 428  in FIG. 24, where it is determined whether the photographing mode of the camera  2  is the distant view mode (INF) or night view mode (NVP) or not (S 428 , S 430 ). If it is determined that the photographing mode of the camera  2  is the distant view mode (INF) or night view mode (NVP), then the photographing mode is set to the normal mode (DP mode) and is displayed on the display section  13  (S 432 ). If the photographing mode of the camera  2  is neither the distant view mode (INF) nor the night view mode (NVP), then the flow shifts to S 434 .  
     [0285] At S 434 , a photographing complete display is carried out. The photographing complete display is carried out by lighting the autofocus LED (AFLED) and the self-mode LED (SELFLED). Subsequently, it is determined whether the cartridge lid  21  is erroneously opened/closed or not (S 436 ). If it is determined that the cartridge lid  21  is erroneously opened/closed, then the flow shifts to S 458  in FIG. 25. If it is determined not, by contrast, then a single frame feed processing operation is carried out (S 438 ).  
     [0286] Subsequently, it is determined whether the cartridge lid  21  is erroneously opened/closed or not (S 440 ). If it is determined that the cartridge lid  21  is erroneously opened/closed, then the flow shifts to S 458  in FIG. 25. If it is determined that the cartridge lid  21  is not erroneously opened/closed, then it is determined whether an exposure error has occurred or not (S 442 ). If it is determined that the exposure error has occurred, then the flow shifts to S 458  in FIG. 25. If it is determined not, by contrast, then a strobe charge processing operation is carried out (S 444 ).  
     [0287] At S 446  in FIG. 25, a date display operation is carried out. Subsequently, after a power OFF processing operation (S 448 ), a strobe charge processing operation (S 450 ), and a clock processing operation (S 452 ), it is determined whether the self switch is ON or not (S 454 ). If it is ON, then the flow returns to S 452 . If it is not ON, then the flow shifts to S 456 , where it is determined whether charge completion is set or not.  
     [0288] If it is determined that the charge completion is set, then the flow shifts to S 462 . If it is determined not, then the flow shifts to S 458 .  
     [0289] At S 458 , a date display operation is carried out. Subsequently, after a strobe charge processing operation (S 460 ) and a clock processing operation (S 462 ), it is determined whether the half pushing of the shutter button is cleared (SP 1  is OFF) or not (S 464 ). If it is determined not, then the flow returns to S 462 . If it is determined that the half pushing of the shutter button is cleared, then the release processing operation is terminated.  
     [0290] A main switch processing operation will now be explained.  
     [0291]FIG. 26 shows a flowchart of the main switch processing operation. The main switch processing operation is an operation carried out when the main switch  16  is manipulated.  
     [0292] As shown at S 500  in FIG. 26, it is determined whether the encoder position is at an encoder code E 0  or not. Here, “encoder position is at an encoder code E 0 ” refers to a state where the lens barrel  1  is collapsed into the main body  3  whereas the barrier  83  is closed. If it is determined that the encoder position is not at the encoder code E 0 , then the flow shifts to S 508 . If it is determined that the encoder position is at the encoder code E 0 , then an encoder check processing operation is carried out (S 502 ). As mentioned above, the encoder check processing operation is an operation for reading out terminals EA, EB of an encoder installed in the lens barrel  1  in order to determine the current lens barrel position.  
     [0293] Subsequently, the flow shifts to S 504 , where it is determined whether both of the terminals EA, EB detected in the encoder check processing operation are at 1 or not. If both of the terminals EA, EB are not at 1, then the flow shifts to S 508 , where an SM close processing operation is carried out. The SM close processing operation is an operation for collapsing the lens barrel  1  into the main body  3  and closing the barrier  83 . This operation will be explained later in detail. If it is determined that both of the terminals EA, EB are at 1, then an SM open processing operation is carried out (S 506 ). The SM open processing operation is an operation for opening the barrier  83 . This operation will be explained later in detail.  
     [0294] Subsequently, the flow shifts to S 510 , where a clock processing operation is carried out, and then it is determined whether the main switch is pushed or not (S 512 ). If it is determined that the main switch is pushed, then the flow returns to S 510 . If it is determined not, by contrast, then the main switch processing operation is terminated.  
     [0295] The SM open processing operation will now be explained.  
     [0296]FIG. 27 shows a flowchart of the SM open processing operation. The SM open processing operation carries out an operation for opening the barrier and the like when the main switch  16  is manipulated.  
     [0297] As shown at S 550  in FIG. 27, a recovery inhibition flag is reset, and then an SM open battery check flag is set (S 552 ). Subsequently, a battery check processing operation is carried out (S 554 ), and the SM open battery check flag is reset.  
     [0298] Thereafter, it is determined whether the battery check is a failure or not. If it is determined to be a failure, then the flow shifts to S 566 . If it is determined not, by contrast, then a film count display (S 560 ), a power ON/OFF temperature measurement processing operation (S 562 ), and an open processing operation (S 564 ) are carried out. The open processing operation is an operation for opening the barrier, which will be explained later in detail.  
     [0299] Subsequently, the flow shifts to S 566 , where it is determined whether the encoder position is at the encoder code E 0  or not. If it is determined not, then it is considered that the open processing operation is carried out normally, whereby the flow shifts to S 508 , where a photographing mode display operation is carried out. Here, “photographing mode display” refers to the display of a mark indicative of the selected photographing mode. For example, no display is made in the auto mode, whereas an eye mark is displayed in the redeye alleviating mode.  
     [0300] Subsequently, the flow shifts to S 570 , where an input port for the switch group  212  (see FIG. 16) is set. Setting the input port allows each switch to input.  
     [0301] If it is determined at S 566  that the encoder position is not at the encoder code E 0 , then it is considered that the barrier  83  is not normally opened by the open processing operation, whereby an encoder check processing operation is carried out (S 572 ). Subsequently, it is determined whether both of the terminals EA, EB detected in the encoder check processing operation are at 1 or not (S 574 ). If it is determined that both of the terminals EA, EB are not at 1, then the flow shifts to S 568 . If it is determined that both of the terminals EA, EB are at 1, then the recovery inhibition flag is set (S 576 ). Subsequently, the flow shifts to S 578 , where an output port is set for the switch group  212  (see FIG. 16). Setting the output port inhibits each switch from inputting. After the operations of S 578  and S 570 , the SM open processing operation is terminated.  
     [0302] The SM close processing operation will now be explained.  
     [0303]FIG. 28 shows a flowchart of the SM close processing operation. The SM close processing operation is an operation for collapsing the lens barrel  1  into the main body  3  and closing the barrier when the main switch  16  is manipulated, and so forth.  
     [0304] As shown at S 600  in FIG. 28, it is determined whether the photographing mode is the redeye alleviating mode (PRE mode) or not. If it is determined that the photographing mode of the camera  2  is the redeye alleviating mode, then the flow shifts to S 604 . If it is determined not, by contrast, then the photographing mode is set to the normal mode (DP mode) (S 602 ).  
     [0305] Subsequently, the flow shifts to S 604 , where a charge completion flag is reset, and then a recovery inhibition flag is set (S 606 ). Thereafter, the current lens barrel position data is set as the previous lens barrel position data (S 608 ), a power ON/OFF temperature measurement processing operation is carried out (S 610 ), and a close processing operation is carried out (S 612 ). The close processing operation is an operation for collapsing the lens barrel  1  into the main body  3 , which will be explained later in detail.  
     [0306] Subsequently, the flow shifts to S 614 , where it is determined whether the encoder position is at an encoder code E 1  or not. Here, “encoder position is at an encoder code E 1 ” refers to a state where the lens barrel  1  is collapsed into the main body  3  whereas the barrier  83  is open. If it is determined that the encoder position is not at the encoder code E 1 , then the flow shifts to S 644 , where an open code is set as the main switch state, whereby an input port is set for the switch group  212  (see FIG. 16) (S 646 ).  
     [0307] If it is determined at S 614  that the encoder position is at the encoder code E 1 , then an encoder check processing operation is carried out (S 616 ). Subsequently, the flow shifts to S 618 , where it is determined whether both of the terminals EA, EB detected in the encoder check processing operation are at 1 or not. If it is determined that both of the terminals EA, EB are not at 1, then the flow shifts to S 644 .  
     [0308] If it is determined that both of the terminals EA, EB are not at 1, by contrast, then it is determined whether a focus error is set or not (S 620 ). If it is determined that the focus error is set, then the flow shifts to S 624 , where a focus initial processing operation is carried out. The focus initial processing operation is an operation for checking where the second lens group  102  (focus) is located and carrying out the barrier close processing operation. The barrier close processing operation is an operation for closing the barrier  83 . The focus initial processing operation and the barrier close processing operation will be explained later in detail. If it is determined at S 620  that no focus error is set, by contrast, then it is determined whether a lens barrel error is set or not (S 622 ).  
     [0309] If it is determined that the lens barrel error is set, then the flow shifts to S 624 . If it is determined not, by contrast, then a barrier close processing operation is carried out (S 626 ).  
     [0310] Subsequently, the flow shifts to S 628 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then a focus error recovery processing operation is carried out (S 630 ). If it is determined not, by contrast, then it is determined whether a focus error is set or not (S 632 ). If it is determined that the focus error is set, then the SM close processing operation is terminated. If it is determined that no focus error is set, by contrast, then E 0  is set as encoder position data (S 634 ), Z 0  is set as lens barrel position data (S 636 ), the lens barrel error is reset (S 638 ), and the close code is set as the main switch condition (SM state) (S 640 ).  
     [0311] Subsequently, the flow shifts to S 642 , where an output port for the switch group  212  (see FIG. 16) is set. Setting this output port inhibits each switch from inputting. After the operations of S 642  and S 646 , the SM close processing operation is terminated.  
     [0312] The standby processing operation will now be explained.  
     [0313]FIG. 29 shows a flowchart of the standby processing operation. The standby processing operation is carried out when there is no switch manipulation after each switch processing operation and the like.  
     [0314] As shown at S 700  in FIG. 29, 0 is set as the value for the standby counter and wait mode  1  counter. Subsequently, after a 250-ms timer is started at S 702 , it is determined whether there is a switch input or not (S 704 ). If it is determined that there is a switch input, then the standby processing operation is terminated, whereby the flow shifts to its corresponding switch processing operation.  
     [0315] If it is determined at S 704  that there is no switch input, then a clock processing operation (S 706 ) and a lens barrel recovery check processing operation (S 708 ) are carried out successively. The lens barrel recovery check processing operation will be explained later in detail.  
     [0316] Subsequently, the flow shifts to S 710 , where it is determined whether or not the standby counter is at a predetermined set value A which is set beforehand. As the set value A, a value corresponding to 5 minutes is set, for example. If it is determined that the standby counter A is not at the set value A, then 1 is added to the value of standby counter (S 712 ), and the flow returns to S 702 . If it is determined that the standby counter is at the predetermined set value A, by contrast, then it is determined whether an auto WIDE done flag is set or not (S 714 ).  
     [0317] If it is determined that the auto WIDE done flag is not set, then an auto WIDE processing operation is carried out (S 716 ). The auto WIDE processing operation will be explained later in detail. Subsequently, the flow shifts to S 717 , where the auto WIDE done flag is set, and the flow returns to S 702 .  
     [0318] If it is determined at S 714  that the auto WIDE done flag is set, then it is determined whether or not the wait mode  1  counter is at a predetermined set value set beforehand (S 718 ). As the set value B, a value corresponding to 8 to 10 minutes is set, for example. If it is determined that the wait mode  1  counter is not at the set value B, then 1 is added to the wait mode  1  counter (S 720 ), and the flow returns to S 702 .  
     [0319] If it is determined at S 718  that the wait mode  1  counter is at the set value B, then it is determined whether an auto OFF done flag is set or not. If it is determined that the auto OFF done flag is set, then the flow returns to S 702 . If it is determined that no auto OFF done flag is set, then an auto OFF set processing operation is carried out (S 724 ). The auto OFF processing operation is an operation for collapsing the lens barrel  1  into the main body  3  and closing the barrier as with the SM close processing operation. Subsequently, the flow shifts to S 726 , where the auto OFF done flag is set, and the flow returns to S 702 .  
     [0320] The auto WIDE processing operation will now be explained.  
     [0321]FIG. 30 shows a flowchart of the auto WIDE processing operation. The auto WIDE processing operation is an operation carried out when a predetermined time has elapsed without any switch manipulation while the camera  2  is in the standby state.  
     [0322] As shown at S 750  in FIG. 30, it is determined whether the photographing mode of the camera  2  is the redeye alleviating mode (PRE mode) or not. If it is determined that the photographing mode of the camera  2  is the redeye alleviating mode, then the flow shifts to S 754 . If it is determined not, by contrast, then the photographing mode is set to the normal mode (DP mode) (S 752 ).  
     [0323] Subsequently, the flow shifts to S 754 , where the self mode is reset, and it is determined whether an open code is set as the main switch state or not (S 756 ). If it is determined not, then the auto WIDE processing operation is terminated. If it is determined that the open code is set, by contrast, then it is determined whether a lens barrel error is set or not (S 758 ). If it is determined that the lens barrel error is set, then a lens barrel error processing operation is carried out (S 760 ). The lens barrel error processing operation is an operation for collapsing the lens barrel  1  into the main body  3 , closing the barrier, and then verifying the encoder position.  
     [0324] If no lens barrel error is set at S 758 , then an encoder check processing operation (S 762 ) is carried out, and thereafter it is determined whether the encoder terminals EA, EB are at a middle code or not (S 764 ). Here, “middle code” is a code allocated to the terminals EA, EB when the lens barrel expanding position is located between predetermined zoom code (Zn) and zoom code (Zn+1).  
     [0325] If it is determined at S 764  that the encoder terminals EA, EB are at a middle code, then the flow shifts to S 760 . If it is determined not, by contrast, then it is determined whether the lens barrel position is at the zoom code Z 1  or not (S 766 ). If it is determined that the lens position is at the zoom code Z 1 , then the auto WIDE processing operation is terminated. If it is determined not, then Z 1  is set as the lens barrel stop position (S 768 ).  
     [0326] Subsequently, the flow shifts to S 770 , where the lens barrel  1  is collapsed to the position of zoom code Z 1  (hereinafter simply referred to as “Z 1 ” when appropriate). Then, the recovery inhibition is set, whereby the auto WIDE processing operation is terminated.  
     [0327] The lens barrel recovery check processing operation will now be explained.  
     [0328]FIG. 31 shows a flowchart of the lens barrel recovery check processing operation. The lens barrel recovery check processing operation is an operation, carried out when the camera  2  is in the standby state, for reading out the encoder every 250 ms and driving the lens barrel if the positional state of the lens barrel has been moved to a position other than the zoom code.  
     [0329] As shown at S 800  in FIG. 31, it is determined whether a recovery inhibition flag is set or not. If the recovery inhibition flag is set, then the lens barrel recovery check processing operation is terminated. If no recovery inhibition flag is set, by contrast, then a middle code error is reset (S 802 ), and the lens barrel recovery is reset (S 804 ).  
     [0330] Subsequently, it is determined whether the lens barrel position is at Z 1  or not (S 806 ). If it is determined that the lens barrel position is at Z 1 , then the lens barrel recovery check processing is terminated since the recovery is impossible. If it is determined not, then it is determined whether the battery check is a failure or not (S 808 ).  
     [0331] If it is determined at S 808  that the battery check is a failure, then the lens barrel recovery check processing operation is terminated. If it is determined that the battery check is not a failure, then the encoder overtime counter is set to 10 (S 810 ), the encoder terminals EA, EB are set to the input port (S 812 ), and then, after a wait of 100 .s (S 814 ), the encoder terminals EA, EB are read out (S 816 ).  
     [0332] Subsequently, the encoder terminals EA, EB are set to the output port (S 818 ), and it is determined whether the previous code in the encoder and the currently read-out code coincide with each other or not (S 820 ). If it is determined that these codes coincide with each other, then the flow shifts to S 830 . If they do not coincide with each other, then 1 is subtracted from the value of encoder overtime counter (S 822 ), and it is determined whether the value of encoder overtime counter is 0 or not (S 824 ). If it is determined that the value of encoder overtime counter is not 0, then the flow returns to S 812 .  
     [0333] If it is determined that the value of encoder overtime counter is 0, by contrast, then the flow shifts to S 826 , where the encoder detection overtime is set, and subsequently both of the encoder terminals EA, EB are set to 0 (S 828 ).  
     [0334] Thereafter, the flow shifts to S 830 , where it is determined whether both of the encoder terminals EA, EB are at 0 or not. If it is determined that at least one of the encoder terminals EA, EB is not at 0, then it is determined that whether the terminals EA, EB are at a middle code or not (S 832 ). If it is determined that the terminals EA, EB are not at the middle code, then the lens barrel recovery check processing operation is terminated. If it is determined that the terminals EA, EB are at the middle code, then the middle code error flag is set (S 836 ), and the lens barrel recovery check processing operation is terminated.  
     [0335] If it is determined at S 830  that at least one of the encoder terminals EA, EB is at 0, then it is considered that the lens barrel is out of the zoom code Zn, whereby the lens barrel recovery flag is set (S 834 ), and the lens barrel recovery check processing operation is terminated.  
     [0336] In the lens barrel recovery check processing operation, as in the foregoing, the encoder is read out every 250 ms, and a state is set for driving the lens barrel if the lens barrel is moved to a position other than the zoom code, whereby it is detected if the lens barrel  1  is drawn out or pushed in because of external reasons.  
     [0337] The outline of motor control logic and lens barrel operations will now be explained.  
     [0338]FIG. 32 shows control signals in a lens barrel driving motor and a second lens group driving motor. The lens barrel driving motor and the second lens group driving motor are driven by driving signals outputted from the driver section  219  according to control signals from the CPU  200 .  
     [0339] After the motor to drive is selected according to a selection signal outputted from the driver ON/OFF terminal CE of the CPU  200 , details of the driving of the lens barrel driving motor and second lens group driving motor are determined according to the logic outputted from the parallel terminals DC 0 , DC 1 , DC 2 .  
     [0340] For example, in the case where DC 0 , DC 1 , and DC 2  are at 0 and the case where DCO is at 0, DC 1  is at 0, and DC 2  is at 1, the lens driving motor  95  or the second lens group driving motor  227  is in a wait state as shown in FIG. 32. In the case where DCO is at 0 whereas DC 1  and DC 2  are at 1, the motor is driven to rotate normally, i.e., in the TELE direction. In the case where DC 0  is at 1, DC 1  is at 0, and DC 2  is at 1, the motor is driven to rotate in reverse, i.e., in the WIDE direction. In the case where DC 0 , DC 1 , and DC 2  are at 1, a braking operation is carried out.  
     [0341]FIG. 33 shows an outline of operations of the lens barrel  1 .  
     [0342] As shown in this chart, a stoppable position upon zoom-driving of the lens barrel  1  is at zoom codes Zn. As the zoom codes Zn, Z 1  to Z 7  are set, for example. Em codes of the encoder are allocated so as to correspond to the zoom codes Z 1  to Z 7 , respectively. Em codes of E 0  and E 1  are allocated to the zoom code Z 1 . The code E 0  is a code in the case where the lens barrel is stopped at the zoom code Z 1  whereas the barrier  83  is closed. The code E 1  is a code in the case where the lens barrel is stopped at the zoom code Z 1  whereas the barrier  83  is open.  
     [0343] Em codes of E 2 , E 3 , E 4 , E 5 , E 6 , and E 7  are allocated to the zoom codes Z 2 , Z 3 , Z 4 , Z 5 , Z 6 , and Z 7 , respectively. Middle codes are allocated to the intervals between the individual zoom codes Zn.  
     [0344] As shown in (1) of FIG. 33, the open processing operation is an operation for opening the barrier  83  alone without carrying out driving for expanding the lens barrel  1  and so forth. As shown in (2) of this chart, the close processing operation carries out driving from any zoom code Zn to Z 1  and closes the barrier  83 . As shown in (3) of this chart, the TELE driving operation carries out driving for expanding the lens barrel from any zoom code Zn. As shown in (4) of this chart, the WIDE driving operation carries out driving for collapsing the lens barrel from any zoom code Zn. In this case, the lens barrel once passes the zoom code Zn to be stopped at and then is stopped as being driven from the WIDE side, i.e., zoom biasing is carried out.  
     [0345] As shown in (5) of this chart, the lens drive  1  processing operation carries out driving for expanding the whole lens barrel from Z 1 . As shown in (6) of this chart, the lens return  1  processing operation carries out driving for causing the lens barrel expanded from Z 1  to collapse to Z 1 . As shown in (7) of this chart, the lens barrel error processing operation carries out driving for causing the lens barrel moved to the middle code to collapse to Z 1 , and closes the barrier  83 . As shown in (8) of this chart, the lens barrel recovery processing operation carries out driving by which, when the lens barrel is moved out of the zoom code Zn onto any of the codes at both ends, the lens barrel is returned to the initial zoom code Zn.  
     [0346] The open processing operation will now be explained.  
     [0347]FIG. 34 shows a flowchart of the open processing operation. The open processing operation is an operation for opening the barrier  83  as the main switch  16  is manipulated.  
     [0348] As shown at S 850  in FIG. 34, it is determined whether the encoder position is at the code E 0  or not. If it is determined not, then the flow shifts to S 852 , where a lens barrel error flag is set, and further to S 868 . If it is determined that the encoder position is at the code E 0 , by contrast, then the encoder check processing operation is carried out (S 854 ).  
     [0349] Subsequently, the flow shifts to S 856 , where it is determined whether both of the terminals EA, EB are at 1 or not. If it is determined not, then the flow shifts to S 852 . If it is determined that both of the terminals EA, EB are at 1, then a barrier open processing operation is carried out (S 858 ). The barrier open processing operation is an operation for driving the motor  95  of the focus driving section  212  so as to open the barrier  83 . The barrier open processing operation will be explained later in detail.  
     [0350] Subsequently, the flow shifts to S 860 , where it is determined whether the open code is set as the main switch state or not. If it is determined not, then it is considered that the barrier  83  is not open, whereby the flow shifts to S 868 . If it is determined that the open code is set, then E 1  is set as the encoder position (S 862 ), Z 1  is set as the lens barrel position (S 864 ), and the lens barrel error flag is reset (S 866 ).  
     [0351] Thereafter, the flow shifts to S 868 , where the recovery inhibition flag is set, the driver ON/OFF terminal CE is set LOW so that the driver section  219  is placed into the inactive state (S 870 ), and the open processing operation is terminated.  
     [0352] The close processing operation will now be explained.  
     [0353]FIGS. 35 and 36 show flowcharts of the close processing operation. The close processing operation is an operation for collapsing the lens barrel  1  to the zoom code Z 1  and closing the barrier  83  as the main switch  16  is manipulated.  
     [0354] As shown at S 900  in FIG. 35, it is determined whether the encoder position is at the code E 1  or not. If it is determined that the encoder position is at the code E 1 , then the flow shifts to S 902 , where an encoder check processing operation is carried out, and it is determined whether both of the terminals EA, EB are at 1 or not (S 904 ). If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 964  in FIG. 36. If it is determined that both of the terminals EA, EB are at 1, by contrast, then the flow shifts to S 906 .  
     [0355] If it is determined at S 900  that the encoder position is not at the code E 1 , then the flow shifts to S 906 , where the lens barrel timer is set to 10 sec. Subsequently, the encoder stop position is set to E 1  (S 908 ), and the motor  227  of the lens barrel driving section  222  is selected as the motor to drive (hereinafter referred to as “lens barrel driving motor is selected”) (S 910 ).  
     [0356] Thereafter, the flow shifts to S 912 , where the outputs of parallel terminals DC 0  to DC 2  are set LOW so that the motor  227  is placed into a wait state, and the terminals EA, EB are set to the input port (S 914 ). Then, after a wait of 2 ms (S 916 ), a close drive preparation processing operation is carried out (S 918 ). The close drive preparation processing operation is an operation for setting Z 1  position DC drive switching point pulse data (E_P_Z 1 _BRAKE), normal rotation width restriction time (E_T_PI), and the like.  
     [0357] Subsequently, the flow shifts to S 920 , whereby the output of parallel terminal DC 0  is set LOW (hereinafter referred to as “L”), the output of parallel terminal DC 1  is set L, and the output of parallel terminal DC 2  is set HIGH (hereinafter referred to as “H”). Then, the flow shifts to S 922 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so that WIDE driving is carried out. Thereafter, a zoom switch neglect flag is set (S 924 ), and a WIDE drive processing operation is carried out (S 926 ). The WIDE drive processing operation is an operation for collapsing the lens barrel  1 , which will be explained later in detail.  
     [0358] Subsequently, the flow shifts to S 928 , where it is determined whether the lens barrel overtime is reached or not. If it is determined that the lens barrel overtime is reached, then the flow shifts to S 950 . Here, the lens barrel overtime means that the time initially set to the lens barrel timer (e.g., a period of 10 seconds) has elapsed. It is used for determining whether lens barrel operations are abnormal or not, since a certain operational inconvenience exists in the lens barrel if this time has elapsed.  
     [0359] If it is determined at S 928  that the lens barrel overtime is not reached, then it is determined whether the encoder detection overtime is reached or not (S 930 ).  
     [0360] If it is determined that the encoder detection overtime is reached, then the flow shifts to S 950 . As with the lens barrel overtime, the encoder detection overtime is used for determining that the case where the encoder signal does not change for a predetermined time is abnormal at the encoder detection stage.  
     [0361] If it is determined at S 930  that the encoder detection overtime is not reached, then the flow shifts to S 932 , where it is determined whether both of the terminals EA, EB are at 1 or not. If it is determined that the terminals EA, EB are not at 1, then the flow shifts to S 918 . If it is determined that both of the terminals EA, EB are at 1, then a stop drive processing operation is carried out (S 932 ).  
     [0362] The stop drive processing operation is an operation for feeding a reverse rotating signal to the motor  227  so as to decelerate the rotation of motor  227  and then feeding a normal rotating signal thereto so as to carry out constant low-speed driving. FIG. 37 shows a timing chart of the stop drive at the time of WIDE driving.  
     [0363] Subsequently, at S 936  in FIG. 35, it is determined whether the lens barrel overtime is reached or not. If it is determined that the lens barrel overtime is reached, then the flow shifts to S 944 . If it is determined not, by contrast, then it is determined whether the PI overtime is reached or not (S 938 ). Here, “PI overtime” means the case where there is no output from the drive detector  228 , which detects the rotary driving of the motor  227 , for a predetermined time.  
     [0364] If it is determined at S 938  that the PI overtime is reached, then the flow shifts to S 944 . If it is determined not, then an encoder readout processing operation is carried out (S 940 ), and it is determined whether both of the terminals EA, EB are at 1 or not (S 942 ). If it is determined that both of the terminals EA, EB are not at 1, then the flow returns to S 918 . If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 944 .  
     [0365] At S 950 , an encoder readout processing operation is carried out. Subsequently, the flow shifts to S 952 , where it is determined whether both of the terminals EA, EB are at 1 or not. If it is determined not, then the flow shifts to S 954  in FIG. 36. If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 944 .  
     [0366] At S 944 , the encoder position is set to E 1 . Subsequently, the lens barrel position is set to Z 1  (S 946 ), and the recovery inhibition is set (S 948 ). Then, the flow shifts to S 954  in FIG. 36, whereby a reverse and brake processing operation is carried out. The reverse and brake processing operation is an operation for energizing the motor  227  in its reverse rotation direction and thereby abruptly stopping the rotation (see FIG. 37).  
     [0367] Subsequently, the flow shifts to S 956 , where it is determined whether the encoder position is at E 1  or not. If it is determined not, then the lens barrel error is set (S 966 ), the recovery inhibition is set (S 968 ), and the flow shifts to S 970 . If it is determined that the encoder position is at E 1 , then it is determined whether the lens barrel overtime is reached or not. If it is determined that the lens barrel overtime is reached, then the flow shifts to S 966 . If it is determined that the lens barrel overtime is not reached, by contrast, then it is determined whether the encoder detection overtime is reached or not (S 960 ).  
     [0368] If it is determined that the encoder detection overtime is reached, then the flow shifts to S 966 . If it is determined not, by contrast, then the flow shifts to S 962 , where the lens barrel error is reset, and the flow shifts to S 970 .  
     [0369] At S 964 , the lens barrel position is set to Z 1 , and then the flow shifts to S 970 . At S 970 , the driver ON/OFF terminal CE is set L so that the driver section  219  is placed into the inactive state, whereby the close processing operation is terminated.  
     [0370] A zoom TELE processing operation will now be explained.  
     [0371]FIGS. 38 and 39 show flowcharts of the zoom TELE processing operation. The zoom TELE processing operation is an operation for expanding the lens barrel  1  as the TELE switch  19  is manipulated.  
     [0372] As shown at S 1000  in FIG. 38, a battery check processing operation is carried out. Subsequently, it is determined whether the battery check is a failure or not (S 1002 ). If the battery check is a failure, then the flow shifts to S 1059  in FIG. 39. If not, then the flow shifts to S 1004 , where it is determined whether the lens barrel error is set or not.  
     [0373] If the lens barrel error is set, then a lens barrel error processing operation is carried out (S 1010 ), and the flow shifts to S 1059  in FIG. 39. If the lens barrel error is not set, then an encoder check processing operation is carried out (S 1006 ), and it is determined whether the terminals EA, EB are at a middle code or not (S 1008 ). If it is determined that the terminals EA, EB are at the middle code, then the flow shifts to S 1010 . If it is determined that the terminals EA, EB are not at the middle code, by contrast, then it is determined whether the encoder position is at the TELE end or not (S 1012 ).  
     [0374] If it is determined at S 1012  that the encoder position is at the TELE end, then the flow shifts to S 1053  in FIG. 39. If it is determined not, by contrast, then the encoder stop position is set to E 7  (S 1014 ), a power on/off temperature measurement processing operation is carried out (S 1016 ), the current lens barrel position is set as the previous lens barrel position (S 1018 ), and a zoom TELE drive preparation processing operation is carried out (S 1020 ). The zoom TELE drive preparation processing operation is an operation for setting data such as brake point pulse data (E_P_BRAKE) and normal rotation width restriction time (E_T_PI) used for stop driving and the like.  
     [0375] Subsequently, the flow shifts to S 1022 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively. Then, a TELE drive processing operation is carried out (S 1024 ). The TELE drive processing operation will be explained later in detail.  
     [0376] Subsequently, a stop drive processing operation is carried out (S 1026 ), and a reverse and brake processing operation is carried out (S 1028 ). The stop drive processing operation is an operation for feeding a reverse rotation signal to the motor  227  so as to decelerate its rotation and then feeding a forward rotation signal thereto so as to carry out constant low-speed driving. FIG. 40 shows a timing chart for stop driving at the time of TELE driving. The reverse and brake processing operation is an operation for rotating the motor  227  in reverse so as to stop its rotation (see FIG. 40).  
     [0377] Subsequently, the flow shifts to S 1030 , where it is determined whether both of the terminals EA, EB are at 1 or not. If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 1040 . If it is determined not, by contrast, then it is determined whether the encoder detection overtime is reached or not (S 1032 ). If it is determined that the encoder detection overtime is reached, then the lens barrel error is set (S 1034 ), and the flow shifts to S 1040 , where the recovery inhibition is set.  
     [0378] If it is determined that the encoder detection overtime is not reached, by contrast, then it is determined whether the PI overtime is reached or not (S 1036 ). If it is determined that the PI overtime is not reached, then the flow shifts to S 1040 . If it is determined that the PI overtime is not reached, by contrast, then the recovery inhibition is reset (S 1038 ).  
     [0379] Thereafter, the flow shifts to S 1042 , where it is determined whether the lens barrel error is set or not. If it is determined that the lens barrel error is set, then the flow shifts to S 1050 . If not, then it is determined whether the previous lens barrel position is at most Z 2  or not (S 1044 ).  
     [0380] If it is determined that the previous lens barrel position exceeds Z 2 , then the flow shifts to S 1050 . If it is determined that the previous lens barrel position is at most Z 2 , by contrast, then it is determined whether the lens barrel position is at least Z 3  or not (S 1046 ). If it is determined that the lens barrel position is not at least Z 3 , then the flow shifts to S 1050 . If it is determined that the lens barrel position is at least Z 3 , by contrast, then a focus TELE wait movement processing operation is carried out (S 1048 ).  
     [0381] The focus TELE wait movement processing operation is an operation for moving the second lens group  102  (focus) to the TELE wait position when the lens barrel position is moved from Z 1  or Z 2  to Z 3  or further as the TELE switch  19  is manipulated. The focus TELE wait movement processing operation will be explained later in detail.  
     [0382] Subsequently, the flow shifts to S 1050 , where it is determined whether the lens barrel error is set or not. If it is determined that the lens barrel error is set, then the flow shifts to S 1059  in FIG. 39. If it is determined not, then it is determined whether the lens barrel position is at the TELE end or not (S 1052 ). If it is determined that the lens barrel position is not at the TELE end, then the flow shifts to S 1059  in FIG. 39. If it is determined that the lens barrel position is at the TELE end, then the flow shifts to S 1053  in FIG. 39, whereby a strobe charge processing operation is carried out.  
     [0383] Subsequently, the flow shifts to S 1054 , where it is determined whether the shutter button  11  is half-pushed (SP 1  is turned on) or not. If it is determined that the shutter button  11  is half-pushed, then the flow shifts to S 1064 . If it is determined not, by contrast, then a clock processing operation is carried out (S 1056 ), and it is determined whether the TELE switch  19  is turned off or not (S 1058 ). If it is determined that the TELE switch  19  is not turned off, then the flow returns to S 1054 . If it is determined that the TELE switch  19  is turned off, by contrast, then the flow shifts to S 1064 .  
     [0384] At S 1059 , it is determined whether the open code is set as the main switch condition or not. If it is determined that the open code is set, then the flow shifts to S 1064 . If it is determined not, then a clock processing operation is carried out (S 1060 ), and it is determined whether the TELE switch  19  is turned off or not (S 1062 ). If it is determined that the TELE switch  19  is not turned off, then the flow returns to S 1060 . If it is determined that the TELE switch  19  is turned of f, then the flow shifts to S 1064 , where the driver ON/OFF terminal CE is set L so that the driver section  219  is placed into the inactive state, whereby the zoom TELE processing operation is terminated.  
     [0385] A zoom WIDE processing operation will now be explained.  
     [0386]FIGS. 41 and 42 show flowcharts of the zoom WIDE processing operation. The zoom WIDE processing operation is an operation for collapsing the lens barrel  1  as the WIDE switch  20  is manipulated.  
     [0387] As shown at S 1100  in FIG. 41, a battery check processing operation is carried out. Subsequently, it is determined whether the battery check is a failure or not (S 1102 ). If the battery check is a failure, then the flow shifts to S 1180  in FIG. 42. If the battery check is not a failure, then the flow shifts to S 1104 , where it is determined whether the lens barrel error is set or not.  
     [0388] If the lens barrel error is set, then a lens barrel error processing operation is carried out (S 1110 ), and the flow shifts to S 1180  in FIG. 42. If not, then an encoder check processing operation is carried out (S 1106 ), whereby it is determined whether the terminals EA, EB are at a middle code or not (S 1108 ). If it is determined that the terminals EA, EB are at the middle code, then the flow shifts to S 1110 . If it is determined that the terminals EA, EB are not at the middle code, by contrast, then it is determined whether the encoder position is at E 1  or not (S 1112 ).  
     [0389] If it is determined at S 1112  that the encoder position is at E 1 , then the flow shifts to S 1188  in FIG. 42. If it is determined not, by contrast, then the encoder stop position is set to E 1  (S 1114 ), a power ON/OFF temperature measurement processing operation is carried out (S 1116 ), the current lens barrel position is set as the previous lens barrel position data, a time of 10 sec is set for the lens barrel timer (S 1120 ), and a zoom WIDE drive preparation processing operation is carried out (S 1122 ).  
     [0390] The zoom WIDE drive preparation processing is an operation for setting data of the normal rotation width restriction time (E_T_PI) and the reverse rotation brake time data (E_T_REVERS), setting DC drive switch point pulse data (E_P_DC) to an event counter, and setting brake point pulse data (E_P_BRAKE) and the like to an event counter  2 .  
     [0391] Subsequently, the flow shifts to S 1126 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set to L, L, and H, respectively. Then, a WIDE drive processing operation is carried out (S 1128 ). The WIDE drive processing operation will be explained later in detail.  
     [0392] Subsequently, it is determined whether the lens barrel overtime is reached or not (S 1130 ). If it is determined that the lens barrel overtime is reached, then a reverse and brake processing operation is carried out (S 1152 ), the lens barrel error is set (S 1154 ), the recovery inhibition is set (S 1156 ), and the flow shifts to S 1164  in FIG. 42. The reverse and brake processing operation is an operation for rotating the motor  227  in reverse so as to stop its rotation (see FIG. 37).  
     [0393] If it is determined at S 1130  that the lens barrel overtime is not reached, then it is determined whether the encoder detection overtime is reached or not (S 1132 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1152 . If it is determined that the encoder detection overtime is not reached, by contrast, then it is determined whether both of the terminals EA, EB are at 1 or not (S 1134 ). If it is determined that both of the terminals EA, EB are not at 1, then the flow shifts to S 1150 , where a zoom bias processing operation is carried out.  
     [0394]FIG. 43 shows a flowchart of the zoom bias processing operation.  
     [0395] As depicted, the encoder detection overtime is reset (S 1200 ), and a time of 2 sec is set as the encoder detection overtime (S 1202 ). Subsequently, it is determined whether the encoder detection overtime is reached or not (S 1204 ). If it is determined that the encoder detection overtime is reached, then the encoder detection overtime is set (S 1222 ), the lens barrel error is set (S 1224 ), the recovery inhibition is set (S 1226 ), and the flow shifts to S 1228 .  
     [0396] If it is determined at S 1204  that the encoder detection overtime is not reached, by contrast, then an encoder readout processing operation is carried out (S 1206 ), and it is determined whether the terminal EA is at 0 or not (S 1207 ). If it is determined not, then the flow returns to S 1204 . If it is determined that the terminal EA is at 0, then the outputs of parallel terminals DC 0 , CD 1 , and DC 2  are set L, L, and H, respectively, so as to attain a wait state (S 1208 ), and a zoom TELE drive preparation processing operation is carried out (S 1210 ).  
     [0397] Subsequently, the outputs of parallel terminals DC 0 , CD 1 , and DC 2  are set L, H, and H (S 1212 ), respectively, a time of 2 sec is set as the encoder detection overtime (S 1214 ), and it is determined whether the encoder detection overtime is reached or not (S 1216 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1222 . If it is determined not, then an encoder readout processing operation is carried out (S 1218 ), and it is determined whether the terminal EA is at 1 or not (S 1220 ). If it is determined that the terminal EA is not at 1, then the flow returns to S 1216 . If it is determined that the terminal EA is at 1, then the flow shifts to S 1228 , where a stop control processing operation is carried out, and a reverse and brake processing operation is carried out (S 1230 ).  
     [0398] Subsequently, the flow shifts to S 1232 , where it is determined whether the PI overtime is reached or not. If it is determined that the PI overtime is reached, then the recovery inhibition is set (S 1234 ), and the zoom bias processing operation is terminated. If it is determined not, by contrast, then the zoom bias processing operation is directly terminated.  
     [0399] If it is determined at S 1134  in FIG. 41 that both of the terminals EA, EB are at 1, then Z 1  position pulse data (E_P_Z 1 ) is set (S 1136 ) to the event counter, and Z 1  stopping brake point data  1  (E_P_Z 1 _BRAKE- 1 ) is set to the event counter  2  (S 1138 ).  
     [0400] Subsequently, the flow shifts to S 1140 , where a stop drive processing operation is carried out, and it is determined whether the lens barrel overtime is reached or not (S 1142 ). If it is determined that the lens barrel overtime is reached, then the flow shifts to S 1152 . If it is determined that the lens barrel overtime is not reached, then an encoder readout processing operation is carried out (S 1144 ), and it is determined whether both of the terminals EA, EB are at 1 or not (S 1146 ). If it is determined that both of the terminals EA, EB are not at 1, then the flow returns to S 1122 . If it is determined that both of the terminals EA, EB are at 1, by contrast, then a reverse and brake processing operation is carried out (S 1148 ).  
     [0401] Subsequently, the flow shifts to S 1156 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1162 . Subsequently, the flow shifts to S 1158 , where it is determined whether the PI overtime is reached or not. If it is determined that the PI overtime is reached, then the flow shifts to S 1162 . If it is determined that the PI overtime is not reached, then the recovery inhibition is set (S 1160 ).  
     [0402] Subsequently, the flow shifts to S 1164  in FIG. 42, where it is determined whether the lens barrel error is set or not. If it is determined that the lens barrel error is set, then the flow shifts to S 1178 . If it is determined that the lens barrel error is not set, then it is determined whether the previous lens barrel position is at least Z 3  or not (S 1166 ).  
     [0403] If it is determined that the previous lens barrel position is less than Z 3 , then the flow shifts to S 1178 . If it is determined that the lens barrel position is at least Z 3 , by contrast, then it is determined whether the lens barrel position is at most Z 2  or not (S 1168 ). If it is determined that the lens barrel position is not at most Z 2 , then the flow shifts to S 1178 . If it is determined that the lens barrel position is at most Z 2 , by contrast, then a focus WIDE wait movement processing operation is carried out (S 1170 ).  
     [0404] The focus WIDE wait movement processing operation is an operation for moving the position of the second lens group  102  (focus) to the WIDE wait position when the lens barrel position is moved from a position of Z 3  or further to Z 1  or Z 2  upon manipulating the WIDE switch  20 . The focus WIDE wait movement processing operation will be explained later in detail.  
     [0405] Subsequently, the flow shifts to S 1172 , where it is determined whether the lens barrel position is at Z 1  or not. If it is determined that the lens barrel position is not at Z 1 , then the flow shifts to S 1178 . If it is determined that the lens barrel position is at Z 1 , then it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 1176 , where a focus error recovery processing operation is carried out. The focus error recovery processing operation is an operation for recovering from a state where gears are not favorably in mesh when the second lens group  102  is moved to the WIDE wait position, and the like. This operation will be explained later in detail.  
     [0406] If it is determined that the LPIIN overtime is not set, then the flow shifts to S 1178 . At S 1178 , it is determined whether the lens barrel error is set or not. If it is determined that the lens barrel error is set, then the flow shifts to S 1180 . At S 1180 , it is determined whether the close code is set as the main switch condition or not. If it is determined that the close code is set, then the flow shifts to S 1196 . If it is determined that the close code is not set, by contrast, then a clock processing operation is carried out (S 1182 ), and it is determined whether the WIDE switch  20  is turned off or not (S 1184 ). If it is determined that the WIDE switch  20  is not turned off, then the flow shifts to S 1182 . If it is determined that the WIDE switch  20  is turned off, by contrast, then the flow shifts to S 1196 .  
     [0407] If it is determined at S 1178  that the lens barrel error is not set, then it is determined whether the lens barrel position is at the WIDE end or not (S 1186 ). If it is determined that the lens barrel position is not at the WIDE end, then the flow shifts to S 1180 . If it is determined that the lens barrel position is at the WIDE end, by contrast, then the flow shifts to S 1188 , where a strobe charge processing operation is carried out.  
     [0408] Subsequently, the flow shifts to S 1190 , where it is determined whether the shutter button  11  is half-pushed (SP 1  is turned on) or not. If it is determined that the shutter button  11  is half-pushed, then the flow shifts to S 1196 . If it is determined not, by contrast, then a clock processing operation is carried out (S 1192 ), and it is determined whether the WIDE switch  20  is turned off or not (S 1194 ). If it is determined that the WIDE switch  20  is not turned off, then the flow returns to S 1190 . If it is determined that the WIDE switch  20  is turned off, then the flow shifts to S 1196 .  
     [0409] At S 1196 , the driver ON/OFF terminal CE is set L so that the driver section  219  is placed into the inactive state, whereby the zoom WIDE processing operation is terminated.  
     [0410] The TELE drive processing operation will now be explained.  
     [0411]FIGS. 44 and 45 show flowcharts of the TELE drive processing operation. The TELE drive processing operation is an operation for expanding the lens barrel  1 .  
     [0412] As shown at S 1300  in FIG. 44, it is determined whether the encoder stop position −1 is at most the current encoder position (Em) or not. If it is determined that the encoder stop position −1 is at most the current encoder position (Em), then the flow shifts to S 1338  in FIG. 45. If it is determined not, by contrast, then a time of 2 sec is set as the encoder detection overtime (S 1302 ).  
     [0413] Subsequently, it is determined whether the encoder detection overtime is reached or not (S 1304 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1382  in FIG. 45. If it is determined not, by contrast, then the flow shifts to S 1306 , where it is determined whether the TELE switch  19  is ON or not. If it is determined that the TELE switch  19  is not ON, then the flow shifts to S 1338  in FIG. 45. If it is determined that the TELE switch  19  is ON, then the flow shifts to S 1308 , where an encoder readout processing operation is carried out.  
     [0414] Subsequently, it is determined whether the terminals EA, EB are at a middle code or not (S 1310 ). If it is determined not, then the flow returns to S 1304 . If it is determined that the terminals EA, EB are at the middle code, by contrast, then a 10-ms timer is started (S 1312 ), an encoder readout processing operation is carried out (S 1314 ), and it is determined whether the terminal EB is at 1 or not (S 1316 ).  
     [0415] If it is determined that the terminal EB is not at 1, then the flow returns to S 1304 . If it is determined that the terminal EB is at 1, by contrast, then it is determined whether the 10-ms overtime is reached or not (S 1318 ). If it is determined that the overtime is not reached, then the flow returns to S 1314 . If it is determined that the overtime is reached, by contrast, then it is determined whether the terminals EA, EB are at a middle code or not (S 1320 ). If it is determined that the terminals EA, EB are not at the middle code, then the flow returns to S 1304 . If it is determined that the terminals EA, EB are at the middle code, then the TELE direction driving is set (S 1322 ), and a time of 2 sec is set as the encoder detection overtime (S 1324 ).  
     [0416] Subsequently, the flow shifts to S 1326 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1382  in FIG. 45. If it is determined not, then it is determined whether the TELE switch  19  is ON or not (S 1328 ). If it is determined that the TELE switch  19  is not ON, then the flow shifts to S 1356  in FIG. 45.  
     [0417] If it is determined that the TELE switch  19  is ON, then an encoder readout processing operation is carried out (S 1330 ), and it is determined whether the terminal EB is at 1 or not (S 1332 ). If it is determined that the terminal EB is at 1, then the flow returns to S 1326 . If it is determined that the terminal EB is not at 1, by contrast, then 1 is added to the encoder position (Em) (S 1334 ), and the encoder position (Em) is set as the lens barrel position (Zn). Subsequently, the flow returns to S 1300 .  
     [0418] At S 1338  in FIG. 45, a time of 2 sec is set as the encoder detection overtime. Subsequently, it is determined whether the encoder detection overtime is reached or not (S 1340 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1382 . If it is determined not, then the flow shifts to S 1342 , where an encoder readout processing operation is carried out.  
     [0419] Subsequently, it is determined whether the terminals EA, EB are at a middle code or not (S 1344 ). If it is determined not, then the flow returns to S 1340 . If it is determined that the terminals are at the middle code, then a 10-ms timer is started (S 1346 ), an encoder readout processing operation is carried out (S 1348 ), and it is determined whether the terminal EB is at 1 or not (S 1350 ).  
     [0420] If it is determined that the terminal EB is not at 1, then the flow returns to S 1340 . If it is determined that that the terminal EB is at 1, then it is determined whether the 10-ms overtime is reached or not (S 1352 ). If it is determined not, then the flow returns to S 1348 . If it is determined that the overtime is reached, by contrast, then it is determined whether the terminals EA, EB are at a middle code or not (S 1354 ). If it is determined that the terminals EA, EB are not at the middle code, then the flow returns to S 1340 . If it is determined that the terminals EA, EB are at the middle code, by contrast, then the TELE direction driving is set (S 1356 ), and a time of 2 sec is set as the encoder detection overtime (S 1358 ).  
     [0421] Subsequently, the flow shifts to S 1360 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1382 . If it is determined not, by contrast, then an encoder readout processing operation is carried out (S 1362 ), and it is determined whether the terminal EB is at 1 or not (S 1364 ). If it is determined that the terminal EB is at 1, then the flow returns to S 1360 . If it is determined that the terminal EB is not at 1, then 1 is added to the encoder position (S 1366 ).  
     [0422] Subsequently, the flow shifts to S 1368 , where it is determined whether the encoder position is at least E 7  (TELE end) or not. If it is determined not, then E 7  is set as the encoder position (S 1370 ). If it is determined that the encoder position is at least E 7 , then the flow shifts to S 1372 , where the encoder position (Em) is set as the lens barrel position (Zn), and a time of 2 sec is set as the encoder detection over time (S 1374 ).  
     [0423] Subsequently, the flow shifts to S 1376 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1382 . At S 1382 , the encoder detection overtime is set. Then, the TELE drive processing operation is terminated.  
     [0424] If it is determined at S 1376  that the encoder detection overtime is not reached, then an encoder readout processing operation is carried out (S 1378 ), and it is determined whether the terminal EA is at 1 or not (S 1380 ). If it is determined that the terminal EA is not at 1, then the flow returns to S 1376 . If it is determined that the terminal EA is at 1, by contrast, then the TELE drive processing operation is terminated.  
     [0425] The WIDE drive processing operation will now be explained.  
     [0426]FIGS. 46 and 47 show flowcharts of the WIDE drive processing operation. The WIDE drive processing operation is an operation for collapsing the lens barrel  1 .  
     [0427] As shown at S 1400  in FIG. 46, it is determined whether the encoder stop position + 1  is at least the current encoder position (Em) or not. If it is determined that the encoder stop position +1 is at least the current encoder position (Em), then the flow shifts to S 1506  in FIG. 47. If it is determined not, by contrast, then a time of 2 sec is set as the encoder detection overtime (S 1402 ).  
     [0428] Subsequently, it is determined whether the encoder detection overtime is reached or not (S 1404 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1506  in FIG. 47. If it is determined not, then the flow shifts to S 1406 , where it is determined whether the WIDE switch  20  is ON or not. If it is determined that the WIDE switch  20  is not ON, then the flow shifts to S 1452  in FIG. 47. If it is determined that the WIDE switch  20  is ON, then the flow shifts to S 1408 , where an encoder readout processing operation is carried out.  
     [0429] Subsequently, it is determined whether the terminals EA, EB are at a middle code or not (S 1410 ). If it is determined not, then the flow shifts to S 1404 . If it is determined that the terminals EA, EB are at the middle code, by contrast, then a 10-ms timer is started (S 1412 ), an encoder readout processing operation is carried out (S 1414 ), and it is determined whether the terminal EB is 1 or not (S 1416 ).  
     [0430] If it is determined that the terminal EB is not at 1, then the flow returns to S 1404 . If it is determined that the terminal EB is at 1, by contrast, then it is determined whether the 10-ms overtime is reached or not (S 1418 ). If it is determined that the overtime is not reached, then the flow returns to S 1414 . If it is determined that the overtime is reached, by contrast, then it is determined whether the terminals EA, EB are at a middle code or not (S 1420 ). If it is determined that the terminals EA, EB are not at the middle code, then the flow returns to S 1404 . If it is determined that the terminals EA, EB are at the middle code, then the WIDE direction driving is set (S 1422 ), and a time of 2 sec is set as the encoder detection overtime (S 1424 ).  
     [0431] Subsequently, the flow shifts to S 1426 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1506  in FIG. 47. If it is determined not, then it is determined whether the WIDE switch  20  is ON or not (S 1428 ). If it is determined that the WIDE switch  20  is not ON, then the flow shifts to S 1470  in FIG. 47.  
     [0432] If it is determined that the WIDE switch  20  is ON, by contrast, then an encoder readout processing operation is carried out (S 1430 ), and it is determined whether the encoder position is at least E 3  or not (S 1432 ). If it is determined that the encoder position is at least E 3 , then the flow shifts to S 1440 . If it is determined that the encoder position is not at least E 3 , by contrast, then it is determined whether both of the terminals EA, EB are at 1 or not (S 1434 ). If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 1436 , where an encoder readout processing operation is carried out, and it is determined again whether both of the terminals EA, EB are at 1 or not (S 1438 ).  
     [0433] If it is determined at S 1438  that both of the terminals EA, EB are not at 1, then the flow shifts to S 1440 . If it is determined at S 1438  that both of the terminals EA, EB are at 1, then the flow shifts to S 1510  in FIG. 47.  
     [0434] If it is determined at S 1434  that both of the terminals EA, EB are not at 1, then it is determined whether the terminal EB is at 1 or not (S 1440 ). If it is determined that the terminal EB is at 1, then the flow returns to S 1426 . If it is determined that the terminal EB is not at 1, by contrast, then 1 is subtracted from the encoder position (Em) (S 1442 ), and the encoder position (Em) is set as the lens barrel position (Zn) (S 1450 ). Subsequently, the flow returns to S 1400 .  
     [0435] At S 1452  in FIG. 47, a time of 2 sec is set as the encoder detection overtime. Subsequently, it is determined whether the encoder detection overtime is reached or not (S 1454 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1506 . If it is determined not, by contrast, then the flow shifts to S 1456 , where an encoder readout processing operation is carried out.  
     [0436] Subsequently, it is determined whether the terminals EA, EB are at a middle code or not (S 1458 ). If it is determined not, then the flow returns to S 1454 . If it is determined that the terminals EA, EB are at the middle code, then a 10-ms timer is started (S 1460 ), an encoder readout processing operation is carried out (S 1462 ), and it is determined whether the terminal EB is at 1 or not (S 1464 ).  
     [0437] If it is determined at S 1464  that the terminal EB is not at 1, then the flow returns to S 1454 . If it is determined that the terminal EB is at 1, then it is determined whether the 10-ms overtime is reached or not (S 1466 ). If it is determined that the overtime is not reached, by contrast, then the flow returns to S 1462 . If it is determined that the overtime is reached, then it is determined whether the terminals EA, EB are at a middle code or not (S 1468 ). If it is determined that the terminals EA, EB are not at the middle code, then the flow returns to S 1454 . If it is determined that the terminals EA, EB are at the middle code, by contrast, then the WIDE direction driving is set (S 1470 ), and a time of 2 sec is set as the encoder detection overtime (S 1472 ).  
     [0438] Subsequently, the flow shifts to S 1474 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1506 . If it is determined not, by contrast, then an encoder readout processing operation is carried out (S 1476 ), and it is determined whether the encoder position is at least E 3  or not (S 1478 ). If it is determined that the encoder position is at least E 3 , then the flow shifts to S 1486 . If it is determined that the encoder position is not at least E 3 , then it is determined whether both of the terminals EA, EB are at 1 or not (S 1480 ). If it is determined that both of the terminals EA, EB are at 1, then the flow shifts to S 1482 , where an encoder readout processing operation is carried out, and it is determined again whether both of the terminals EA, EB are at 1 or not (S 1484 ).  
     [0439] If it is determined at S 1484  that both of the terminals EA, EB are not at 1, then the flow shifts to S 1486 . If it is determined at S 1484  that both of the terminals EA, EB are at 1, by contrast, then the flow shifts to S 1508 .  
     [0440] E 1  is set as the encoder position at S 1508 , and Z 1  is set as the lens barrel position (S 1510 ). Subsequently, the WIDE drive processing operation is terminated.  
     [0441] At S 1486 , it is determined whether the terminal EB is at 1 or not. If it is determined that the terminal EB is at 1, then the flow returns to S 1474 . If it is determined that the terminal EB is not at 1, then 1 is subtracted from the encoder position (S 1488 ).  
     [0442] Subsequently, the flow shifts to S 1490 , where it is determined whether the encoder position is smaller than E 0  or not. If it is determined that the encoder position is smaller than E 0 , then E 1  is set as the encoder position (S 1492 ), and the lens barrel error is set (S 1494 ).  
     [0443] If it is determined at S 1490  that the encoder position is not smaller than E 0 , by contrast, then the flow shifts to S 1496 , where the encoder position (Em) is set as the lens barrel position (Zn), and a time of 2 sec is set as the encoder detection overtime (S 1498 ).  
     [0444] Subsequently, the flow shifts to S 1500 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1506 . At S 1506 , the encoder detection overtime is set. Then, the WIDE drive processing operation is terminated.  
     [0445] If it is determined at S 1500  that the encoder detection overtime is not reached, then an encoder readout processing operation is carried out (S 1502 ), and it is determined whether the terminal EA is at 1 or not (S 1504 ). If it is determined that the terminal EA is not at 1, then the flow returns to S 1500 . If it is determined that the terminal EA is at 1, by contrast, then the WIDE drive processing operation is terminated.  
     [0446] The lens barrel recovery processing operation will now be explained.  
     [0447]FIG. 48 is a flowchart of the lens barrel recovery processing operation, whereas FIG. 49 shows an outline of the lens barrel recovery processing operation. The lens barrel recovery processing operation is an operation by which, when the lens barrel is drawn out or pushed in because of external reasons while the camera  2  is in the standby state, the lens barrel is driven to return.  
     [0448] As shown at S 1600  in FIG. 48, it is determined whether the lens barrel recovery is set or not. If it is determined that the lens barrel recovery is not set, then it is considered that the lens barrel is neither drawn out nor pushed in because of external reasons, whereby the flow shifts to S 1648 . If it is determined that the lens barrel recovery is set, then it is considered that the lens barrel is drawn out or pushed in because of external reasons, whereby the flow shifts to S 1602 , where a drive preparation processing operation is carried out, so that the lens barrel driving motor  227  is selected as the motor to drive.  
     [0449] Subsequently, the flow shifts to S 1604 , where the outputs of parallel terminals DC 0  to DC 2  are set L so that the motor  227  is placed into the wait state, and terminals EA, EB are set as the input port (S 1606 ). Then, after a wait of 2 ms (S 1608 ), Z 1  stopping brake point data (E_P_Z 1 _BRAKE) is set (S 1610 ), normal rotation width restriction time data (E_T_PI) is set (S 1612 ), and reverse rotation brake time data (E_T_REVERS) is set (S 1614 ).  
     [0450] Subsequently, the encoder detection overtime is reset (S 1616 ), the PI overtime is reset (S 1618 ), the DC driving flag is set (S 1620 ), and WIDE driving WIDE direction recovery pulse data (E_P_RCVRY_W) is set as the event counter (S 1622 ).  
     [0451] Subsequently, the flow shifts to S 1624 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to attain the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out WIDE driving (S 1626 ), and it is determined whether the encoder detection overtime is reached or not (S 1628 ). If it is determined that the encoder detection overtime is reached, then a reverse and brake processing operation is carried out (S 1630 ), the lens barrel error is set (S 1632 ), and the recovery inhibition is set (S 1634 ).  
     [0452] If it is determined at S 1628  that the encoder detection overtime is not reached, by contrast, then an encoder readout processing operation is carried out (S 1636 ), and it is determined whether the terminal EB is at 1 or not (S 1638 ). If it is determined that the terminal EB is not at 1, then the flow returns to S 1628 . If it is determined that the terminal EB is at 1, by contrast, then a lens barrel recovery drive processing operation is carried out (S 1640 ). The lens barrel recovery drive processing operation will be explained later in detail.  
     [0453] Subsequently, the flow shifts to S 1642 , where it is determined whether the lens barrel error is set or not. If it is determined that the lens barrel error is set, then the flow shifts to S 1632 . If it is determined that the lens barrel error is not set, then the lens barrel recovery is reset (S 1644 ), the driver ON/OFF terminal CE is set L so that the driver section  219  is placed into the inactive state (S 1646 ), and the flow shifts to S 1648 .  
     [0454] At S 1648 , it is determined whether the middle code error is set or not. If it is determined not, then the lens barrel recovery processing operation is terminated. If it is determined that the middle code error is set, by contrast, then an SM close processing operation is carried out (S 1650 ; see FIG. 28), the middle code error is reset (S 1652 ), and a lens barrel error input processing operation is carried out (S 1654 ). Subsequently, the lens barrel recovery processing operation is terminated.  
     [0455] As in the foregoing, when the lens barrel is drawn out or pushed in because of external reasons while the camera  2  is in the standby state, the lens barrel recovery processing operation can return the lens barrel position to the original position or collapse the lens barrel so as to close the barrier  83 . Consequently, the camera  2  can be kept from being placed into a failure state when the lens barrel position is considered to be in error in the case where the lens barrel is drawn out or pushed because of external reasons. Therefore, the camera  2  can be prevented from easily failing.  
     [0456] The lens barrel recovery drive processing operation will now be explained.  
     [0457]FIGS. 50 and 51 show flowcharts of the lens barrel recovery drive processing operation. The lens barrel recovery drive processing operation is an operation carried out during the lens barrel recovery processing operation (see S 1640  in FIG. 48).  
     [0458] As shown at S 1700  in FIG. 50, a motor PI count processing operation is carried out. The motor PI count processing operation will be explained later in detail (see FIG. 52). Subsequently, the flow shifts to S 1702 , where it is determined whether the PI overtime is reached or not. If it is determined that the PI overtime is reached, then the flow shifts to S 1774  in FIG. 51. If it is determined that the PI overtime is not reached, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and CD 2  are set L, L, and H, respectively, so as to attain the wait state (S 1704 ), brake point data (E_P_BRAKE) is set (S 1706 ), normal rotation width restriction time data (E_T_PI) is set (S 1708 ), and reverse brake time data (E_T_REVERS) is set (S 1710 ).  
     [0459] Subsequently, the encoder detection overtime is reset (S 1712 ), the PI overtime is reset (S 1714 ), the DC driving flag is set (S 1716 ), and WIDE driving TELE direction recovery pulse data (E_P_RCVRY_T) is set as the event counter (S 1718 ).  
     [0460] Subsequently, the flow shifts to S 1720 , where the outputs of the parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to attain the wait state. Then, the outputs of the parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out a TELE driving operation (S 1722 ), and the motor PI count processing operation is carried out (S 1724 ).  
     [0461] Subsequently, it is determined whether the PI overtime is reached or not (S 1726 ). If it is determined that the PI overtime is reached, then the flow shifts to S 1774  in FIG. 51. If it is determined not, then brake point data (E_P_BRAKE) is set (S 1728 ), normal rotation width restriction time data (E_T_PI) is set (S 1730 ), and reverse brake time data (E_T_REVERS) is set (S 1732 ).  
     [0462] Subsequently, the encoder detection overtime is reset (S 1734 ), the PI overtime is reset (S 1736 ), the DC driving flag is set (S 1738 ), DC drive switching point pulse data (E_P_DC) is set as the event counter (S 1740 ), and brake point pulse data −1 (E_P_BRAKE- 1 ) is set as the event counter  2  (S 1742 ).  
     [0463] Subsequently, the flow shifts to S 1744 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the lens barrel error is set (S 1760 ), the encoder detection overtime is set (S 1762 ), and the recovery inhibition is set (S 1764 ). Thereafter, the flow shifts to S 1766 .  
     [0464] If it is determined at S 1744  that the encoder detection overtime is not reached, then an encoder readout processing operation is carried out (S 1746 ), and it is determined whether the terminal EB is at 0 or not (S 1748 ). If it is determined that the terminal EB is not at 0, then the flow returns to S 1744 . If it is determined that the terminal EB is at 0, by contrast, then a time of 2 sec is set as the encoder detection overtime (S 1750 ).  
     [0465] Subsequently, the flow shifts to S 1752 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 1760 . If it is determined not, by contrast, then an encoder readout processing operation is carried out (S 1754 ), and it is determined whether the terminal EA is at 1 or not (S 1756 ). If it is determined that the terminal EA is not at 1, then the flow returns to S 1752 . If it is determined that the terminal EA is at 1, then the TELE direction driving is set (S 1758 ).  
     [0466] Subsequently, the flow shifts to S 1766 , where a stop control processing operation is carried out, and a reverse and brake processing operation is carried out (S 1768 ). Then, the flow shifts to S 1770 , where it is determined whether the PI overtime is reached or not. If it is determined not, then the flow shifts to S 1778 . If it is determined that the PI overtime is reached, by contrast, then the recovery inhibition is set (S 1772 ), and the flow shifts to S 1778 . The recovery inhibition is set at S 1774 , and the lens barrel error is set (S 1776 ).  
     [0467] Subsequently, the flow shifts to S 1778 , where the terminals EA, EB are set as the output port, and the lens barrel recovery drive processing operation is terminated.  
     [0468] The motor PI count processing operation will now be explained.  
     [0469]FIG. 52 shows a flowchart of the motor PI count processing operation. The motor PI count processing operation is an operation, carried out during the lens barrel recovery drive processing operation (see FIGS. 50 and 51), for counting the amount of rotation of lens barrel driving motor  227  according to the output from the drive detector  228 .  
     [0470] As shown at S 1800  in FIG. 52, a time of 1 sec is set as the PI overtime. Subsequently, it is determined whether the input of the terminal ZPIIN receiving the output of drive detector  228  is at H (HIGH) or not (S 1802 ). If it is determined not, then the flow shifts to S 1816 . If it is determined that the terminal ZPIIN is at H, by contrast, then a time of  1  sec is set as the PI overtime (S 1804 ), and it is determined whether the event count is terminated or not (S 1806 ).  
     [0471] If it is determined at S 1806  that the event count is terminated, then the motor PI count processing operation is terminated. If it is determined not, by contrast, then it is determined whether the PI overtime is reached or not (S 1808 ).  
     [0472] If it is determined at S 1808  that the PI overtime is reached, then the flow shifts to S 1818 . If it is determined not, then it is determined whether the terminal ZPIIN is at L (LOW) or not (S 1810 ). If it is determined that the terminal ZPIIN is not at L, then the flow shifts to S 1806 . If it is determined that the terminal ZPIIN is at L, by contrast, then it is determined whether the event count is terminated or not (S 1812 ).  
     [0473] If it is determined at S 1812  that the event count is terminated, then the motor PI count processing operation is terminated. If it is determined not, by contrast, then it is determined whether the PI overtime is reached or not (S 1814 ).  
     [0474] If it is determined at S 1814  that the PI overtime is reached, then the flow shifts to S 1818 . If it is determined not, then it is determined whether the terminal ZPIIN is at H or not (S 1816 ). If it is determined that the terminal ZPIIN is not at H, then the flow returns to S 1812 . If it is determined that the terminal ZPIIN is at H, then the flow returns to S 1804 .  
     [0475] At S 1818 , the PI overtime is set. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to attain the wait state (S 1820 ). Then, after a wait of 8 .s (S 1822 ), the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 1824 ). Subsequently, after a wait of  100  ms (S 1826 ), the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the camera  2  is placed into the wait state (S 1828 ). Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the camera  2  is held in the wait state (S 1830 ), and the motor PI count processing operation is terminated.  
     [0476] The lens drive and return processing operations will now be explained.  
     [0477]FIGS. 53 and 54 show flowcharts of the lens drive and return processing operations, respectively. The lens drive processing operation is an operation for expanding the lens barrel  1  as a whole or the second lens group  102  (focus) when the shutter button  11  is operated. The lens return processing operation is an operation by which the lens barrel  1  or second lens group  102  expanded by the lens drive processing operation is returned to the wait position.  
     [0478] As shown at S 1900  in FIG. 53, the lens drive NG is initially reset in the lens drive processing operation. Subsequently, an encoder check processing operation is carried out (S 1902 ), and it is determined whether the terminals EA, EB are at 0 or not (S 1904 ). If it is determined that the terminals EA, EB are at 0, then the lens barrel error is set (S 1914 ), the lens drive NG is set (S 1916 ), the recovery inhibition is set (S 1918 ), and the flow shifts to S 1920 .  
     [0479] If it is determined at S 1904  that both of the terminals EA, EB are not at 0, by contrast, then it is determined whether the terminals EA, EB are at a middle code or not (S 1906 ). If it is determined that the terminals EA, EB are at the middle code, then the flow shifts to S 1914 . If it is determined that the terminals EA, EB are not at the middle code, by contrast, then it is determined whether the lens barrel position is at Z 1  or not (S 1908 ). If it is determined that the lens barrel position is at Z 1 , a first lens drive (LD 1 ) processing operation is carried out (S 1910 ).  
     [0480] If it is determined that the lens barrel position is not at Z 1 , then a second lens drive (LD 2 ) processing operation is carried out (S 1912 ). The first lens drive processing operation is an operation for expanding the lens barrel  1  as a whole. The second lens drive processing operation is an operation for expanding the second lens group  102 . The first and second lens drive processing operations will be explained later in detail.  
     [0481] Subsequently, the flow shifts to S 1920 , where the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state, whereby the lens drive processing operation is terminated.  
     [0482] In the lens return processing operation, as shown at S 1950  in FIG. 54, it is initially determined whether the lens barrel error is set or not. If it is determined that the lens barrel error is set, then the flow shifts to S 1962 . If it is determined not, by contrast, then it is determined whether the lens barrel position is at Z 1  or not (S 1952 ). If it is determined that the lens barrel position is not at Z 1 , then a second lens return (LR 2 ) processing operation is carried out (S 1958 ).  
     [0483] The second lens return processing operation is an operation by which the second lens group  102  expanded by the second lens drive processing operation is moved to the wait position. The second lens return processing operation will be explained later in detail. If it is determined at S 1952  that the lens barrel position is at Z 1 , then it is determined whether the lens drive NG is attained or not (S 1954 ). If it is determined that the lens drive NG is attained, then it is determined whether the PI overtime is reached or not (S 1960 ).  
     [0484] If it is determined at S 1960  that the PI overtime is not reached, then the flow shifts to S 1962 . If it is determined that the PI overtime is reached, by contrast, then the flow shifts to S 1956 .  
     [0485] If it is determined at S 1954  that the lens drive NG is not attained, then a first lens return (LR 1 ) processing operation is carried out (S 1956 ). The first lens return processing operation is an operation by which the whole lens barrel  1  expanded by the first lens drive processing operation is moved to the wait position. The first lens return processing operation will be explained later in detail.  
     [0486] Subsequently, the flow shifts to S 1962 , where the driver ON/OFF terminal CE is set L, so that the driver section  219  is placed into the inactive state, and the lens return processing operation is terminated.  
     [0487] The first lens drive and return processing operations will now be explained.  
     [0488]FIG. 55 shows an outline of the first lens drive and return processing operations. Thick arrows in FIG. 55 indicate movements of the lens barrell. The first lens drive processing operation is an operation for expanding the lens barrel  1  as a whole upon the TELE driving of the lens barrel driving motor  227 . The first lens return processing operation is an operation by which the whole lens barrel  1  expanded by the first lens drive processing operation upon the WIDE driving of the lens barrel driving motor  227  is returned to the wait position.  
     [0489] FIGS.  56  to  59  show flowcharts of the first lens drive (LD 1 ) processing operation.  
     [0490] As shown at S 2000  in FIG. 56, an LD drive preparation processing operation is carried out, so that the motor  227  of the lens barrel driving section  222  is selected as the motor to drive. Subsequently, the flow shifts to S 2002 , where the terminals EA, EB are set as the input port. Then, after a wait of 2 ms (S 2004 ), Z 1  stopping brake point pulse data (E_P_Z 1 _BRAKE) is set (S 2006 ), normal rotation width restriction time data (E_T_PI) is set (S 2008 ), and reverse brake time data (E_T_REVERS) is set (S 2010 ).  
     [0491] Subsequently, the encoder detection overtime flag is reset (S 2012 ), the PI overtime is reset (S 2014 ), the DC driving flag is set (S 2016 ), and the pulse data (DRV_PLS (E_P_Zl_BRAKE- 1 ) obtained when Z 1  stopping brake point pulse data −1 is subtracted from the drive pulse data is set as the event count (S 2018 ). The drive pulse data (DRV PLS) is pulse data determined by an expansion calculating operation.  
     [0492] Subsequently, the flow shifts to S 2020 , where it is determined whether the result of calculation of event counter is a negative number or not. If it is determined that the result of calculation is a negative number, then 0 is set to the event counter, and the flow shifts to S 2024 . If it is determined not, by contrast, the flow directly shifts to S 2024 .  
     [0493] Z 1  stopping brake point pulse data −1 (E_P_Z _BRAKE- 1 ) is set as the event count  2  at S 2024 , and a time of 10 sec is set as the lens barrel timer (S 2026 ). Subsequently, it is determined whether the lens barrel timer is overtime or not (S 2028 ). If it is determined that the lens barrel timer is overtime, then the lens barrel error is set (S 2030 ), the encoder detection overtime is set (S 2032 ), and the recovery inhibition is set (S 2034 ). Thereafter, the flow shifts to S 2150  in FIG. 59.  
     [0494] If it is determined at S 2028  that the lens barrel timer has not reached overtime, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out TELE driving (S 2036 ), and a time of 1 sec is set as the encoder detection overtime (S 2038 ).  
     [0495] Subsequently, the flow shifts to S 2040 , where it is determined whether the encoder detection overtime is reached or not. If it is determined that the encoder detection overtime is reached, then the flow shifts to S 2032 . If it is determined not, then it is determined whether the terminal EA is at L or not (S 2042 ). If it is determined that the terminal EA is not at L, then the flow returns to S 2040 .  
     [0496] If it is determined that the terminal EA is at L, by contrast, then, after a wait of 100 .s (S 2044 ), it is determined whether the terminal EA is at L or not (S 2046 ). If it is subsequently determined that the terminal EA is not at L, then the flow returns to S 2040 . If it is determined that the terminal EA is at L, by contrast, then the flow shifts to S 2048  in FIG. 57.  
     [0497] A time of 500 ms is set as the PI overtime at S 2048 , and it is determined whether the terminal ZPIIN is at H or not (S 2050 ). If it is determined not, then the flow shifts to S 2080 . If it is determined that the terminal ZPIIN is at H, by contrast, then a time of 500 ms is set as the PI overtime (S 2052 ), and it is determined whether the event count is terminated or not (S 2064 ).  
     [0498] If it is determined that the event count is not terminated, then it is determined whether the PI overtime is reached or not (S 2066 ). If it is determined that the PI overtime is reached, then the flow shifts to S 2100  in FIG. 58, where the PI overtime is set, the recovery inhibition is set (S 2102 ), and the flow shifts to S 2156  in FIG. 59.  
     [0499] If it is determined at S 2066  in FIG. 57 that the PI overtime is not reached, then it is determined whether the terminal EA is at L or not (S 2068 ). If it is determined not, then, after a wait of 100 .s (S 2070 ), it is determined whether the terminal EA is at L or not (S 2072 ). If it is determined that the terminal EA is at L, then the flow shifts to S 2074 . If it is determined not, by contrast, then the flow returns to S 2028  in FIG. 56.  
     [0500] If it is determined at S 2068  that the terminal EA is at L, by contrast, then it is determined whether the terminal ZPIIN is at L or not (S 2074 ). If it is determined that the terminal ZPIIN is not at L, then the flow returns to S 2064 .  
     [0501] If it is determined that the terminal ZPIIN is at L, then it is determined whether the event counter is terminated or not (S 2076 ). If it is determined that the event count is terminated, then the flow shifts to S 2054 . If it is determined that the event count is not terminated, by contrast, then it is determined whether the PI overtime is reached or not (S 2078 ). If it is determined that the PI overtime is reached, then the flow shifts to S 2100  in FIG. 58. If it is determined that the PI overtime is not reached, by contrast, then it is determined whether the terminal EA is at L or not (S 2080 ). If it is determined that the terminal EA is not at L, then, after a wait of 100 .s (S 2082 ), it is determined whether the terminal EA is at L or not (S 2084 ). If it is determined that the terminal EA is at L, then the flow shifts to S 2086 . If it is determined that the terminal EA is not at L, then the flow returns to S 2028  in FIG. 56.  
     [0502] If it is determined at S 2080  that the terminal EA is at L, then it is determined whether the terminal ZPIIN is at H or not (S 2086 ). If it is determined not, then the flow returns to S 2076 . If it is determined that the terminal ZPIIN is at H, by contrast, then the flow returns to S 2052 .  
     [0503] If it is determined at S 2064  that the event count is terminated, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the camera  2  into the wait state (S 2054 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out WIDE driving (S 2056 ).  
     [0504] Subsequently, the data of the event counter  2  is set as the event count (S 2058 ), a time of 500 ms is set as the PI overtime (S 2060 ), and the normal rotation width restriction time data (E_T_PI) is set (S 2062 ).  
     [0505] Then, the flow shifts to S 2088  in FIG. 58, where it is determined whether the terminal ZPIIN is at H or not. If it is determined not, then the flow shifts to S 2122 . If it is determined that the terminal ZPIIN is at H, then a time of 500 ms is set as the PI overtime (S 2090 ), and it is determined whether the event count is terminated or not (S 2092 ).  
     [0506] If it is determined at S 2092  that the event counter is not terminated, then it is determined whether the terminal EA is at L or not (S 2104 ). If it is determined that the terminal EA is not at L, then, after a wait of  100  s (S 2106 ), it is determined whether the terminal EA is at L or not (S 2108 ). If it is determined that the terminal EA is at L, then the flow shifts to S 2110 . If it is determined that the terminal EA is not at L, then the flow returns to S 2028  in FIG. 56. If it is determined at S 2104  that the terminal EA is at L, by contrast, then the flow shifts to S 2110 .  
     [0507] At S 2110 , it is determined whether the PI overtime is reached or not. If it is determined that the PI overtime is reached, then the flow shifts to S 2100 . If it is determined that the PI overtime is not reached, by contrast, then it is determined whether the normal rotation width restriction time (E_T_PI) is overtime or not (S 2112 ).  
     [0508] If it is determined that the normal rotation width restriction time (E_T_PI) is not overtime, then the flow shifts to S 2120 . If it is determined that normal rotation width restriction time (E_T_PI) is overtime, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 2114 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out TELE driving (S 2116 ), and the DC driving is reset (S 2118 ). Then, the flow shifts to S 2120 .  
     [0509] At S 2120 , it is determined whether the terminal ZPIIN is at L or not. If it is determined not, then the flow returns to S 2092 . If it is determined that the terminal ZPIIN is at L, by contrast, then it is determined whether the event count is terminated or not (S 2122 ).  
     [0510] If it is determined at S 2122  that the event count is terminated, then the flow shifts to S 2094 . If it is determined not, then it is determined whether the terminal EA is at L or not (S 2124 ). If it is determined that the terminal EA is not at L, then, after a wait of  100  s (S 2126 ), it is determined whether the terminal EA is at L or not (S 2128 ). If it is determined that the terminal EA is at L, then the flow shifts to S 2130 . If it is determined that the terminal EA is not at L, by contrast, then the flow returns to S 2028  in FIG. 56. If it is determined at S 2124  that the terminal EA is at L, then the flow shifts to S 2130 .  
     [0511] At S 2130 , it is determined whether the PI overtime is reached or not. If it is determined that the PI overtime is reached, then the flow shifts to S 2100 . If it is determined that the PI overtime is not reached, by contrast, then it is determined whether the normal rotation width restriction time (E_T_PI) is overtime or not (S 2132 ).  
     [0512] If it is determined that the normal rotation width restriction time (E_T_PI) is not overtime, then the flow shifts to S 2140 . If it is determined that the normal rotation width restriction time (E_T_PI) is overtime, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  227  is placed into the wait state (S 2134 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out WIDE driving (S 2136 ), and the DC driving is reset (S 2138 ). Then, the flow shifts to S 2140 .  
     [0513] At S 2140 , it is determined whether the terminal ZPIIN is H or not. If it is determined not, then the flow returns to S 2092 . If it is determined that the terminal ZPIIN is H, by contrast, then it is determined whether the DC driving is set or not (S 2142 ). If it is determined that the DC driving is set, then the flow returns to S 2090 . If it is determined that the DC driving is not set, then it is determined whether the brake logic is being outputted or not (S 2144 ).  
     [0514] Here, “brake logic is being outputted” refers to a brake output state in which the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively. If it is determined at S 2144  that the brake logic is being outputted, then the flow returns to S 2090 . If it is determined not, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  227  is placed into the wait state (S 2146 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 2148 ). Then, the flow returns to S 2090 .  
     [0515] If it is determined at S 2092  that the event count is terminated, then the flow shifts to S 2094 , where a time of 100 ms is set as the PI overtime, and it is determined whether the PI overtime is reached or not (S 2096 ). If it is determined that the PI overtime is reached, then the flow shifts to S 2156  in FIG. 59. If it is determined that the PI overtime is not reached, by contrast, then it is determined whether the terminal ZPIIN is at L or not (S 2098 ). If it is determined that the terminal ZPIIN is not at L, then the flow returns to S 2096 . If it is determined that the terminal ZPIIN is at L, by contrast, then the flow shifts to S 2150  in FIG. 59.  
     [0516] At S 2150  in FIG. 59, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  227  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out WIDE driving (S 2152 ), and a wait of rotation brake time (E_T_REVERS) is provided (S 2154 ).  
     [0517] Thereafter, then the flow shifts to S 2156 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  227  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 2158 ), and then, after a wait of 20 ms (S 2160 ), the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H (S 2162 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  227  is placed into the wait state (S 2164 ).  
     [0518] Subsequently, the terminals EA, EB are set as the output port (S 2166 ), and it is determined whether the encoder detection overtime is reached or not (S 2168 ). If it is determined that the encoder detection overtime is reached, then the flow shifts to S 2170 , where the lens drive NG is set, and the first lens drive processing operation is terminated.  
     [0519] If it is determined that the encoder detection overtime is not reached, then it is determined whether the PI overtime is reached or not (S 2172 ). If it is determined that the PI overtime is reached, then the flow shifts to S 2170 . If it is determined that the PI overtime is not reached, by contrast, then the first lens drive processing operation is directly terminated.  
     [0520]FIG. 60 shows a flowchart of the first lens return (LR 1 ) processing operation.  
     [0521] As shown at S 2200  in FIG. 60, an LD drive preparation processing operation is carried out, whereby the motor  227  (see FIG. 16) of the lens barrel driving section  222  is selected as the motor to drive. Subsequently, the flow shifts to S 2202 , where the terminals EA, EB are set as the input port. Then, after a wait of 2 ms (S 2204 ), Z 1  stopping brake point pulse data (E_P_Z 1 _BRAKE) is set (S 2206 ), normal rotation width restriction time data (E_T_PI) is set (S 2208 ), and rotation brake time data (E_T_REVERS) is set (S 2210 ).  
     [0522] Subsequently, the encoder detection overtime flag is reset (S 2212 ), the PI overtime is reset (S 2214 ), the DC driving flag is set (S 2216 ), brake point pulse data (E_P_BRAKE) is set as the event count (S 2218 ), and Z 1  stopping brake point pulse data −1 (E_P_Zl_BRAKE- 1 ) is set as the event count  2  (S 2220 ).  
     [0523] Then, the flow shifts to S 2222 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  227  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out TELE driving (S 2224 ), and it is determined whether the encoder detection overtime is reached or not (S 2226 ).  
     [0524] If it is determined that the encoder detection overtime is reached, then the lens barrel error is set (S 2228 ), the encoder detection overtime is set (S 2230 ), and a reverse and brake processing operation is carried out (S 2232 ). Thereafter, the flow shifts to S 2256 .  
     [0525] If it is determined at S 2226  that the encoder detection overtime is not reached, then an encoder readout processing operation is carried out (S 2234 ), and it is determined whether the terminal EB is at 1 (H (HIGH)) or not (S 2236 ). If it is determined that the terminal EB is not at 1, then the flow shifts to S 2226 . If it is determined that the terminal EB is at 1, then it is determined whether the encoder detection overtime is reached or not (S 2238 ).  
     [0526] If it is determined at S 2238  that the encoder detection overtime is reached, then the flow shifts to S 2228 . If it is determined not, by contrast, then an encoder readout processing operation is carried out (S 2240 ), and it is determined whether the terminals EA, EB are at 1 or not (S 2242 ). If it is determined that both of the terminals EA, EB are not at 1, then the flow shifts to S 2238 . If it is determined that the terminals EA, EB are at 1, then a stop control processing operation is carried out (S 2244 ).  
     [0527] Subsequently, the flow shifts to S 2242 , where it is determined whether the terminals EA, EB are at 1 or not. If it is determined that both of the terminals EA, EB are not at 1, then the flow returns to S 2206 . If it is determined that the terminals EA, EB are at 1, then it is determined whether the PI overtime is reached or not (S 2250 ). If it is determined that the PI overtime is reached, then a brake processing operation is carried out (S 2252 ). If it is determined that the PI overtime is not reached, by contrast, then a reverse and brake processing operation is carried out (S 2254 ). The reverse and brake processing operation is an operation for driving the lens barrel driving motor  227  to rotate in reverse so as to lower its rotating speed and then outputting a brake. The brake processing operation is an operation for outputting a brake without driving to rotate in reverse.  
     [0528] Subsequently, the flow shifts to S 2256 , where the recovery inhibition is set, and the first lens return processing operation is terminated.  
     [0529] The second lens drive and return processing operations will now be explained.  
     [0530]FIG. 61 shows an outline of the second lens drive (LD 2 ) processing operation and second lens return (LR 2 ) processing operation.  
     [0531] In the second lens drive operation, when the lens barrel position is at Z 2 , the second lens group  102  is initially driven (focus is driven) in reverse (leftward in FIG. 61), the falling of the terminal LHPIN (see FIG. 16) receiving the output of detector  96  is detected, and then the focus is driven by a designated pitch count before being stopped. Subsequently, the focus is driven in the normal rotating direction, the rising of the terminal LHPIN is detected, and then the focus is driven by the drive pulse count determined by the expansion calculation before being stopped.  
     [0532] When the lens barrel position is at Z 3  to Z 7  in the second lens drive processing operation, the focus is initially driven in the reverse rotating direction, the rising of the terminal LHPIN is detected, and then the focus is driven by the designated pitch count before being stopped. Subsequently, the focus is driven in the normal rotating direction, the falling of the terminal LHPIN is detected, and then the focus is driven by the drive pulse count determined by the expansion calculation before being stopped.  
     [0533] When the lens barrel position is at Z 2  in the second lens return processing operation, on the other hand, the focus is driven in the reverse rotating direction by the drive pulse driven by the second lens drive processing plus the falling of the terminal LHPIN is detected, and then the focus is driven by the designated pitch count before being stopped. Subsequently, the focus is driven in the normal rotating direction, the rising of the terminal LHPIN is detected, and then the focus is driven by the designated pitch count before being stopped.  
     [0534] When the lens barrel position is at Z 3  to Z 7  in the lens return processing operation, the focus is driven in the reverse rotating direction by the drive pulse driven by the second lens drive processing plus the rising of the terminal LHPIN is detected, and then the focus is driven by the designated pitch count before being stopped. Subsequently, the focus is driven in the normal rotating direction, the falling of the terminal LHPIN is detected, and then the focus is driven by the designated pitch count before being stopped.  
     [0535]FIG. 62 shows an operational chart for explaining the WIDE wait time in the second lens drive processing operation, whereas FIG. 63 shows an operational chart for explaining the TELE wait time in the second lens drive processing operation. FIGS.  64  to  68  are flowcharts of the second lens drive processing operation.  
     [0536] In the second lens drive processing operation, as shown at S 2300  in FIG. 64, a drive preparation processing operation is initially carried out, so that the motor  95  of the focus driving section  221  (hereinafter referred to as “focus motor” when appropriate) is selected as the motor to drive. Subsequently, the flow shifts to S 2302 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Then, the terminal LHPIN is set as the input port (S 2304 ) and, after a wait of 10 ms (S 2306 ), the voltage output to the focus motor is enabled (S 2308 ).  
     [0537] Subsequently, after a wait of 1 ms (S 2310 ), the operation mode of CPU  200  is set to the high speed mode (S 2312 ). The change of the operation mode to the high speed mode is carried out by changing the base clock of the CPU  200 , for example.  
     [0538] Then, lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 2314 ), lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 2316 ), focus error is reset (S 2318 ), and HP (home position) detection is reset (S 2320 ).  
     [0539] Thereafter, the flow shifts to S 2322 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least a high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T_LD 2 MONH) is set as the focus energizing time (S 2324 ).  
     [0540] If it is determined at S 2322  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most a low-temperature set temperature (E_LD 2 TEMPL) or not (S 2326 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 2330 ). If it is determined that the measured temperature is not at most the low-temperature set temperature, by contrast, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 2328 ).  
     [0541] In the high-temperature focus drive energizing time data (E_T_LD 2 MONH), a time shorter than that in the room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set. In the room-temperature focus drive energizing time data (E_T_LD 2 MONM), a time shorter than that in the low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set.  
     [0542] Subsequently, the flow shifts to S 2332 , where focus drive brake time data (E_T_LD 2 BRAKE) is set as the focus brake time. Then, the input of the terminal LHPIN is read out (S 2334 ). Thereafter, it is determined whether the lens barrel position is at least Z 3  or not (S 2336 ). If it is determined not, then it is considered that the lens barrel position is at Z 2 , whereby HP falling is set (S 2338 ).  
     [0543] Subsequently, it is determined whether the terminal LHPIN is at H or not (S 2340 ). If it is determined that the LHPIN is not at H, then the flow shifts to S 2524  in FIG. 68. If it is determined that the terminal LHPIN is at H, by contrast, then the flow shifts to S 2344 .  
     [0544] If it is determined at S 2336  that the lens barrel position is at least Z 3 , then HP rising is set (S 2342 ). Subsequently, it is determined whether the terminal LHPIN is at L or not (S 2343 ). If it is determined that the terminal is not at L, then the flow shifts to S 2524  in FIG. 68. If it is determined that the terminal is at L, then the flow shifts to S 2344 .  
     [0545] At S 2344 , 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 2346 ), 0 is set as the focus count  2  (S 2348 ), 0 is set as the focus count pulse (S 2350 ), 0 is set as the focus count HP (S 2352 ), and 0 is set as the focus count SUM (S 2354 ).  
     [0546] Here, the “focus count  0 ” refers to the count (pitch) of the zero-order speed control (see FIGS. 62 and 63). The “focus count  1 ” refers to the count (pitch) of the first speed control (see FIGS. 62 and 63). The “focus count  2 ” refers to the count (pitch) of the second speed control (see FIGS. 62 and 63). The “focus count pulse” refers to the count (pitch) of the pulse drive control (see FIGS. 62 and 63).  
     [0547] As shown in FIGS. 62 and 63, speed control for changing the driving speed according to the moving position of the second lens group  102  is carried out in the focus driving (driving of the second lens group). As the speed control, the above-mentioned zero-order speed control, first speed control, second speed control, and pulse drive control are set. The pulse drive control is a control operation at a speed lower than that of the second speed control. The second speed control is a control operation at a speed lower than that of the first speed control. The zero-order speed control and the second speed control are control operations at the same speed.  
     [0548] The “focus count HP” refers to the count (pitch) of the pulse drive control (FIGS. 62 and 63) after the HP detection. The “focus count SUM” refers to the whole pitch number of driving. Here, “pitch” refers to a half of  1  pulse, so that 2 pitches constitute 1 pulse.  
     [0549] Subsequently, the flow shifts to S 2356  in FIG. 65, where 0 is set as the focus count  0 . Then, focus drive HP count data (E_P_HP) is set as the focus count HP (S 2358 ). Thereafter, the sum of the focus drive HP count data (E_P_HP), focus wait position pitch count data (E_P_TAIKI), focus drive backlash count data (E_P_FCGB), and focus drive HP detection margin pitch count data (D_P_MARGIN) is set as the focus count SUM (S 2360 ).  
     [0550] Subsequently, the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, 20 is added thereto, thus obtained value ((E_P_LD 2 N 1 *2)+20) is subtracted from the focus count SUM, and the resulting value is set as the focus count  1  (S 2362 ).  
     [0551] Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 2364 ). If it is determined that the focus count  1  is not at most 0, then the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted therefrom, and thus obtained value is set as the focus count  2  (S 2366 ).  
     [0552] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2368 ). Then, it is determined whether the lens barrel position is at least Z 3  or not (S 2370 ).  
     [0553] If it is determined at S 2370  that the lens barrel position is not at least Z 3 , then the flow shifts to S 2376 . If it is determined that the lens barrel position is at least Z 3 , by contrast, then the sum of the focus count  2  and focus count pulse is set as the focus count  2  (S 2372 ), and 0 is set as the focus count pulse (S 2374 ).  
     [0554] Subsequently, the flow shifts to S 2376 , where doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1 . Then, it is determined whether there is a remainder or not (S 2378 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 2380 ), and the flow shifts to S 2382 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 2382 , where the focus count  1  is set as the event count. Then, the flow shifts to S 2410  in FIG. 66.  
     [0555] If it is determined at S 2364  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 2384 ).  
     [0556] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 2386 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2388 ). Thereafter, it is determined whether the lens barrel position is at least Z 3  or not (S 2390 ).  
     [0557] If it is determined at S 2390  that the lens barrel position is not at least Z 3 , then the flow shifts to S 2396 . If it is determined that the lens barrel position is at least Z 3 , then the sum of the focus count  2  and focus count pulse is set as the focus count  2  (S 2392 ), and 0 is set as the focus count pulse (S 2394 ).  
     [0558] Subsequently, the flow shifts to S 2396 , where 0 is set as the focus count  1 . Then, the flow shifts to S 2410  in FIG. 66.  
     [0559] If it is determined at S 2386  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 2398 ).  
     [0560] Subsequently, the flow shifts to S 2400 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is not at most 0, then 0 is set as the focus count  1  (S 2402 ). Thereafter, it is determined whether the lens barrel position is at least Z 3  or not (S 2404 ).  
     [0561] If it is determined at S 2404  that the lens barrel position is not at least Z 3 , then the flow shifts to S 2410  in FIG. 66. If it is determined that the lens barrel position is at least Z 3 , by contrast, then the focus count pulse is set as the focus count  2  (S 2406 ), and 0 is set as the focus count pulse (S 2408 ). Subsequently, the flow shifts to S 2410  in FIG. 66.  
     [0562] If it is determined at S 2400  that the focus count pulse is at most 0, then it is considered abnormal, and the flow shifts to S 2524  in FIG. 68.  
     [0563] The terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out at S 2410  in FIG. 66, and it is determined whether the terminal LPIIN is at L or not (S 2412 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 2416 ). If it is determined that the terminal LPIIN is not at L, by contrast, then the HL flag of the terminal LPIIN is set (S 2414 ).  
     [0564] Subsequently, the flow shifts to S 2418 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out driving in reverse (S 2320 ).  
     [0565] Thereafter, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2422 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 2426 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 2424 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0566] Subsequently, the flow shifts to S 2428 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 2440 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 2430 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain a brake output state (S 2432 ).  
     [0567] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2434 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 2438 ). If it is determined that the HL flag of the terminal LPIIN is not set, then a braking pitch count measurement L start drive processing operation is carried out (S 2436 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0568] Subsequently, the flow shifts to S 2440 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 2442 ). If it is determined that the HP detection flag is reset, then the HP error of LD 2  is set (S 2444 ), and the flow shifts to S 2524  in FIG. 68.  
     [0569] If it is determined at S 2442  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 2446 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 2524  in FIG. 68. If it is determined that the LPIIN overtime is not set, by contrast, then the flow shifts to S 2448  in FIG. 67.  
     [0570] At S 2448 , a readout processing operation for the terminal LHPIN is carried out. Subsequently, it is determined whether the lens barrel position is at least Z 3  or not (S 2450 ). If it is determined that the lens barrel position is not at least Z 3 , then it is considered that the lens barrel position is at Z 2 , and the HP rising is set (S 2452 ).  
     [0571] Subsequently, it is determined whether the terminal LHPIN is at L or not (S 2454 ). If it is determined that the terminal LHPIN is not at L, then the flow shifts to S 2524  in FIG. 68. If it is determined that the terminal LHPIN is at L, by contrast, then the flow shifts to S 2460 .  
     [0572] If it is determined at S 2450  that the lens barrel position is at least Z 3 , then the HP-falling is set (S 2456 ). Subsequently, it is determined whether the terminal LHPIN is at H or not (S 2458 ). If it is determined that the terminal LHPIN is not at H, then the flow shifts to S 2524  in FIG. 68. If it is determined that the terminal LHPIN is at H, by contrast, then the flow shifts to S 2460 .  
     [0573] At S 2460 , the sum of the focus drive HP count data (E_P_HP), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count  0 . Subsequently, 0 is set as the focus count HP (S 2462 ), and the drive pulse (DRV_PLS) is set as the focus count SUM (S 2464 ).  
     [0574] Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 2466 ). Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 2468 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 2470 ).  
     [0575] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2472 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 2473 ). Subsequently, it is determined whether there is a remainder or not (S 2474 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 2476 ), and the flow shifts to S 2478 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 2478 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 2496  in FIG. 68.  
     [0576] If it is determined at S 2468  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 2480 ).  
     [0577] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 2482 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2484 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 2496  in FIG. 68.  
     [0578] If it is determined at S 2482  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 2488 ).  
     [0579] Subsequently, the flow shifts to S 2490 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 2524  in FIG. 68. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 2492 ), and 0 is set as the focus count  2  (S 2494 ). Thereafter, the flow shifts to S 2496  in FIG. 68.  
     [0580] At S 2496 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 2498 ).  
     [0581] Then, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2500 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 2502 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 2501 ). The zero-order control H and L start drive processing operations will be explained later in detail.  
     [0582] Subsequently, the flow shifts to S 2504 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 2516 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 2506 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 2508 ).  
     [0583] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2510 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 2514 ). If it is determined not, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 2512 ). The braking pitch count measurement H and L start drive processing operation will be explained later in detail.  
     [0584] Subsequently, the flow shifts to S 2516 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 2518 ). If it is determined that the HP detection flag is reset, then the HP error of LD 2  is set (S 2522 ), and the flow shifts to S 2524 .  
     [0585] At S 2524 , the focus error is set. Subsequently, the lens barrel error is set (S 2526 ), the recovery inhibition is set (S 2528 ), and the lens drive NG is set (S 2530 ). Subsequently, the flow shifts to S 2352 .  
     [0586] If it is determined at S 2518  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 2520 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 2524 . If it is determined that the LPIIN overtime is not set, then the flow shifts to S 2532 .  
     [0587] At S 2352 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Subsequently, the terminal LHPIN is set as the L output port (S 2534 ). Then, after a wait of 2 ms (S 2536 ), the focus power is reset (S 2538 ), the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 2540 ), the operation mode of the CPU  200  is set to a medium speed mode (S 2542 ), and a focus error EEPROM writing processing operation is carried out (S 2544 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0588] After the focus error EEPROM writing processing operation, the second lens drive processing operation is terminated.  
     [0589] As in the foregoing, when the second lens group  102  (focus) is driven from the WIDE wait position to rotate in reverse, the pulse drive control at a lower speed is carried out as shown in FIG. 62 after the HP (home position) serving as a reference position is detected. Consequently, the second lens group  102  can be prevented from colliding with the stopper due to its impetus upon movement, whereby gears can be kept from meshing with each other upon the collision and failing to rotate in reverse, which might have become a severe failure, for example.  
     [0590] Also, as shown in FIGS. 62 and 63, the zero-order speed control at a speed lower than that of the first speed control, DC driving, or the like is carried out before the second lens group  102  passes the HP when moved. As a consequence, the HP can be detected precisely. Therefore, the second lens group  102  can be moved precisely upon focusing, whereby the focusing accuracy can be improved.  
     [0591]FIG. 69 shows an operational chart for explaining the second lens return processing operation at the WIDE wait time, whereas FIG. 70 shows an operational chart for explaining the second lens return processing operation at the TELE wait time. FIGS.  71  to  75  show flowcharts of the second lens drive processing operation.  
     [0592] As shown at S 2600  in FIG. 71, a drive preparation processing operation is initially carried out in the second lens drive processing operation, whereby the motor  95  (hereinafter referred to as “focus motor” when appropriate) in the focus driving section  221  is selected as the motor to drive. Subsequently, the flow shifts to S 2602 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Then, the terminal LHPIN is set as the input port (S 2604 ) and, after a wait of 10 ms (S 2606 ), the voltage output to the focus motor is enabled (S 2608 ).  
     [0593] Subsequently, after a wait of 1 ms (S 2610 ), the operation mode of CPU  200  is set to the high speed mode (S 2612 ). The change of the operation mode to the high speed mode is carried out by changing the base clock of the CPU  200 , for example.  
     [0594] Then, lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 2614 ), lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 2616 ), focus error is reset (S 2618 ), and HP (home position) detection is reset (S 2620 ).  
     [0595] Thereafter, the flow shifts to S 2622 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T_LD 2 MONH) is set as the focus energizing time (S 2624 ).  
     [0596] If it is determined at S 2622  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not (S 2626 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 2630 ). If it is determined not, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 2628 ).  
     [0597] Subsequently, the flow shifts to S 2632 , where focus drive brake time data (E_T_LD 2 BRAKE) is set as the focus brake time. Then, the input of the terminal LHPIN is read out (S 2634 ). Thereafter, it is determined whether the lens barrel position is at least Z 3  or not (S 2636 ). If it is determined not, then it is considered that the lens barrel position is at Z 2 , whereby the HP falling is set (S 2638 ).  
     [0598] Subsequently, it is determined whether the terminal LHPIN is at H or not (S 2640 ). If it is determined not, then the flow shifts to S 2810  in FIG. 75. If it is determined that the terminal LHPIN is at H, by contrast, then the flow shifts to S 2644 .  
     [0599] If it is determined at S 2636  that the lens barrel position is at least Z 3 , then the HP rising is set (S 2642 ). Subsequently, it is determined whether the terminal LHPIN is at L or not (S 2643 ). If it is determined that the terminal is not at L, then the flow shifts to S 2810  in FIG. 75. If it is determined that the terminal is at L, by contrast, then the flow shifts to S 2644 .  
     [0600] At S 2644 , 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 2646 ), 0 is set as the focus count  2  (S 2648 ), 0 is set as the focus count pulse (S 2650 ), 0 is set as the focus count HP (S 2652 ), and 0 is set as the focus count SUM (S 2654 ).  
     [0601] Here, the “focus count  0 ,” “focus count  1 ,” “focus count  2 ,” “focus count pulse,” “focus count HP,” and “focus count SUM” are similar to those in the above-mentioned first lens drive processing operation.  
     [0602] Subsequently, the flow shifts to S 2656  in FIG. 72, where 0 is set as the focus count  0 . Then, focus drive HP count data (E_P_HP) is set as the focus count HP (S 2658 ). Thereafter, the sum of the focus drive HP count data (E_P_HP), drive pulse (DRV PLS), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count SUM (S 2660 ).  
     [0603] Subsequently, the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, 20 is added thereto, thus obtained value ((E_P_LD 2 N 1 *2)+20) is subtracted from the focus count SUM, and the resulting value is set as the focus count  1  (S 2662 ).  
     [0604] Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 2664 ). If it is determined that the focus count  1  is not at most 0, then the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted therefrom, and thus obtained value is set as the focus count  2  (S 2666 ).  
     [0605] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2668 ). Then, doubled focus drive first speed count data (L_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 2670 ). Subsequently, it is determined whether there is a remainder or not (S 2672 ). If it is determined that there is a remainder, then the sum of the focus count  1  and the remainder is set as the focus count  2  (S 2674 ), and the flow shifts to S 2676 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 2676 , where the focus count  1  is set as the event count. Subsequently, the flow shifts to S 2694  in FIG. 73.  
     [0606] If it is determined at S 2664  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 2678 ).  
     [0607] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 2680 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2682 ). Thereafter, 0 is set as the focus count  1 , and the flow shifts to S 2694  in FIG. 73.  
     [0608] If it is determined at S 2680  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 2686 ).  
     [0609] Subsequently, the flow shifts to S 2688 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 2810  in FIG. 75. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 2690 ), and 0 is set as the focus count  2  (S 2692 ). Thereafter, the flow shifts to S 2694  in FIG. 73.  
     [0610] The terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out at S 2694 , and it is determined whether the terminal LPIIN is at L or not (S 2696 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 2700 ). If it is determined not, by contrast, then the HL flag of the terminal LPIIN is set (S 2698 ).  
     [0611] Subsequently, the flow shifts to S 2702 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is set to the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out reverse rotation driving (S 2704 ).  
     [0612] Subsequently, If it is determined whether the HL flag of the terminal LPIIN is set or not (S 2706 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 2710 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 2708 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0613] Subsequently, the flow shifts to S 2712 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 2724 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is set to the wait state (S 2714 ). Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 2716 ).  
     [0614] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2718 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 2722 ). If it is determined not, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 2720 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0615] Subsequently, the flow shifts to S 2724 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 2726 ). If it is determined that the HP detection flag is reset, then the HP error of LR 2  is set (S 2728 ), and the flow shifts to S 2810  in FIG. 75.  
     [0616] If it is determined at S 2726  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 2730 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 2810  in FIG. 75. If it is determined that the LPIIN overtime is not set, by contrast, then the flow shifts to S 2732  in FIG. 74. At S 2732 , a readout processing operation for the terminal LHPIN is carried out. Subsequently, it is determined whether the lens barrel position is at least Z 3  or not (S 2734 ). If it is determined that the lens barrel position is not at least Z 3 , then it is considered that the lens barrel position is at Z 2 , whereby the HP rising is set (S 2740 ).  
     [0617] Subsequently, it is determined whether the terminal LHPIN is at L or not (S 2742 ). If it is determined that the terminal LHPIN is not at L, then the flow shifts to S 2810  in FIG. 75. If it is determined that the terminal LHPIN is at L, by contrast, then the flow shifts to S 2744 .  
     [0618] If it is determined at S 2734  that the lens barrel position is at least Z 3 , then the HP falling is set (S 2736 ). Subsequently, it is determined whether the terminal LHPIN is at H or not (S 2738 ). If it is determined that the terminal LHPIN is not at H, then the flow shifts to S 2810  in FIG. 75. If it is determined that the terminal LHPIN is at H, by contrast, then the flow shifts to S 2744 .  
     [0619] At S 2744 , the sum of the focus drive HP count data (E_P_HP), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count  0 . Subsequently, 0 is set as the focus count HP (S 2746 ), and focus wait position pitch count data (E_P_TAIKI) is set as the focus count SUM (S 2748 ).  
     [0620] Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 2750 ).  
     [0621] Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 2752 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 2754 ).  
     [0622] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2756 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 2758 ). Subsequently, it is determined whether there is a remainder or not (S 2760 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 2762 ), and the flow shifts to S 2764 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 2764 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 2782  in FIG. 75.  
     [0623] If it is determined at S 2752  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 2766 ).  
     [0624] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 2768 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 2770 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 2782  in FIG. 75.  
     [0625] If it is determined at S 2768  that the focus count  2  is at most 0, by contrast, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 2774 ).  
     [0626] Subsequently, the flow shifts to S 2776 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 2810  in FIG. 75. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 2778 ), and 0 is set as the focus count  2  (S 2780 ). Thereafter, the flow shifts to S 2782  in FIG. 75.  
     [0627] At S 2782 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 2784 ).  
     [0628] Then, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2786 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 2790 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 2788 ). The zero-order control H and L start drive processing operations will be explained later in detail.  
     [0629] Subsequently, the flow shifts to S 2792 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 2802 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 2794 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 2796 ).  
     [0630] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 2797 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 2800 ). If it is determined not, then a braking pitch count measurement L start drive processing operation is carried out (S 2798 ). The braking pitch count measurement H and L start drive processing operations will be explained later in detail.  
     [0631] Subsequently, the flow shifts to S 2802 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 2804 ). If it is determined that the HP detection flag is reset, then the TAIKI error of LR 2  is set (S 2806 ), and the flow shifts to S 2810 .  
     [0632] At S 2810 , the focus error is set. Subsequently, the lens barrel error is set (S 2812 ), and the recovery inhibition is set (S 2814 ). Then, the flow shifts to S 2816 .  
     [0633] If it is determined at S 2804  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 2808 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 2810 . If it is determined that the LPIIN overtime is not set, then the flow shifts to S 2816 .  
     [0634] At S 2816 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed in to the wait state. Subsequently, the terminal LHPIN is set as the L output port (S 2818 ). Then, after a wait of 2 ms (S 2820 ), the focus power is reset (S 2822 ), the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 2824 ), the operation mode of the CPU  200  is set to a medium speed mode (S 2826 ), and a focus error EEPROM writing processing operation is carried out (S 2828 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0635] After the focus error EEPROM writing processing operation, the second lens return processing operation is terminated.  
     [0636] As in the foregoing, when the second lens group  102  (focus) is driven from the WIDE wait position to rotate in reverse, the pulse drive control at a lower speed is carried out as shown in FIG. 69 after the HP (home position) serving as a reference position is detected. Consequently, the second lens group  102  can be prevented from colliding with the stopper due to its impetus upon movement, whereby gears can be kept from meshing with each other upon the collision and failing to rotate in reverse, which might have become a severe failure, for example.  
     [0637] Also, as shown in FIGS. 69 and 70, the zero-order speed control at a speed lower than that of the first speed control, DC driving, or the like is carried out before the second lens group  102  passes the HP when moved. As a consequence, the HP can be detected precisely. Therefore, the second lens group  102  can be moved precisely upon focusing, whereby the focusing accuracy can be improved.  
     [0638] The barrier close processing operation will now be explained.  
     [0639] The barrier close processing operation is carried out as a part of the SM close processing operation performed upon manipulating the main switch  16  (FIG. 28), and is an operation for driving the motor  95  of the focus driving section  221  for closing the barrier  83 .  
     [0640]FIG. 76 shows an operational chart for explaining the barrier close processing operation at the time of WIDE wait, whereas FIG. 77 shows an operational chart for explaining the barrier close processing operation at the time of TELE wait. FIGS.  78  to  84  show flowcharts of the barrier close processing operation. FIGS.  85  to  90  show flowcharts of a barrier closing focus drive processing operation in the barrier close processing operation.  
     [0641] In the barrier close processing operation, as shown at S 3000  in FIG. 78, 1 is initially set as an HP (home position) chatter prevention counter. Subsequently, a drive preparation processing operation is carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive (S 3002 ). Then, the flow shifts to S 3004 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Thereafter, the terminal LHPIN is set as the input port (S 3006 ) and, after a wait of 10 ms (S 3008 ), the voltage output to the focus motor is enabled (S 3010 ).  
     [0642] Subsequently, after a wait of 1 ms (S 3012 ), the operation mode of CPU  200  is set to the high speed mode (S 3014 ). The change of the operation mode to the high speed mode is carried out by changing the base clock of the CPU  200 , for example.  
     [0643] Then, lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 3016 ), lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 3018 ), focus error is reset (S 3020 ), and HP (home position) detection is reset (S 3022 ).  
     [0644] Thereafter, the flow shifts to S 3024 , where it is determined whether  00 h is set as the barrier operating focus drive energizing time (E_T_BARIMON) or not. If it is determined not, then doubled barrier operating focus drive energizing time (E_T_BARIMON) is set as the focus energizing time (S 3026 ). Subsequently, the flow shifts to S 3038 .  
     [0645] If it is determined that  00 h is set as the barrier operating focus drive energizing time, by contrast, then the flow shifts to S 3028 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T__LD 2 MONH) is set as the focus energizing time (S 3032 ).  
     [0646] If it is determined at S 3028  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not(S 3030 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 3036 ). If it is determined that the measured temperature is not at most the low-temperature set temperature, by contrast, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 3034 ).  
     [0647] In the high-temperature focus drive energizing time data (E_T_LD 2 MONH), a time shorter than that in the room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set. In the room-temperature focus drive energizing time data (E_T_LD 2 MONM), a time shorter than that in the low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set.  
     [0648] Subsequently, the flow shifts to S 3038 , where focus drive brake time data (E_T_LD 2 BRAKE) is set as the focus brake time. Then, the input of the terminal LHPIN is read out (S 3040 ). Thereafter, the HP falling is set (S 3042 ).  
     [0649] Subsequently, it is determined whether the previous lens barrel position is at least Z 3  or not (S 3044 ). If it is determined not, then is considered that the previous lens barrel position is at Z 2 , and it is determined whether the terminal LHPIN is at H or not (S 3046 ). If it is determined that the terminal LHPIN is not at H, then the flow shifts to S 3330  in FIG. 84. If it is determined that the terminal LHPIN is at H, by contrast, then the flow shifts to S 3048 .  
     [0650] If it is determined at S 3044  that the lens barrel position is at least Z 3 , then it is determined whether the terminal LHPIN is at L or not (S 3047 ). If it is determined that the terminal is not at L, then the flow shifts to S 3330  in FIG. 84. If it is determined that the terminal is at L, then the flow shifts to S 3048 .  
     [0651] At S 3048 , 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 3050 ), 0 is set as the focus count  2  (S 3052 ), and 0 is set as the focus count pulse (S 3054 ).  
     [0652] Then, the flow shifts to S 3056  in FIG. 79, where 0 is set as the focus count HP, and 0 is set as the focus count SUM (S 3058 ).  
     [0653] Here, the “focus count  0 ” refers to the count (pitch) of the zero-order speed control (see FIGS. 76 and 77). The “focus count  1 ” refers to the count (pitch) of the first speed control (see FIGS. 76 and 77). The “focus count  2 ” refers to the count (pitch) of the second speed control (see FIGS. 76 and 77). The “focus count pulse” refers to the count (pitch) of the pulse drive control (see FIGS. 76 and 77).  
     [0654] As shown in FIGS. 76 and 77, speed control for changing the driving speed according to the moving position of the second lens group  102  is carried out in the focus driving (driving of the second lens group). As the speed control, the above-mentioned zero-order speed control, first speed control, second speed control, and pulse drive control are set. The pulse drive control is a control operation at a speed lower than that of the second speed control. The second speed control is a control operation at a speed lower than that of the first speed control. The zero-order speed control and the second speed control are control operations at the same speed.  
     [0655] The “focus count HP” refers to the count (pitch) of the pulse drive control (FIGS. 76 and 77) after the HP detection. The “focus count SUM” refers to the whole pitch number of driving. Here, “pitch” refers to a half of 1 pulse, so that 2 pitches constitute 1 pulse.  
     [0656] Subsequently, the flow shifts to S 3060  in FIG. 79, where 0 is set as the focus count  0 . Then, focus drive HP count data (E_P_HP) is set as the focus count HP (S 3062 ). Thereafter, the sum of the focus drive HP count data (E_P_HP), focus wait position pitch count data (E_P_TAIKI), focus drive backlash count data (E_P_FCGB), and focus drive HP detection margin pitch count data (D_P_MARGIN) is set as the focus count SUM (S 3064 ).  
     [0657] Subsequently, it is determined whether the previous lens barrel position is at least Z 3  or not (S 3066 ). If it is determined not, then the flow shifts to S 3070 . If it is determined that the previous lens barrel position is at least Z 3 , by contrast, then the value obtained when focus drive HP “H” section pitch count data (E_P_HP_H) is added to the focus count SUM is set as the focus count  1  (S 3068 ), and the flow shifts to S 3070 .  
     [0658] At S 3070 , the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, 20 is added thereto, thus obtained value ((E_P_LD 2 N 1 *2)+20) is subtracted from the focus count SUM, and the resulting value is set as the focus count  1 .  
     [0659] Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 3072 ). If it is determined that the focus count  1  is not at most 0, then the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted therefrom, and thus obtained value is set as the focus count  2  (S 3074 ).  
     [0660] Subsequently, the value obtained when focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (EP_LD 2 N 2 ) is set as the focus count pulse (S 3076 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 3078 ). Subsequently, it is determined whether there is a remainder or not (S 3080 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 3082 ), and the flow shifts to S 3084 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 3084 , where the focus count  1  is set as the event count.  
     [0661] Subsequently, it is determined whether the previous lens barrel position is at least Z 3  or not (S 3086 ). If it is determined that the previous lens barrel position is at least Z 3 , then the value obtained when focus drive first speed deceleration time (E_T_LN 1 _HOSEI) is added to focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) (S 3088 ). Thereafter, the value obtained when the focus drive first speed deceleration time (E_T_LN 1 _HOSEI) is added to focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) (S 3090 ). Subsequently, the flow shifts to S 3108  in FIG. 80.  
     [0662] If it is determined at S 3086  that the previous lens barrel position is not at least Z 3 , then the flow shifts to S 3108  in FIG. 80.  
     [0663] If it is determined at S 3072  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 3092 ).  
     [0664] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 3094 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 3096 ). Subsequently, 0 is set as the focus count  1  (S 3098 ), and the flow shifts to S 3108  in FIG. 80.  
     [0665] If it is determined at S 3094  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 3100 ).  
     [0666] Subsequently, the flow shifts to S 3102 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is not at most 0, then 0 is set as the focus count  1  (S 3104 ). Thereafter, 0 is set as the focus count  2  (S 3106 ), and the flow shifts to S 3108  in FIG. 80. If it is determined that the focus count pulse is at most 0, by contrast, then the flow shifts to S 3330  in FIG. 84.  
     [0667] The terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out at S 3108  in FIG. 80, and it is determined whether the terminal LPIIN is at L or not (S 3110 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 3112 ). If it is determined that the terminal LPIIN is not at L, by contrast, then the HL flag of the terminal LPIIN is set (S 3114 ).  
     [0668] Subsequently, the flow shifts to S 3116 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out driving in reverse (S 3118 ).  
     [0669] Thereafter, it is determined whether the HL flag of the terminal LPIIN is set or not (S 3120 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 3122 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 3124 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0670] Subsequently, the flow shifts to S 3126 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 3138 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 3128 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3130 ).  
     [0671] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 3132 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 3134 ). If it is determined that the HL flag of the terminal LPIIN is not set, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 3136 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0672] Subsequently, the flow shifts to S 3138 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the flow shifts to S 3140 , where a readout processing operation for the EEPROM  218  is carried out. In this readout processing operation, the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) and focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) are read out and set to their original values.  
     [0673] Subsequently, it is determined whether the HP detection flag is reset or not (S 3142 ). If it is determined that the HP detection flag is reset, then the barrier (BARI) HP error is set (S 3144 ), and the flow shifts to S 3330  in FIG. 84.  
     [0674] If it is determined at S 3142  that the HP detection flag is not reset, then it is determined whether the LPIIN overtime is set or not (S 3146 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 3330  in FIG. 84. If it is determined not, by contrast, then it is determined whether the terminal LHPIN is at L or not (S 3148 ). If it is determined that the terminal LHPIN is at L, then the flow shifts to S 3154  in FIG. 81. If it is determined that the terminal LHPIN is not at L, by contrast, then it is determined whether the HP chatter prevention counter is at 0 or not (S 3150 ).  
     [0675] If it is determined at S 3150  that the HP chatter prevention counter is at 0, then the flow shifts to S 3330  in FIG. 84. If it is determined that the HP chatter prevention counter is not 0, by contrast, then 1 is subtracted from the value of HP chatter prevention counter, and the flow shifts to S 3048  in FIG. 78.  
     [0676] At S 3154  in FIG. 81, lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset. Subsequently, lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 3156 ), focus error is reset (S 3158 ), and HP (home position) detection is reset (S 3160 ).  
     [0677] Then, a readout processing operation for the terminal LHPIN is carried out (S 3162 ), and the HP rising is set (S 3164 ). Subsequently, it is determined whether the terminal LHPIN is at L or not (S 3166 ). If it is determined that the terminal LHPIN is not at L, then the flow shifts to S 3330  in FIG. 84. If it is determined that the terminal LHPIN is at L, by contrast, then the flow shifts to S 3168 .  
     [0678] At S 3168 , 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count HP (S 3170 ), and the sum of focus reverse rotating gear meshing pitch count data (D_P_GEAR_KAMI), LHPIN rising barrier stopper pitch count data (D_PBARRIER), and barrier close processing pitch count correction data (E_P_BARI_CL_HOSEI) is set as the focus count SUM (S 3172 ).  
     [0679] Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 3174 ). Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 3176 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 3178 ).  
     [0680] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 3180 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 3182 ). Subsequently, it is determined whether there is a remainder or not (S 3184 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 3186 ), and the flow shifts to S 3188 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 3188 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 3206  in FIG. 82.  
     [0681] If it is determined at S 3176  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 3190 ).  
     [0682] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 3192 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 3196 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 3206  in FIG. 82.  
     [0683] If it is determined at S 3192  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 3198 ).  
     [0684] Subsequently, the flow shifts to S 3200 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 3330  in FIG. 84. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 3202 ), and 0 is set as the focus count  2  (S 3204 ). Then, the flow shifts to S 3206  in FIG. 82.  
     [0685] At S 3206 , a time of 2 sec is set as the barrier lock timer. Subsequently, the terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out (S 3208 ), and it is determined whether the terminal LPIIN is at L or not (S 3210 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 3214 ). If it is determined not, by contrast, then the HL flag of the terminal LPIIN is set (S 3212 ).  
     [0686] Subsequently, the flow shifts to S 3216 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 3218 ).  
     [0687] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 3220 ). If it is determined that the HL flag of the terminal LPIIN is set, then a barrier (BARI) first speed control H start drive processing operation is carried out (S 3224 ). If it is determined not, by contrast, then a barrier first speed control L start drive processing operation is carried out (S 3222 ). The barrier first speed control H and L start drive processing operations will be explained later in detail.  
     [0688] Thereafter, the flow shifts to S 3226 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 3240 , where barrier lock (BARI_LOCK) is set. Subsequently, the flow shifts to S 3242 . If it is determined not, then it is determined whether the barrier lock timer is overtime or not (S 3228 ). If it is determined that the barrier lock timer is overtime, then the flow shifts to S 3240 . If it is determined that the barrier lock timer is not overtime, then the flow shifts to S 3230 .  
     [0689] At S 3230 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3232 ).  
     [0690] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 3234 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 3238 ). If it is determined that the HL flag of the terminal LPIIN is not set, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 3236 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0691] Subsequently, the flow shifts to S 3242 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 3244 ). If it is determined that the HP detection flag is reset, then the barrier HP error is set (S 3246 ), and the flow shifts to S 3248 .  
     [0692] If it is determined at S 3244  that the HP detection flag is not reset, then the flow shifts to S 3248 , where the main switch state is set to the close code. Subsequently, the LPIIN overtime is reset (S 3250 ), the barrier lock timer overtime is reset (S 3252 ), 0 is set as the focus count  0  (S 3254 ), and 0 is set as the focus count HP (S 3256 ).  
     [0693] Then, the flow shifts to S 3258  in FIG. 83, where the sum of creep release pitch count data (D_P_BARI_REV) and focus drive brake pitch count data (E_P_FCBRK) is set as the focus count SUM. Subsequently, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 3260 ). Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 3262 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 3264 ).  
     [0694] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 3266 ). Then, doubled focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 3268 ). Thereafter, it is determined whether there is a remainder or not (S 3270 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 3272 ), and the flow shifts to S 3274 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 3274 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 3292  in FIG. 84.  
     [0695] If it is determined at S 3262  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 3276 ).  
     [0696] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 3278 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 3282 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 3292  in FIG. 84.  
     [0697] If it is determined at S 3278  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 3284 ).  
     [0698] Subsequently, the flow shifts to S 3286 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 3330  in FIG. 84. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 3288 ), and 0 is set as the focus count  2  (S 3290 ). Thereafter, the flow shifts to S 3292  in FIG. 84.  
     [0699] At S 3292  in FIG. 84, a time of 2 sec is set as the barrier lock timer. Subsequently, the terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out (S 3294 ), and it is determined whether the terminal LPIIN is at L or not (S 3296 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 3300 ). If it is determined not, by contrast, then the HL flag of the terminal LPIIN is set (S 3298 ).  
     [0700] Subsequently, the flow shifts to S 3302 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 3304 ).  
     [0701] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 3306 ). If it is determined that the HL flag of the terminal LPIIN is set, then a barrier first speed control H start drive processing operation is carried out (S 3310 ). If it is determined not, by contrast, then a barrier first speed control L start drive processing operation is carried out (S 3308 ). The barrier first speed control H and L start drive processing operations will be explained later in detail.  
     [0702] Thereafter, the flow shifts to S 3312 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the LPIIN overtime is reset (S 3326 ), the barrier creep (BARI_CREEP) error is set (S 3328 ), and the flow shifts to S 3336 . If it is determined at S 3312  that the LPIIN overtime is not set, by contrast, then it is determined whether the barrier lock timer is overtime or not (S 3314 ). If it is determined that the barrier lock timer is overtime, then the flow shifts to S 3326 . If it is determined that the barrier lock timer is not overtime, by contrast, then the flow shifts to S 3316 .  
     [0703] At S 3316 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3318 ).  
     [0704] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 3320 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 3324 ). If it is determined that the HL flag of the terminal LPIIN is not set, then a braking pitch count measurement L start drive processing operation is carried out (S 3322 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0705] At S 3330 , the focus error is set. Subsequently, the lens barrel error is set (S 3332 ), and the recovery inhibition is set (S 3334 ). Subsequently, the flow shifts to S 3336 .  
     [0706] At S 3336 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so as to keep the motor  95  in the wait state (S 3338 ). Subsequently, the terminal LHPIN is set as the output port (S 3340 ) and, after a wait of 2 ms (S 3342 ), the focus power is reset (S 3344 ). Then, the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 3346 ), the operation mode of CPU  200  is set to the medium speed mode (S 3348 ), and a focus error EEPROM writing processing operation is carried out (S 3350 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0707] After the focus error EEPROM writing processing operation, the barrier close processing operation is terminated.  
     [0708] As in the foregoing, the speed of the first speed control operation is set lower (S 3088  and S 3090 ) in the barrier close processing operation when reverse rotation driving from the TELE wait position toward the stopper (movement from right to left in FIG. 77) is carried out as shown in FIG. 77. Therefore, when the gears  141 ,  143  (see FIG. 10) are in mesh during the first speed control operation, the sound generated upon meshing can be lowered.  
     [0709] When the focus (second lens group  102 ) is driven to rotate normally so as to close the barrier, the barrier lock timer (BARI_LOCK timer: 2 seconds) is started, and the focus drive processing operation is terminated if the barrier lock timer is overtime. Therefore, even when there are HIGH and LOW inputs into the terminal LPIIN due to minute vibrations upon normal and reverse rotations in the case where the barrier driving ring  81  abuts against the barrier stopper formed at the leading end part of the third cylinder  6 , the processing operation can be terminated reliably.  
     [0710] In the barrier close processing operation, after the barrier is closed by driving the focus to rotate normally, the focus is moved away from the barrier (stopper  6   b ; see FIG. 9) in order to release the creep as shown in FIGS. 76 and 77. Consequently, the barrier driving ring  81  abutting against the stopper  6   b  can securely be prevented from being damaged by creeping when pressed by the barrier stopper for a long period of time.  
     [0711] When the terminal LHPIN is at L (S 3148 ) after the focus is driven to rotate in reverse, the focus is driven again to rotate in reverse. Consequently, even in the case where chattering is generated in the output of the terminal LHPIN when passing the HP from the TELE wait position as shown in FIG. 77, for example, the focus can securely be moved toward the stopper. Also, it is not necessary to use a Schmitt circuit having a hysteresis as the output detection circuit for the terminal LHPIN, whereby the output detection circuit can be made inexpensive.  
     [0712] When the second lens group  102  (focus) is driven from the WIDE wait position to rotate in reverse, the pulse drive control at a lower speed is carried out as shown in FIG. 76 after the HP (home position) serving as a reference position is detected. Consequently, the second lens group  102  can be prevented from colliding with the stopper due to its impetus upon movement, whereby gears can be kept from meshing with each other upon the collision and failing to rotate in reverse, which might have become a severe failure, for example.  
     [0713] Though the barrier driving ring  81  is moved away from the stopper  6   b  after being brought into contact therewith in the above-mentioned barrier processing operation, the camera in accordance with the present invention is not limited thereto, and may prevent creeping damages from occurring when moving movable members other than the barrier driving ring  81 . For example, after the lens barrel is brought into contact with the stopper to stop in the course of expanding or collapsing the lens barrel, the lens barrel may be moved in reverse so as to go away from the stopper. In this case, the lens barrel can securely be prevented from being damaged by creeping when pressed by the barrier stopper for a long period of time.  
     [0714] Individual barrier closing focus drive processing operations in the barrier close processing operation will now be explained.  
     [0715] The barrier first speed control L start drive processing operation shown in FIG. 85 is the operation carried out at S 3310  in FIG. 84 in the barrier close processing operation. In the barrier first speed control L start drive processing operation, as shown at S 3500  in FIG. 85, HP detection is reset. Subsequently, it is determined whether 0 is set as the focus count  1  or not (S 3502 ). If it is determined that 0 is set as the focus count  1 , then the flow shifts to the barrier second speed control L start drive processing operation shown in FIG. 87. If it is determined that 0 is not set as the focus count  1 , then falling is set as the event counter mode (S 3504 ).  
     [0716] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3506 ). If it is determined not, then focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the PI measurement timer (S 3508 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the PI measurement timer (S 3510 ).  
     [0717] Subsequently, a time of 200 ms is set as the LPIIN overtime (S 3512 ), and it is determined whether the terminal LPIIN is at H or not (S 3514 ). If it is determined that the terminal LPIIN is at H, then it is determined whether 0 is set as the event count or not (S 3516 ). If it is determined that 0 is set as the event count, then the flow shifts to the barrier second speed control H start drive processing operation in FIG. 88.  
     [0718] If it is determined that 0 is not set as the event count, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 3518 ). If it is determined that the PI measurement timer is overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3520 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 3526 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3522 ).  
     [0719] Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are placed into their energized state (S 3524 ). Then, the flow shifts to S 3526 , where the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the PI measurement timer, and the flow shifts to S 3564  in FIG. 86.  
     [0720] If it is determined at S 3518  that the PI measurement timer is not overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3528 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 3534 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3530 ).  
     [0721] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3532 ). Then, the flow shifts to S 3534 , where the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the PI measurement timer, and the flow shifts to S 3564  in FIG. 86.  
     [0722] If it is determined at S 3514  that the terminal LPIIN is not at H, then the flow shifts to S 3536 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the barrier lock timer is overtime or not (S 3538 ). If it is determined that the barrier lock timer is overtime, then the barrier lock overtime is set (S 3540 ), and the processing operation is terminated.  
     [0723] If it is determined that the barrier lock timer is not overtime, then it is determined whether the LPIIN timer is overtime or not (S 3542 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 3544 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, then it is determined whether the PI measurement timer is overtime or not (S 3546 ).  
     [0724] If it is determined at S 3546  that the PI measurement timer is not overtime, then the flow returns to S 3514 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 3548 ). If it is determined that the brake output state is not attained, then the flow returns to S 3514 .  
     [0725] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3550 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 3551 ). Subsequently, the flow returns to S 3514 .  
     [0726]FIG. 86 shows a flowchart of the barrier first speed control H start drive processing operation.  
     [0727] The barrier first speed control H start drive-processing is the operation carried out at S 3308  in FIG. 84 in the barrier close processing operation. In the barrier first speed control H start drive processing operation, as shown at S 3552  in FIG. 86, HP detection is reset. Subsequently, it is determined whether 0 is set as the focus count  1  or not (S 3554 ). If it is determined that 0 is set as the focus count  1 , then the flow shifts to the barrier second speed control H start drive processing operation shown in FIG. 88. If it is determined that 0 is not set as the focus count  1 , then rising is set as the event counter mode (S 3556 ).  
     [0728] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3558 ). If it is determined not, then focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the PI measurement timer (S 3560 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the PI measurement timer (S 3562 ).  
     [0729] Subsequently, the flow shifts to S 3564 , where a time of 200 ms is set as the LPIIN overtime. Thereafter, it is determined whether the terminal LPIIN is at L or not (S 3566 ). If it is determined that the terminal LPIIN is at L, then it is determined whether 0 is set as the event count or not (S 3568 ). If it is determined that 0 is set as the event count, then the flow shifts to the barrier second speed control L start drive processing operation in FIG. 87. If it is determined that 0 is not set as the event count, by contrast, then the flow shifts to S 3512  in FIG. 85.  
     [0730] If it is determined at S 3566  that the terminal LPIIN is not at L, then the flow shifts to S 3570 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the barrier lock timer is overtime or not (S 3572 ). If it is determined that the barrier lock timer is overtime, then the barrier lock overtime is set (S 3574 ), and the processing operation is terminated.  
     [0731] If it is determined that the barrier lock timer is not overtime, then it is determined whether the LPIIN timer is overtime or not (S 3576 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 3578 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, then it is determined whether the PI measurement timer is overtime or not (S 3580 ).  
     [0732] If it is determined at S 3580  that the PI measurement timer is not overtime, then the flow returns to S 3566 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 3582 ). If it is determined that the brake output state is not attained, then the flow returns to S 3566 .  
     [0733] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3584 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 3586 ). Subsequently, the flow returns to S 3566 .  
     [0734]FIG. 87 shows a flowchart of the barrier second speed control L start drive processing operation.  
     [0735] In the barrier second speed control L start drive processing operation, as shown at S 3588  in FIG. 87, it is determined whether 0 is set as the focus count  2  or not. If it is determined that 0 is set as the focus count  2 , then the flow shifts to the barrier pulse drive control L start drive processing operation in FIG. 89. If it is determined not, by contrast, then the focus count  2  is set as the focus count (S 3590 ).  
     [0736] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3592 ). If it is determined not, then focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer (S 3594 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer (S 3596 ).  
     [0737] Subsequently, a time of 200 ms is set as the LPIIN overtime (S 3598 ), and it is determined whether the terminal LPIIN is at H or not (S 3600 ). If it is determined that the terminal LPIIN is at H, then 1 is subtracted from the focus count (S 3602 ), and it is determined whether 0 is set as the focus count or not (S 3604 ). If it is determined that 0 is set as the focus count, then the flow shifts to the barrier pulse drive control H start drive processing operation in FIG. 90.  
     [0738] If it is determined that 0 is not set as the focus count, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 3606 ). If it is determined that the PI measurement timer is overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3616 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 3622 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3618 ).  
     [0739] Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are placed into their energized state (S 3620 ). Then, the flow shifts to S 3622 , where the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer, and the flow shifts to S 3652  in FIG. 88.  
     [0740] If it is determined at S 3606  that the PI measurement timer is not overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3608 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 3614 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3610 ).  
     [0741] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3612 ). Then, the flow shifts to S 3614 , where the focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer, and the flow shifts to S 3652  in FIG. 88.  
     [0742] If it is determined at S 3600  that the terminal LPIIN is not at H, then the flow shifts to S 3624 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the barrier lock timer is overtime or not (S 3626 ). If it is determined that the barrier lock timer is overtime, then the barrier lock overtime is set (S 3628 ), and the processing operation is terminated.  
     [0743] If it is determined that the barrier lock timer is not overtime, by contrast, then it is determined whether the LPIIN timer is overtime or not (S 3630 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 3632 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, then it is determined whether the PI measurement timer is overtime or not (S 3634 ).  
     [0744] If it is determined at S 3634  that the PI measurement timer is not overtime, then the flow returns to S 3600 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 3636 ). If it is determined that the brake output state is not attained, then the flow returns to S 3600 .  
     [0745] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3638 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 3640 ). Subsequently, the flow returns to S 3600 .  
     [0746]FIG. 88 shows a flowchart of the barrier second speed control H start drive processing operation.  
     [0747] In the barrier second control H start drive processing operation, as shown at S 3642  in FIG. 88, it is initially determined whether 0 is set as the focus count  2  or not. If it is determined that 0 is set as the focus count  2 , then the flow shifts to the barrier pulse speed control H start drive processing operation shown in FIG. 90. If it is determined that 0 is not set as the focus count  2 , by contrast, then the focus count  2  is set as the focus count (S 3644 ).  
     [0748] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3646 ). If it is determined not, then the focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer (S 3648 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer (S 3650 ).  
     [0749] Subsequently, the flow shifts to S 3652 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at L or not (S 3654 ). If it is determined that the terminal LPIIN is at L, then 1 is subtracted from the focus count (S 3656 ), and it is determined whether 0 is set as the event count or not (S 3658 ). If it is determined that 0 is set as the event count, then the flow shifts to the barrier pulse drive control L start drive processing operation in FIG. 89. If it is determined that  0  is not set as the event count, by contrast, then the flow shifts to S 3598  in FIG. 87.  
     [0750] If it is determined at S 3654  that the terminal LPIIN is not at L, then the flow shifts to S 3660 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the barrier lock timer is overtime or not (S 3662 ). If it is determined that the barrier lock timer is overtime, then the barrier lock overtime is set (S 3664 ), and the processing operation is-terminated.  
     [0751] If it is determined that the barrier lock timer is not overtime, then it is determined whether the LPIIN timer is overtime or not (S 3666 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 3668 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, then it is determined whether the PI measurement timer is overtime or not (S 3670 ).  
     [0752] If it is determined at S 3670  that the PI measurement timer is not overtime, then the flow returns to S 3654 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 3672 ). If it is determined that the brake output state is not attained, then the flow returns to S 3654 .  
     [0753] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3674 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 3676 ). Subsequently, the flow returns to S 3654 .  
     [0754]FIG. 89 shows a flowchart of the barrier pulse drive control L start drive processing operation.  
     [0755] In the barrier pulse drive control L start drive processing operation, as shown at S 3678  in FIG. 89, focus count pulse is set as the focus count. Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3680 ). If it is determined not, then focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 3682 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 3684 ).  
     [0756] Subsequently, a time of 200 ms is set as the LPIIN overtime (S 3686 ), and it is determined whether the terminal LPIIN is at H or not (S 3688 ). If it is determined that the terminal LPIIN is at H, then 1 is subtracted from the focus count (S 3690 ), and it is determined whether 0 is set as the focus count or not (S 3692 ). If it is determined that 0 is set as the focus count, then the HL flag of LPIIN is set (S 3694 ), and the processing operation is terminated.  
     [0757] If it is determined that 0 is not set as the focus count, by contrast, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3696 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 3702 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3698 ).  
     [0758] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3700 ). Then, the flow shifts to S 3702 , where the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer, and further to S 3738  in FIG. 90.  
     [0759] If it is determined at S 3688  that the terminal LPIIN is not at H, then the flow shifts to S 3704 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the barrier lock timer is overtime or not (S 3706 ). If it is determined that the barrier lock timer is overtime, then the barrier lock overtime is set (S 3708 ), and the processing operation is terminated.  
     [0760] If it is determined that the barrier lock timer is not overtime, then it is determined whether the LPIIN timer is overtime or not (S 3710 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 3712 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, then it is determined whether the PI measurement timer is overtime or not (S 3714 ).  
     [0761] If it is determined at S 3714  that the PI measurement timer is not overtime, then the flow returns to S 3688 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 3716 ).  
     [0762] If it is determined at S 3716  that the brake output state is not attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3718 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3720 ), and the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 3722 ). Then, the flow returns to S 3688 .  
     [0763] If it is determined at S 3716  that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3724 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 3726 ). Subsequently, the focus drive energizing time (E_T__BARIMON) is set as the PI measurement timer (S 3728 ). Thereafter, the flow returns to S 3688 .  
     [0764]FIG. 90 shows a flowchart of the barrier pulse drive control H start drive processing operation.  
     [0765] In the barrier pulse drive control H start drive processing operation, as shown at S 3730  in FIG. 90, the focus count pulse is set as the focus count. Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3732 ). If it is determined not, then focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 3734 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 3736 ).  
     [0766] Subsequently, the flow shifts to S 3738 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at L or not (S 3740 ). If it is determined that the terminal LPIIN is at L, then 1 is subtracted from the focus count (S 3742 ), and it is determined whether 0 is set as the focus count or not (S 3744 ). If it is determined that 0 is set as the focus count, then the HL flag of LPIIN is set (S 3746 ), and the processing operation is terminated.  
     [0767] If it is determined that 0 is not set as the focus count, by contrast, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 3748 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 3754 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3750 ).  
     [0768] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3752 ). Then, the flow shifts to S 3754 , where the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer, and further to S 3686  in FIG. 89.  
     [0769] If it is determined at S 3740  that the terminal LPIIN is not at L, then the flow shifts to S 3756 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the barrier lock timer is overtime or not (S 3758 ). If it is determined that the barrier lock timer is overtime, then the barrier lock overtime is set (S 3760 ), and the processing operation is terminated.  
     [0770] If it is determined that the barrier lock timer is not overtime, then it is determined whether the LPIIN timer is overtime or not (S 3762 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 3764 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, then it is determined whether the PI measurement timer is overtime or not (S 3766 ).  
     [0771] If it is determined at S 3766  that the PI measurement timer is not overtime, then the flow returns to S 3740 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 3768 ).  
     [0772] If it is determined at S 3768  that the brake output state is not attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3770 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 3772 ), and the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 3774 ). Then, the flow returns to S 3740 .  
     [0773] If it is determined at S 3768  that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 3776 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 3778 ). Subsequently, the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 3780 ). Thereafter, the flow returns to S 3740 .  
     [0774] The barrier open processing operation will now be explained.  
     [0775] The barrier open processing operation is carried out as an operation of the open processing operation performed upon manipulating the main switch  16  (see FIG. 34), and is an operation for driving the motor  95  of the focus driving section  221  in order to open the barrier  83 .  
     [0776]FIG. 91 shows an operational view for explaining the barrier open processing operation, whereas FIGS.  92  to  96  show flowcharts of the barrier open processing operation.  
     [0777] In the barrier close processing operation, as shown at S 4000  in FIG. 92, a drive preparation processing operation is initially carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive. Subsequently, the flow shifts to S 4002 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Then, the terminal LHPIN is set as the input port (S 4004 ) and, after a wait of 10 ms (S 4006 ), the voltage output to the focus motor is enabled (S 4008 ).  
     [0778] Subsequently, after a wait of 1 ms (S 4010 ), the operation mode of CPU  200  is set to the high speed mode (S 4012 ). Then, the lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 4014 ), the lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 4016 ), the focus error is reset (S 4018 ), and the HP (home position) detection is reset (S 4020 ).  
     [0779] Thereafter, the flow shifts to S 4022 , where it is determined whether  00 h is set as the barrier operating focus drive energizing time (E_T_BARIMON) or not. If it is determined not, then doubled barrier operating focus drive energizing time (E_T_BARIMON) is set as the focus energizing time (S 4024 ). Subsequently, the flow shifts to S 4036 .  
     [0780] If it is determined that  00 h is set as the barrier operating focus drive energizing time, by contrast, then the flow shifts to S 4026 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T_LD 2 MONH) is set as the focus energizing time (S 4030 ).  
     [0781] If it is determined at S 4026  that the measured temperature is not at least the high-temperature set temperature, by contrast, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not (S 4028 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 4034 ). If it is determined not, by contrast, then room-temperature focus drive energizing time data (E_T__LD 2 MONM) is set as the focus energizing time (S 4032 ).  
     [0782] Subsequently, the flow shifts to S 4036 , where doubled focus drive brake time data (E_T__LD 2 BRAKE) is set as the focus brake time. Then, the input of the terminal LHPIN is readout (S 4038 ). Thereafter, the HP falling is set (S 4040 ).  
     [0783] Subsequently, it is determined whether the terminal LHPIN is at H or not (S 4042 ). If it is determined that the terminal LHPIN is not at H, then a focus initial processing operation is carried out (S 4044 ). The focus initial processing operation will be explained later in detail. Then, the barrier open processing operation is terminated.  
     [0784] If it is determined that the terminal LPIIN is at H, then 0 is set as the focus count  0  (S 4046 ). Subsequently, 0 is set as the focus count  1  (S 4048 ), 0 is set as the focus count  2  (S 4050 ), 0 is set as the focus count pulse (S 4052 ), 0 is set as the focus count HP (S 4054 ), and 0 is set as the focus count SUM (S 4056 ).  
     [0785] Here, the “focus count  0 ,” “focus count  1 ,” “focus count  2 ,” “focus count pulse,” “focus count HP,” and “focus count SUM” are similar to those in the above-mentioned second lens drive processing operation.  
     [0786] Subsequently, the flow shifts to S 4058  in FIG. 93, where 0 is set as the focus count  0 . Then, focus drive HP count data (E_P_HP) is set as the focus count HP (S 4060 ). Thereafter, the sum of the focus drive HP count data (E_P_HP), LHPIN rising barrier stop pitch count data (D_P_BARRIER), barrier open processing pitch count correction data (E_P_BARI_OP_HOSEI), and focus drive HP detection margin pitch count data (D_P_MARGIN) minus creep release pitch count data (D_P_BARI_REV) is set as the focus count SUM (S 4062 ).  
     [0787] Subsequently, the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, 20 is added thereto, thus obtained value is subtracted from the focus count SUM, and the resulting value is set as the focus count  1  (S 4064 ).  
     [0788] Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 4066 ). If it is determined that the focus count  1  is not at most 0, then the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted therefrom, and thus obtained value is set as the focus count  2  (S 4068 ).  
     [0789] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4070 ). Then, doubled focus drive first speed count data (L_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 4072 ). Subsequently, it is determined whether there is a remainder or not (S 4074 ). If it is determined that there is a remainder, then the sum of the focus count  1  and the remainder is set as the focus count  2  (S 4076 ), and the flow shifts to S 4078 .  
     [0790] If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 4078 , where the focus count  1  is set as the event count. Subsequently, the value obtained when focus drive first speed deceleration time (E_T_LN 1 _HOSEI) is added to focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) (S 4080 ). Thereafter, the value obtained when the focus drive first speed deceleration time (E_T_LN 1 _HOSEI) is added to focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) (S 4082 ). Subsequently, the flow shifts to S 4100  in FIG. 94.  
     [0791] If it is determined at S 4066  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 4084 ).  
     [0792] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 4086 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4088 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 4100  in FIG. 94.  
     [0793] If it is determined at S 4086  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 4092 ).  
     [0794] Subsequently, the flow shifts to S 4094 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 4216  in FIG. 96. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 4096 ), and 0 is set as the focus count  2  (S 4098 ). Then, the flow shifts to S 4100  in FIG. 94.  
     [0795] At S 4100 , the terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out, and it is determined whether the terminal LPIIN is at L or not (S 4102 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 4106 ). If it is determined that the terminal LPIIN is not at L, by contrast, then the HL flag of the terminal LPIIN is set (S 4104 ).  
     [0796] Subsequently, the flow shifts to S 4108 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out driving in reverse (S 4110 ).  
     [0797] Thereafter, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4112 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 4116 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 4114 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0798] Subsequently, the flow shifts to S 4118 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 4130 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 4120 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 4122 ).  
     [0799] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4124 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 4128 ). If it is determined that the HL flag of the terminal LPIIN is not set, then a braking pitch count measurement L start drive processing operation is carried out (S 4126 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0800] Subsequently, the flow shifts to S 4130 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the flow shifts to S 4132 , where a readout processing operation for the EEPROM  218  is carried out. In this readout processing operation, the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) and focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) are read out and set to their original values.  
     [0801] Subsequently, it is determined whether the HP detection flag is reset or not (S 4134 ). If it is determined that the HP detection flag is reset, then the barrier open (BARI_OPEN) error is set (S 4136 ), and the flow shifts to S 4212  in FIG. 96.  
     [0802] If it is determined at S 4134  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 4138 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 4212  in FIG. 96. If it is determined that the LPIIN overtime is not set, by contrast, then the flow shifts to S 4140  in FIG. 95.  
     [0803] At S 4140 , a readout processing operation for the terminal LHPIN is carried out. Subsequently, the HP rising is set (S 4142 ), and it is determined whether the terminal LHPIN is at L or not (S 4144 ). If it is determined that the terminal LHPIN is not at L, by contrast, then the flow shifts to S 4212  in FIG. 96. If it is determined that the terminal LHPIN is at L, then the flow shifts to S 4146 .  
     [0804] At S 4146 , the sum of the focus drive HP count data (E_P_HP), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count  0 . Subsequently, 0 is set as the focus count HP (S 4148 ), and focus wait position pitch count data (EP_TAIKI) is set as the focus count SUM (S 4150 ).  
     [0805] Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 4152 ).  
     [0806] Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 4154 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 4156 ).  
     [0807] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4158 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 4160 ). Subsequently, it is determined whether there is a remainder or not (S 4162 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 4164 ), and the flow shifts to S 4166 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 4166 , where the focus count  1  is set as the event count. Then, the flow shifts to S 4184  in FIG. 96.  
     [0808] If it is determined at S 4154  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 4168 ).  
     [0809] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 4170 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4172 ). Subsequently, 0 is set as the focus count  1  (S 4174 ), and the flow shifts to S 4184  in FIG. 96.  
     [0810] If it is determined at S 4170  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 4176 ).  
     [0811] Subsequently, the flow shifts to S 4178 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 4212  in FIG. 96. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 4180 ), and 0 is set as the focus count  2  (S 4182 ). Then, the flow shifts to S 4184  in FIG. 96.  
     [0812] At S 4184 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 4186 ).  
     [0813] Then, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4188 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 4192 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 4190 ). The zero-order control H and L start drive processing operations will be explained later in detail.  
     [0814] Subsequently, the flow shifts to S 4194 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 4206 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 4196 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 4198 ).  
     [0815] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4200 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 4204 ). If it is determined not, then a braking pitch count measurement L start drive processing operation is carried out (S 4202 ). The braking pitch count measurement H and L start drive processing operation will be explained later in detail.  
     [0816] Subsequently, the flow shifts to S 4206 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 4208 ). If it is determined that the HP detection flag is reset, then the barrier wait (BARI_TAIKI) error is set (S 4210 ), and the flow shifts to S 4212 .  
     [0817] At S 4212 , the focus error is set. Subsequently, the lens barrel error is set (S 4214 ), and the recovery inhibition is set (S 4216 ). Subsequently, the flow shifts to S 4222 .  
     [0818] If it is determined at S 4208  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 4218 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 4212 . If it is determined that the LPIIN overtime is not set, then the open code is set as the main switch state (S 4220 ). Subsequently, the flow shifts to S 4222 .  
     [0819] At S 4222 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Subsequently, the terminal LHPIN is set as the output port (S 4224 ). Then, after a wait of 2 ms (S 4226 ), the focus power is reset (S 4228 ), the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 4230 ), the operation mode of the CPU  200  is set to a medium speed mode (S 4232 ), and a focus error EEPROM writing processing operation is carried out (S 4234 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0820] After the focus error EEPROM writing processing operation, the barrier open processing operation is terminated.  
     [0821] As in the foregoing, when the second lens group  102  (focus) is driven to rotate in reverse, the pulse drive control at a lower speed is carried out in the barrier open processing operation as shown in FIG. 91 after the HP (home position) serving as a reference position is detected. Consequently, the second lens group  102  can be prevented from colliding with the stopper due to its impetus upon movement, whereby gears can be kept from meshing with each other upon the collision and failing to rotate in reverse, which might have become a severe failure, for example.  
     [0822] The focus TELE wait movement processing operation will now be explained.  
     [0823]FIG. 97 shows an operational chart for explaining the focus TELE wait movement processing operation. FIGS.  98  to  102  show flowcharts of the focus TELE wait movement processing operation.  
     [0824] As shown in FIG. 97, the focus TELE wait movement processing operation is an operation by which, when the lens barrel position is moved to Z 3  or further from Z 1  or Z 2  upon manipulating the TELE switch  19 , the second lens group  102  (focus) is moved from the WIDE wait position to the TELE wait position.  
     [0825] In the focus TELE wait movement processing operation, as shown at S 4300  in FIG. 98, a drive preparation processing operation is initially carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive. Then, the flow shifts to S 4302 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Thereafter, the terminal LHPIN is set as the input port (S 4304 ) and, after a wait of 10 ms (S 4306 ), the voltage output to the focus motor is enabled (S 4308 ).  
     [0826] Subsequently, after a wait of 1 ms (S 4310 ), the operation mode of CPU  200  is set to the high speed mode (S 4312 ). Then, the lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 4314 ), the lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 4316 ), the focus error is reset (S 4318 ), and the HP (home position) detection is reset (S 4320 ).  
     [0827] Thereafter, the flow shifts to S 4322 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T_LD 2 MONH) is set as the focus energizing time (S 4324 ).  
     [0828] If it is determined at S 4322  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not(S 4326 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 4330 ). If it is determined that the measured temperature is not at most the low-temperature set temperature, by contrast, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 4328 ).  
     [0829] In the high-temperature focus drive energizing time data (E_T_LD 2 MONH), a time shorter than that in the room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set. In the room-temperature focus drive energizing time data (E_T_LD 2 MONM), a time shorter than that in the low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set.  
     [0830] Subsequently, the flow shifts to S 4332 , where focus drive brake time data (E_T_LD 2 BRAKE) is set as the focus brake time. Then, the input of the terminal LHPIN is read out (S 4334 ). Thereafter, HP falling is set (S 4342 ).  
     [0831] Subsequently, it is determined whether the terminal LHPIN is at H or not (S 4343 ). If it is determined that the LHPIN is not at H, then the flow shifts to S 4524  in FIG. 102. If it is determined that the terminal LHPIN is at H, by contrast, then the flow shifts to S 4344 .  
     [0832] At S 4344 , 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 4346 ), 0 is set as the focus count  2  (S 4348 ), 0 is set as the focus count pulse (S 4350 ), 0 is set as the focus count HP (S 4352 ), and 0 is set as the focus count SUM (S 4354 ).  
     [0833] Here, the “focus count  0 ,” “focus count  1 ,” “focus count  2 ,” “focus count pulse,” “focus count HP,” and “focus count SUM” are similar to those in the above-mentioned second lens drive processing operation.  
     [0834] Subsequently, the flow shifts to S 4356  in FIG. 99, where 0 is set as the focus count  0 . Then, focus drive HP count data (E_P_HP) is set as the focus count HP (S 4358 ). Thereafter, the sum of the focus drive HP count data (E_PHP), focus wait position pitch count data (E_P_TAIKI), focus drive backlash count data (E_P_FCGB), and focus drive HP detection margin pitch count data (D_P_MARGIN) is set as the focus count SUM (S 4360 ).  
     [0835] Subsequently, the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, 20 is added thereto, thus obtained value ((E_P_LD 2 N 1 *2)+20) is subtracted from the focus count SUM, and the resulting value is set as the focus count  1  (S 4362 ).  
     [0836] Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 4364 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 4366 ).  
     [0837] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4368 ).  
     [0838] Subsequently, the flow shifts to S 4376 , where doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1 . Then, it is determined whether there is a remainder or not (S 4378 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 4380 ), and the flow shifts to S 4382 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 4382 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 4410  in FIG. 100.  
     [0839] If it is determined at S 4364  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 4384 ).  
     [0840] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 4386 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4388 ). Subsequently, the flow shifts to S 4396 , where 0 is set as the focus count  1 . Then, the flow shifts to S 4410  in FIG. 100.  
     [0841] If it is determined at S 4386  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 4398 ).  
     [0842] Subsequently, the flow shifts to S 4400 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is not at most 0, then 0 is set as the focus count  1  (S 4402 ). Thereafter, the focus count pulse is set as the focus count  2  (S 4406 ). Subsequently, the flow shifts to S 4410  in FIG. 100.  
     [0843] If it is determined at S 4400  that the focus count pulse is at most 0, then it is considered abnormal, whereby the flow shifts to S 4524  in FIG. 102.  
     [0844] The terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out at S 4410  in FIG. 100, and it is determined whether the terminal LPIIN is at L or not (S 4412 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 4416 ). If it is determined that the terminal LPIIN is not at L, by contrast, then the HL flag of the terminal LPIIN is set (S 4414 ).  
     [0845] Subsequently, the flow shifts to S 4418 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out driving in reverse (S 4420 ).  
     [0846] Thereafter, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4422 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 4426 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 4424 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0847] Subsequently, the flow shifts to S 4428 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 4440 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 4430 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 4432 ).  
     [0848] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4434 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 4438 ). If it is determined that the HL flag of the terminal LPIIN is not set, then a braking pitch count measurement L start drive processing operation is carried out (S 4436 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0849] Subsequently, the flow shifts to S 4440 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 4442 ). If it is determined that the HP detection flag is reset, then the HP error of TELE wait driving is set (S 4444 ), and the flow shifts to S 4524  in FIG. 102.  
     [0850] If it is determined at S 4442  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 4446 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 4524  in FIG. 102. If it is determined that the LPIIN overtime is not set, by contrast, then the flow shifts to S 4448  in FIG. 101.  
     [0851] At S 4448 , a readout processing operation for the terminal LHPIN is carried out. Subsequently, the HP rising is set (S 4456 ). Then, it is determined whether the terminal LHPIN is at L or not (S 4458 ). If it is determined that the terminal LHPIN is not at L, then the flow shifts to S 4524  in FIG. 102. If it is determined that the terminal LHPIN is at L, by contrast, then the flow shifts to S 4460 .  
     [0852] At S 4460 , the sum of the focus drive HP count data (E_P_HP), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count  0 . Subsequently, 0 is set as the focus count HP (S 4462 ), and the sum of the focus drive HP “H” section pitch count data (E_P_HP_H) and focus wait position pitch count data (E_P_TAIKI) is set as the focus count SUM (S 4464 ).  
     [0853] Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 4466 ). Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 4468 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 4470 ).  
     [0854] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4472 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 4473 ).  
     [0855] Subsequently, it is determined whether there is a remainder or not (S 4474 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 4476 ), and the flow shifts to S 4478 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 4478 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 4496  in FIG. 102.  
     [0856] If it is determined at S 4468  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 4480 ).  
     [0857] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 4482 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 4484 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 4496  in FIG. 102.  
     [0858] If it is determined at S 4482  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 4488 ).  
     [0859] Subsequently, the flow shifts to S 4490 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 4524  in FIG. 102. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 4492 ), and 0 is set as the focus count  2  (S 4494 ). Thereafter, the flow shifts to S 4496  in FIG. 102.  
     [0860] At S 4496 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 4498 ).  
     [0861] Then, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4500 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 4502 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 4501 ). The zero-order control H and L start drive processing operations will be explained later in detail.  
     [0862] Subsequently, the flow shifts to S 4504 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 4516 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 4506 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 4508 ).  
     [0863] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 4510 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 4514 ). If it is determined not, then a braking pitch count measurement L start drive processing operation is carried out (S 4512 ). The braking pitch count measurement H and L start drive processing operations will be explained later in detail.  
     [0864] Subsequently, the flow shifts to S 4516 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 4518 ). If it is determined that the HP detection flag is reset, then the TELE wait error is set (S 4522 ), and the flow shifts to S 4524 .  
     [0865] At S 4524 , the focus error is set. Subsequently, the lens barrel error is set (S 4526 ), and the recovery inhibition is set (S 4528 ). Then, the flow shifts to S 4532 .  
     [0866] If it is determined at S 4518  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 4520 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 4524 . If it is determined that the LPIIN overtime is not set, by contrast, then the flow shifts to S 4532 .  
     [0867] At S 4532 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Subsequently, the terminal LHPIN is set as the output port (S 4534 ). Then, after a wait of 2 ms (S 4536 ), the focus power is reset (S 4538 ), the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 4540 ), the operation mode of the CPU  200  is set to a medium speed mode (S 4542 ), and a focus error EEPROM writing processing operation is carried out (S 4544 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0868] After the focus error EEPROM writing processing operation, the focus TELE wait movement processing operation is terminated.  
     [0869] As in the foregoing, the wait position of the second lens group  102  is changed beforehand according to the lens barrel position, whereby the moving distance of the second lens group for focusing can be shortened at the time of photographing in the focus TELE wait movement processing operation. Therefore, the time parallax upon photographing can be reduced.  
     [0870] When the second lens group  102  (focus) is driven from the WIDE wait position to rotate in reverse, the pulse drive control at a lower speed is carried out as shown in FIG. 97 after the HP (home position) serving as a reference position is detected. Consequently, the second lens group  102  can be prevented from colliding with the stopper due to its impetus upon movement, whereby gears can be kept from meshing with each other upon the collision and failing to rotate in reverse, which might have become a severe failure, for example.  
     [0871] Also, as shown in FIG. 97, the zero-order speed control at a speed lower than that of the first speed control, DC driving, or the like is carried out before the second lens group  102  passes the HP when moved. As a consequence, the HP can be detected precisely. Therefore, the second lens group  102  can be moved precisely upon focusing, whereby the focusing accuracy can be improved.  
     [0872] The focus WIDE wait movement processing operation will now be explained.  
     [0873]FIG. 103 shows an operational chart for explaining the focus WIDE wait movement processing operation. FIGS.  104  to  108  show flowcharts of the focus WIDE wait movement processing operation.  
     [0874] As shown in FIG. 103, the focus WIDE wait movement processing operation is an operation by which, when the lens barrel position is moved to Z 1  or Z 2  from Z 3  to Z 7  upon manipulating the WIDE switch  20 , the second lens group  102  (focus) is moved from the TELE wait position to the WIDE wait position.  
     [0875] In the focus WIDE wait movement processing operation, as shown at S 5000  in FIG. 104, 1 is initially set as the HP (home position) chatter prevention counter. Subsequently, a drive preparation processing operation is carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive (S 5002 ). Then, the flow shifts to S 5004 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Thereafter, the terminal LHPIN is set as the input port (S 5006 ) and, after a wait of 10 ms (S 5008 ), the voltage output to the focus motor is enabled (S 5010 ).  
     [0876] Subsequently, after a wait of 1 ms (S 5012 ), the operation mode of CPU 200  is set to the high speed mode (S 5014 ). The change of the operation mode to the high speed mode is carried out by changing the base clock of the CPU  200 , for example.  
     [0877] Then, the lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 5016 ), the lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 5018 ), the focus error is reset (S 5020 ), and the HP (home position) detection is reset (S 5022 ).  
     [0878] Subsequently, the flow shifts to S 5024 , where it is determined whether the lens barrel position is set at Z 1  or not. If it is determined not, then focus drive brake time data (E_T_LD 2 BRAKE) is set as the focus brake time (S 5025 ).  
     [0879] Thereafter, the flow shifts to S 5030 . If it is determined at S 5024  that the lens barrel position is set at Z 1 , then barrier operating focus brake time (E_T_BARIBRAKE) is set as the focus brake time (S 5026 ). As the barrier operating focus brake time (E_T_BARIBRAKE), a time shorter than the focus drive brake time data (E_T_LD 2 BRAKE) is set.  
     [0880] Subsequently, the flow shifts to S 5028 , where it is determined whether  00 h is set as the barrier operating focus drive energizing time (E_T_BARIMON) or not. If it is determined not, then doubled barrier operating focus drive energizing time (E_T_BARIMON) is set as the focus energizing time (S 5029 ). Subsequently, the flow shifts to S 5040 .  
     [0881] If it is determined that  00 h is set as the barrier operating focus drive energizing time, by contrast, then the flow shifts to S 5030 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T_LD 2 MONH) is set as the focus energizing time (S 5032 ).  
     [0882] If it is determined at S 5030  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not (S 5031 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 5036 ). If it is determined that the measured temperature is not at most the low-temperature set temperature, by contrast, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 5034 ).  
     [0883] In the high-temperature focus drive energizing time data (E_T_LD 2 MONH), a time shorter than that in the room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set. In the room-temperature focus drive energizing time data (E_T_LD 2 MONM), a time shorter than that in the low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set.  
     [0884] Subsequently, the flow shifts to S 5040 , where the input of the terminal LHPIN is read out (S 5042 ). Thereafter, the HP falling is set (S 5042 ). Subsequently, it is determined whether the terminal LHPIN is at L or not. If it is determined that the terminal LHPIN is not at L, then the flow shifts to S 5250  in FIG. 108. If it is determined that the terminal LHPIN is at L, by contrast, then the flow shifts to S 5048 .  
     [0885] At S 5048 , 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 5050 ), 0 is set as the focus count  2  (S 5052 ), and 0 is set as the focus count pulse (S 5054 ). Then, the flow shifts to S 5056 , where 0 is set as the focus count HP, and 0 is set as the focus count SUM (S 5058 ).  
     [0886] Here, the “focus count  0 ,” “focus count  1 ,” “focus count  2 ,” “focus count pulse,” “focus count HP,” and “focus count SUM” are similar to those in the above-mentioned second lens drive processing operation.  
     [0887] Subsequently, the flow shifts to S 5060  in FIG. 105, where 0 is set as the focus count  0 . Then, focus drive HP count data (E_P_HP) is set as the focus count HP (S 5062 ). Thereafter, the sum of the focus drive HP count data (E_P_HP), focus drive HP “H” section pitch count data (E_P_HP_H), focus drive HP focus wait position pitch count data (E_P_TAIKI), focus drive backlash count data (E_P_FCGB), and focus drive HP detection margin pitch count data (D_P_MARGIN) is set as the focus count SUM (S 5064 ).  
     [0888] Subsequently, the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, 20 is added thereto, thus obtained value ((E_P_LD 2 N 1 *2)+20) is subtracted from the focus count SUM, and the resulting value is set as the focus count  1  (S 5070 ).  
     [0889] Thereafter, it is determined whether the focus count  1  is at most 0 or not (S 5072 ). If it is determined that the focus count  1  is not at most 0, then the focus drive first speed count data (E_P_LD 2 N 1 ) is doubled, the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted therefrom, and thus obtained value is set as the focus count  2  (S 5074 ).  
     [0890] Subsequently, the value obtained when focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (EP_LD 2 N 2 ) is set as the focus count pulse (S 5076 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 5078 ). Subsequently, it is determined whether there is a remainder or not (S 5080 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 5082 ), and the flow shifts to S 5084 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 5084 , where the focus count  1  is set as the event count.  
     [0891] Subsequently, it is determined whether the lens barrel position is at Z 1  or not (S 5086 ). If it is determined that the lens barrel position is at Z 1 , then the value obtained when focus drive first speed deceleration time (E_T_LN 1 _HOSEI) is added to the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) (S 5088 ). Thereafter, the value obtained when the focus drive first speed deceleration time (E_T_LN 1 _HOSEI)is added to the focus drive first speed upper limit pulse time (E_T__LD 2 LUN 1 ) is set as the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) (S 5090 ). Subsequently, the flow shifts to S 5108  in FIG. 106.  
     [0892] If it is determined at S 5086  that the previous lens barrel position is not at Z 1 , then the flow shifts to S 5108  in FIG. 106.  
     [0893] If it is determined at S 5072  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 5092 ).  
     [0894] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 5094 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 5096 ). Subsequently, 0 is set as the focus count  1  (S 5098 ), and the flow shifts to S 5108  in FIG. 106.  
     [0895] If it is determined at S 5094  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 5100 ).  
     [0896] Subsequently, the flow shifts to S 5102 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is not at most 0, then 0 is set as the focus count  1  (S 5104 ). Thereafter, 0 is set as the focus count  2  (S 5106 ), and the flow shifts to S 5108  in FIG. 106. If it is determined that the focus count pulse is at most 0, by contrast, then the flow shifts to S 5250  in FIG. 108.  
     [0897] The terminal LPIIN (see FIG. 16) receiving the output of detector  96  is read out at S 5108  in FIG. 106, and it is determined whether the terminal LPIIN is at L or not (S 5110 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 5112 ). If it is determined that the terminal LPIIN is not at L, by contrast, then the HL flag of the terminal LPIIN is set (S 5114 ).  
     [0898] Subsequently, the flow shifts to S 5116 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out driving in reverse (S 5118 ).  
     [0899] Thereafter, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5120 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 5122 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 5124 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0900] Subsequently, the flow shifts to S 5126 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 5138 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 5128 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 5130 ).  
     [0901] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5132 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 5134 ). If it is determined that the HL flag of the terminal LPIIN is not set, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 5136 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0902] Subsequently, the flow shifts to S 5138 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the flow shifts to S 5140 , where a readout processing operation for the EEPROM  218  is carried out. In this readout processing operation, the focus drive first speed upper limit pulse time (E_T__LD 2 LUN 1 ) and focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) are read out and set to their original values.  
     [0903] Subsequently, it is determined whether the HP detection flag is reset or not (S 5142 ). If it is determined that the HP detection flag is reset, then the HP error of WIDE wait driving is set (S 5144 ), and the flow shifts to S 5250  in FIG. 108.  
     [0904] If it is determined at S 5142  that the HP detection flag is not reset, then it is determined whether the LPIIN overtime is set or not (S 5146 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 5250  in FIG. 108. If it is determined not, by contrast, then the flow shifts to S 5162  in FIG. 107.  
     [0905] At S 5162  in FIG. 107, a readout processing operation for the terminal LHPIN is carried out. Subsequently, the HP rising is set (S 5164 ), and it is determined whether the terminal LHPIN is at L or not (S 5166 ). If it is determined that the terminal LHPIN is not at L, then it is determined whether the HP chatter prevention counter is at 0 or not (S 5167 ). If it is determined that the HP chatter prevention counter is at 0, then the flow shifts to S 5250  in FIG. 108. If it is determined that the HP chatter prevention counter is not at 0, by contrast, then 1 is subtracted from the value of HP chatter prevention counter, and the flow shifts to S 5046  in FIG. 104. If it is determined at S 5166  that the terminal LHPIN is at L, then the flow shifts to S 5169 .  
     [0906] At S 5169 , the sum of the focus drive HP count data (E_P_HP), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count  0 . Subsequently, 0 is set as the focus count HP (S 5170 ), and focus wait position pitch count data (EP_TAIKI) is set as the focus count SUM (S 5172 ).  
     [0907] Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 5174 ). Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 5176 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 5178 ).  
     [0908] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 5180 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 5182 ). Subsequently, it is determined whether there is a remainder or not (S 5184 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 5186 ), and the flow shifts to S 5188 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 5188 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 5216  in FIG. 108.  
     [0909] If it is determined at S 5176  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 5190 ).  
     [0910] Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 5192 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 5196 ). Subsequently, 0 is set as the focus count  1 , and the flow shifts to S 5216  in FIG. 108.  
     [0911] If it is determined at S 5192  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 5198 ).  
     [0912] Subsequently, the flow shifts to S 5200 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 5250  in FIG. 108. If it is determined not, by contrast, then 0 is set as the focus count  1  (S 5202 ), and 0 is set as the focus count  2  (S 5204 ). Thereafter, the flow shifts to S 5216  in FIG. 108.  
     [0913] At S 5216 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 5218 ).  
     [0914] Then, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5220 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 5224 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 5222 ). The zero-order control H and L start drive processing operations will be explained later in detail.  
     [0915] Subsequently, the flow shifts to S 5226 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 5242 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 5230 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 5232 ).  
     [0916] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5234 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 5238 ). If it is determined not, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 5236 ). The braking pitch count measurement H and L start drive processing operation will be explained later in detail.  
     [0917] Subsequently, the flow shifts to S 5242 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the HP detection flag is reset or not (S 5244 ). If it is determined that the HP detection flag is reset, then the WIDE wait (W_TAIKI) error is set (S 5248 ).  
     [0918] Thereafter, the flow shifts to S 5250 , where the focus error is set. Subsequently, the lens barrel error is set (S 5252 ), and the recovery inhibition is set (S 5254 ). Then, the flow shifts to S 5256 .  
     [0919] If it is determined at S 5244  that the HP detection flag is not reset, by contrast, then it is determined whether the LPIIN overtime is set or not (S 5246 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 5250 . If it is determined that the LPIIN overtime is not set, then the flow shifts to S 5256 .  
     [0920] At S 5256 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Subsequently, the terminal LHPIN is set as the L output port (S 5258 ). Then, after a wait of 2 ms (S 5260 ), the focus power is reset (S 5262 ), the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 5264 ), the operation mode of the CPU  200  is set to the medium speed mode (S 5266 ), and a focus error EEPROM writing processing operation is carried out (S 5268 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0921] After the focus error EEPROM writing processing operation, the focus WIDE wait movement processing operation is terminated.  
     [0922] As in the foregoing, the wait position of the second lens group  102  is changed beforehand according to the lens barrel position, whereby the moving distance of the second lens group for focusing can be shortened at the time of photographing in the focus WIDE wait movement processing operation. Therefore, the time parallax upon photographing can be reduced.  
     [0923] When the second lens group  102  (focus) is driven from the TELE wait position to rotate in reverse, the pulse drive control at a lower speed is carried out as shown in FIG. 103 after the HP (home position) serving as a reference position is detected. Consequently, the second lens group  102  can be prevented from colliding with the stopper due to its impetus upon movement, whereby gears can be kept from meshing with each other upon the collision and failing to rotate in reverse, which might have become a severe failure, for example.  
     [0924] Also, as shown in FIG. 103, the zero-order speed control at a speed lower than that of the first speed control, DC driving, or the like is carried out before the second lens group  102  passes the HP when moved. As a consequence, the HP can be detected precisely. Therefore, the second lens group  102  can be moved precisely upon focusing, whereby the focusing accuracy can be improved.  
     [0925] The focus initial processing operation will now be explained.  
     [0926]FIGS. 109 and 110 show operational views for explaining the focus initial processing operation, whereas FIGS.  111  to  113  show flowcharts of the focus initial processing operation. FIGS.  114  to  116  show flowcharts of a focus initial movement processing operation which is an operation carried out during the focus initial processing operation.  
     [0927] The focus initial processing operation is an operation (see FIG. 19), carried out in the initial processing upon battery loading, for detecting the position of the second lens group  102  (focus) and driving the motor  95  of the focus driving section  221 , thereby closing the barrier.  
     [0928] In the focus initial processing operation, as shown at S 5500  in FIG. 11, a drive preparation processing operation is initially carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive. Then, the flow shifts to S 5502 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Thereafter, the terminal LHPIN is set as the input port (S 5504 ) and, after a wait of 10 ms (S 5506 ), an LHPIN readout processing operation is carried out (S 5508 ).  
     [0929] Subsequently, it is determined whether the terminal LPIIN is at L or not (S 5510 ). If it is determined that the terminal LPIIN is at L, then a focus initial movement processing operation is carried out (S 5512 ). The focus initial movement processing operation will be explained later in detail. Then, the flow shifts to S 5514 . If it is determined not, by contrast, then the flow directly shifts to S 5514 .  
     [0930] At S 5514 , 1 is initially set as the HP (home position) chatter prevention counter. Subsequently, a drive preparation processing operation is carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive (S 5516 ). Then, the flow shifts to S 5518 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Thereafter, the terminal LHPIN is set as the input port (S 5520 ) and, after a wait of 10 ms (S 5522 ), the voltage output to the focus motor is enabled (S 5524 ).  
     [0931] Subsequently, after a wait of 1 ms (S 5526 ), the operation mode of CPU  200  is set to the high speed mode (S 5528 ). Then, the lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 5530 ), the lens barrel control error code  2  (E ZOOM_ERROR 2 ) is reset (S 5532 ), the focus error is reset (S 5534 ), and the HP (home position) detection is reset (S 5536 ).  
     [0932] Thereafter, the flow shifts to S 5538 , where it is determined whether  00 h is set as the barrier operating focus drive energizing time (E_T_BARIMON) or not. If it is determined not, then doubled barrier operating focus drive energizing time (E_T_BARIMON) is set as the focus energizing time (S 5540 ). Subsequently, the flow shifts to S 5552 .  
     [0933] If it is determined that  00 h is set as the barrier operating focus drive energizing time, by contrast, then the flow shifts to S 5542 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T__LD 2 MONH) is set as the focus energizing time (S 5546 ).  
     [0934] If it is determined at S 5542  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not (S 5544 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 5550 ). If it is determined that the measured temperature is not at most the low-temperature set temperature, by contrast, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 5548 ).  
     [0935] In the high-temperature focus drive energizing time data (E_T_LD 2 MONH), a time shorter than that in the room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set. In the room-temperature focus drive energizing time data (E_T_LD 2 MONM), a time shorter than that in the low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set.  
     [0936] Subsequently, the flow shifts to S 5552 , where focus drive brake time data (E_T_LD 2 BRAKE) is set as the focus brake time. Then, the flow shifts to S 5554  in FIG. 112, where 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 5556 ), 0 is set as the focus count  2  (S 5558 ), and 0 is set as the focus count pulse (S 5560 ).  
     [0937] Thereafter, the HP falling is set (S 5566 ), 0 is set as the focus count  0  (S 5568 ), and 0 is set as the focus count  1  (S 5570 ). Subsequently, focus drive HP count data (E_P_HP) is set as the focus count HP (S 5572 ). Then, the sum of the focus drive HP count data (E_P_HP), focus drive backlash count data (E_P_FCGB), focus drive HP detection margin pitch count data (D_P_MARGIN), and focus driving over-pitch number (C_FCOV) is set as the focus count SUM (S 5574 ).  
     [0938] Subsequently, an LHPIN readout processing operation is carried out (S 5576 ), and it is determined whether the terminal LHPIN is at L or not (S 5578 ). If it is determined that the terminal LHPIN is at L, then the value obtained when pitch count data (D_P_INI_HP_L) at the time of HP detection L is added to the focus count SUM is set as the focus count SUM (S 5582 ).  
     [0939] If it is determined that the terminal LHPIN is not L, by contrast, then the value obtained when focus drive HP “H” section pitch count data (E_P_HP_H) is added to the focus count SUM is set as the focus count SUM (S 5580 ).  
     [0940] Subsequently, the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 5584 ). Thereafter, it is determined whether the focus count  2  is at most 0 or not (S 5586 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 5588 ). Subsequently, the flow shifts to S 5596  in FIG. 113.  
     [0941] If it is determined at S 5586  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 5590 ).  
     [0942] Subsequently, the flow shifts to S 5592 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined that the focus count pulse is not at most 0, then 0 is set as the focus count  2  (S 5594 ), and the flow shifts to S 5596  in FIG. 113. If it is determined that the focus count pulse is at most 0, by contrast, then the flow shifts to S 5640  in FIG. 113.  
     [0943] The terminal LPIIN is read out at S 5596  in FIG. 113, and it is determined whether the terminal LPIIN is at L or not (S 5598 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 5600 ). If it is determined that the terminal LPIIN is not at L, by contrast, then the HL flag of the terminal LPIIN is set (S 5602 ).  
     [0944] Subsequently, the flow shifts to S 5604 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, L, and H, respectively, so as to carry out driving in reverse (S 5606 ).  
     [0945] Thereafter, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5608 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 5610 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 5612 ). The zero-order speed control H and L start drive processing operations will be explained later in detail.  
     [0946] Subsequently, the flow shifts to S 5614 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 5626 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so as to place the motor  95  into the wait state (S 5616 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 5618 ).  
     [0947] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5620 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 5622 ). If it is determined that the HL flag of the terminal LPIIN is not set, by contrast, then a braking pitch count measurement L start drive processing operation is carried out (S 5624 ). The braking pitch count measurement L and H start drive processing operations will be explained later in detail.  
     [0948] Subsequently, the flow shifts to S 5626 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Thereafter, it is determined whether the HP detection flag is reset or not (S 5628 ). If it is determined that the HP detection flag is reset, then the barrier initial (INI) HP error is set (S 5638 ). Subsequently, the flow shifts to S 5640 .  
     [0949] If it is determined at S 5628  that the HP detection flag is not reset, then it is determined whether the LPIIN overtime is set or not (S 5630 ). If it is determined that the LPIIN overtime is not set, then it is determined whether the terminal LHPIN is at L or not (S 5632 ). If it is determined that the terminal LHPIN is at L, then the flow shifts to S 3154  in FIG. 81, whereby a barrier close operation is carried out. If it is determined that the terminal LHPIN is not at L, then it is determined whether the HP chatter prevention counter is at 0 or not (S 5634 ).  
     [0950] If it is determined at S 5634  that the HP chatter prevention counter is at 0, then the flow shifts to S 5638 . If it is determined not, by contrast, then 1 is subtracted from the HP chatter prevention counter, and the flow shifts to S 5516  in FIG. 111.  
     [0951] If it is determined at S 5630  that the LPIIN overtime is set, then the flow shifts to S 5640 .  
     [0952] At S 5640 , the focus error is set. Subsequently, the lens barrel error is set (S 5642 ), and the recovery inhibition is set (S 5644 ). Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state (S 5646 ). Subsequently, the terminal LHPIN is set as the L output port (S 5648 ). Then, after a wait of 2 ms (S 5650 ), the focus power is reset (S 5652 ).  
     [0953] Subsequently, the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 5654 ), the operation mode of the CPU  200  is set to the medium speed mode (S 5656 ), and a focus error EEPROM writing processing operation is carried out (S 5658 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0954] After the focus error EEPROM writing processing operation, the focus initial processing operation is terminated.  
     [0955] The focus initial movement processing operation will now be explained.  
     [0956] In the focus initial movement processing operation, as shown at S 5700  in FIG. 114, a drive preparation processing operation is initially carried out, so that the motor  95  of the focus driving section  221  is selected as the motor to drive. Then, the flow shifts to S 5702 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Thereafter, the terminal LHPIN is set as the input port (S 5704 ) and, after a wait of 10 ms (S 5706 ), the voltage output to the focus motor is enabled (S 5708 ).  
     [0957] Subsequently, after a wait of 1 ms (S 5710 ), the operation mode of CPU 200  is set to the high speed mode (S 5712 ). Then, the lens barrel control error code  1  (E_ZOOM_ERROR 1 ) is reset (S 5714 ), the lens barrel control error code  2  (E_ZOOM_ERROR 2 ) is reset (S 5716 ), the focus error is reset (S 5718 ), and the HP (home position) detection is reset (S 5720 ).  
     [0958] Thereafter, the flow shifts to S 5722 , where it is determined whether  00 h is set as the barrier operating focus drive energizing time (E_T_BARIMON) or not. If it is determined not, then the barrier operating focus drive energizing time (E_T_BARIMON) is set as the focus energizing time (S 5724 ). Subsequently, the flow shifts to S 5736 .  
     [0959] If it is determined that  00 h is set as the barrier operating focus drive energizing time, by contrast, then the flow shifts to S 5726 , where it is determined whether the temperature (TEMP) measured in the power ON/OFF temperature measurement processing operation (see S 112  in FIG. 19) is at least the high-temperature set temperature (E_LD 2 TEMPH) or not. If it is determined that the measured temperature is at least the high-temperature set temperature, then high-temperature focus drive energizing time data (E_T_LD 2 MONH) is set as the focus energizing time (S 5730 ).  
     [0960] If it is determined at S 5726  that the measured temperature is not at least the high-temperature set temperature, then it is determined whether the measured temperature (TEMP) is at most the low-temperature set temperature (E_LD 2 TEMPL) or not (S 5728 ). If it is determined that the measured temperature is at most the low-temperature set temperature, then low-temperature focus drive energizing time data (E_T_LD 2 MONL) is set as the focus energizing time (S 5734 ). If it is determined that the measured temperature is not at most the low-temperature set temperature, by contrast, then room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set as the focus energizing time (S 5732 ).  
     [0961] In the high-temperature focus drive energizing time data (E_T_LD 2 MONH), a time shorter than that in the room-temperature focus drive energizing time data (E_T_LD 2 MONM) is set. In the room-temperature focus drive energizing time data (E_T_LD 2 MONM), a time shorter than that in the low-temperature focus drive energizing time data (E_T__LD 2 MONL) is set.  
     [0962] Subsequently, the flow shifts to S 5736 , where doubled focus drive brake time data (E_T__LD 2 BRAKE) is set as the focus brake time. Then, the flow shifts to S 5738 , where 0 is set as the focus count  0 . Subsequently, 0 is set as the focus count  1  (S 5740 ), 0 is set as the focus count  2  (S 5742 ), 0 is set as the focus count pulse (S 5744 ), 0 is set as the focus count HP (S 5746 ), and 0 is set as the focus count SUM (S 5748 ).  
     [0963] Thereafter, the flow shifts to S 5750  in FIG. 115, where 0 is set as the focus count  0 . Then, 0 is set as the focus count HP (S 5752 ).  
     [0964] Subsequently, the value obtained when focus drive backlash count data (E_P_FCGB) is added to focus initial movement pitch count data (D_P_INI) is set as the focus count SUM. Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) and 20 pitches are subtracted from the focus count SUM, and thus obtained value is set as the focus count  1  (S 5756 ).  
     [0965] Subsequently, it is determined whether the focus count  1  is at most 0 or not (S 5758 ). If it is determined that the focus count  1  is not at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from doubled focus drive first speed count data (E_P_LD 2 N 1 ) is set as the focus count  2  (S 5760 ).  
     [0966] Subsequently, the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 5762 ). Then, doubled focus drive first speed count data (E_P_LD 2 N 1 ) is subtracted from the focus count SUM, thus obtained value is divided by 2, and the resulting value is set as the focus count  1  (S 5764 ).  
     [0967] Subsequently, it is determined whether there is a remainder or not (S 5766 ). If it is determined that there is a remainder, then the value obtained when the remainder is added to the focus count  2  is set as the focus count  2  (S 5768 ), and the flow shifts to S 5770 . If it is determined that there is no remainder, by contrast, then the flow directly shifts to S 5770 , where the focus count  1  is set as the event count. Thereafter, the flow shifts to S 5788  in FIG. 116.  
     [0968] If it is determined at S 5758  that the focus count  1  is at most 0, then the value obtained when the focus drive second speed count data (E_P_LD 2 N 2 ) is subtracted from the focus count SUM is set as the focus count  2  (S 5772 ). Subsequently, it is determined whether the focus count  2  is at most 0 or not (S 5774 ). If it is determined that the focus count  2  is not at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus drive second speed count data (E_P_LD 2 N 2 ) is set as the focus count pulse (S 5776 ). Subsequently, 0 is set as the focus count  1  (S 5778 ), and the flow shifts to S 5788  in FIG. 116.  
     [0969] If it is determined at S 5744  that the focus count  2  is at most 0, then the value obtained when the focus drive brake pitch count data (E_P_FCBRK) is subtracted from the focus count SUM is set as the focus count pulse (S 5780 ).  
     [0970] Subsequently, the flow shifts to S 5782 , where it is determined whether the focus count pulse is at most 0 or not. If it is determined not, then 0 is set as the focus count  1  (S 5784 ). Then, 0 is set as the focus count  2  (S 5786 ), and the flow shifts to S 5788  in FIG. 116. If it is determined that the focus count pulse is at most 0, then the flow shifts to S 5822  in FIG. 116.  
     [0971] At S 5788  in FIG. 116, the terminal LPIIN is read out. Subsequently, it is determined whether the terminal LPIIN is at L or not (S 5790 ). If it is determined that the terminal LPIIN is at L, then the HL flag of the terminal LPIIN is reset (S 5792 ). If it is determined not, then the HL flag of the terminal LPIIN is set (S 5794 ).  
     [0972] Subsequently, the flow shifts to S 5796 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, H, and H, respectively, so as to carry out normal rotation driving (S 5798 ).  
     [0973] Then, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5800 ). If it is determined that the HL flag of the terminal LPIIN is set, then a zero-order speed control H start drive processing operation is carried out (S 5802 ). If it is determined not, by contrast, then a zero-order speed control L start drive processing operation is carried out (S 5804 ). The zero-order control H and L start drive processing operations will be explained later in detail.  
     [0974] Subsequently, the flow shifts to S 5806 , where it is determined whether the LPIIN overtime is set or not. If it is determined that the LPIIN overtime is set, then the flow shifts to S 5818 . If it is determined not, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 5808 ). Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 5810 ).  
     [0975] Subsequently, it is determined whether the HL flag of the terminal LPIIN is set or not (S 5812 ). If it is determined that the HL flag of the terminal LPIIN is set, then a braking pitch count measurement H start drive processing operation is carried out (S 5814 ). If it is determined not, then a braking pitch count measurement L start drive processing operation is carried out (S 5816 ). The braking pitch count measurement H and L start drive processing operation will be explained later in detail.  
     [0976] Subsequently, the flow shifts to S 5818 , where the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state. Then, it is determined whether the LPIIN overtime is set or not (S 5820 ). If it is determined that the LPIIN overtime is set, then the flow shifts to S 5822 .  
     [0977] At S 5822 , the initial (INI) error is set. Subsequently, the flow shifts to S 5824 . If it is determined at S 5820  that the LPIIN overtime is set, then the flow shifts to S 5824 . At S 5824 , the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and L, respectively, so that the motor  95  is placed into the wait state. Subsequently, the terminal LHPIN is set as the L output port (S 5826 ). Then, after a wait of 2 ms (S 5828 ), the focus power is reset (S 5830 ).  
     [0978] Thereafter, the driver ON/OFF terminal CE is set L, so as to place the driver section  219  into the inactive state (S 5832 ), the operation mode of the CPU  200  is set to the medium speed mode (S 5834 ), and a focus error EEPROM writing processing operation is carried out (S 5836 ). The focus error EEPROM writing processing operation is an operation for writing the focus error into the EEPROM  218  after the focus driving. When this operation is carried out, it can easily be seen that an error has occurred upon the focus driving, whereby the camera  2  can be repaired easily.  
     [0979] After the focus error EEPROM writing processing operation, the focus initial movement processing operation is terminated.  
     [0980] As in the foregoing, the position of second lens group  102  (focus) can be detected in the focus initial processing operation according to the input at the terminal LHPIN, whereby the barrier close processing operation can be carried out appropriately according to the position. Here, when the input of terminal LHPIN is at L, it can be detected on which side the second lens group  102  is located if the initial movement (focus initial movement processing operation) is carried out. Therefore, appropriate barrier close processing is possible even when there is no sensor for directly detecting the second lens group  102 .  
     [0981] When moving the second lens group  102  (focus) from the TELE wait position side toward the stopper (from the right side to the left side in FIG. 109), without using the first speed control, the second speed control at a moving speed lower than that of the second speed control is used in the focus initial processing operation as shown in FIGS. 109 and 110. Consequently, the HP can be detected accurately at the terminal LHPIN, whereby the position of second lens group  102  can be detected accurately. Therefore, the accuracy in the focusing thereafter can be improved.  
     [0982] The focus error recovery processing operation will now be explained.  
     [0983] FIGS.  117  to  119  show operational charts for explaining the focus error recovery processing operation. FIG. 120 shows a flowchart of the focus error recovery processing operation.  
     [0984] The focus error recovery processing operation is an operation for recovering from the state where the gears  141 ,  143  (see FIG. 10) are not favorably in mesh when the second lens group  102  is moved to the WIDE wait position and the like.  
     [0985] In the focus error recovery processing operation, as shown at S 6000  in FIG. 120, an encoder check processing operation is initially carried out. Subsequently, it is determined whether the terminals EA, EB are at 1 or not (S 6002 ). If it is determined not, then the processing operation is terminated. If it is determined that both of the terminals EA, EB are at 1, by contrast, then Z 2  is set as the lens barrel stop position (S 6004 ).  
     [0986] Subsequently, a zoom TELE driving operation is carried out, so as to expand the lens barrel  1  from Z 1  to Z 2 . Then, it is determined whether the encoder detection overtime is reached or not (S 6008 ). If it is determined that the PI overtime is reached, then the processing operation is terminated. If it is determined that the encoder detection overtime is not reached, by contrast, then it is determined whether the PI overtime is reached or not (S 6010 ).  
     [0987] If it is determined that the PI overtime is reached, then the processing operation is terminated. If it is determined not, by contrast, then a focus initial movement processing operation is carried out (S 6012 ). The focus initial movement processing operation is an operation for TELE-driving the second lens group  102  (focus) according to predetermined pulse data as shown in FIG. 118. In the focus initial movement processing operation, one of the two gears to be in mesh rotates as the second lens group  102  moves.  
     [0988] Subsequently, the flow shifts to S 6014  in FIG. 120, where a close processing operation is carried out. As mentioned above, the close processing operation is an operation for collapsing the lens barrel  1  to Z 1  (see FIGS. 35 and 36). Thereafter, it is determined whether the encoder detection overtime is reached or not (S 6016 ). If it is determined that the encoder detection overtime is reached, then the processing operation is terminated. If it is determined not, by contrast, then it is determined whether the PI overtime is reached or not (S 6018 ).  
     [0989] If it is determined that the PI overtime is reached, then the processing operation is terminated. If it is determined not, by contrast, then a focus initial HP processing operation is carried out (S 6020 ). The focus initial HP processing operation is a focus initial processing operation without the focus initial movement processing. The focus initial HP processing operation initializes the focus, thereby closing the barrier  83 .  
     [0990] Subsequently, it is determined whether the close code is set as the main switch state (SM state) or not (S 6022 ). If it is determined not, then the processing operation is terminated. If it is determined that the close code is set as the main switch state, by contrast, then E0 is set as the encoder position (S 6024 ), Z0 is set as the lens barrel position (S 6026 ), and the lens barrel error is reset (S 6028 ). Thereafter, the processing operation is terminated.  
     [0991] As in the foregoing, when the gears  141 ,  143  (see FIG. 10) are not favorably in mesh upon collapsing the lens barrel  1 , the lens barrel  1  is expanded as shown in FIG. 117, the second lens group  102  is moved upon driving the motor  95  as shown in FIG. 118, and then the lens barrel  1  is collapsed as shown in FIG. 117, whereby the gears  141 ,  143  can be caused to mesh with each other again in the focus error recovery processing operation. Consequently, when the gears  141 ,  143  are not favorably in mesh with each other, they can recover from malfunctions in operations without being processed as an error, whereby failures of the camera can be reduced.  
     [0992] The focus drive processing operation will now be explained.  
     [0993]FIG. 121 shows a relationship between the species of driving control and the speed in the focus drive processing operation. FIGS.  122  to  131  show flowcharts of the focus drive processing operation.  
     [0994] The focus drive processing operation is a processing operation for driving the motor  95  so as to move the second lens group  102 , in which a zero-order speed control L start drive processing operation, a zero-order speed control H start drive processing operation, a first speed control L start drive processing operation, a first speed control H start drive processing operation, a second speed control L start drive processing operation, a second speed control H start drive processing operation, a pulse drive control L start drive processing operation, a pulse drive control H start drive processing operation, an HP-detection-free pulse drive control L start drive processing operation, and an HP-detection-free pulse drive control H start drive processing operation are carried out.  
     [0995] In the zero-order speed control L start drive processing operation in the focus drive processing operation, as shown at S 6500  in FIG. 122, the HP detection is initially reset. Subsequently, it is determined whether 0 is set as the focus count  0  or not (S 6502 ). If it is determined that 0 is set as the focus count  0 , then the flow shifts to the first speed control L start drive processing operation in FIG. 124. If it is determined not, by contrast, then the focus count 0 is set as the focus count (S 6504 ). Thereafter, the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer (S 6510 ).  
     [0996] Subsequently, the flow shifts to S 6512 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at H or not (S 6514 ). If it is determined that the terminal LPIIN is at H, then 1 is subtracted from the focus count (S 6515 ).  
     [0997] Thereafter, it is determined whether 0 is set as the focus count or not (S 6516 ). If it is determined that 0 is set as the focus count, then the processing operation is terminated.  
     [0998] If it is determined that 0 is set as the focus count, then it is determined whether the PI measurement timer is overtime or not (S 6518 ). If it is determined that the PI measurement timer is overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6520 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 6526 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6522 ).  
     [0999] Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6524 ). Then, the flow shifts to S 6526 , where the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer, and the flow shifts to S 6564  in FIG. 123.  
     [1000] If it is determined at S 6518  that the PI measurement timer is not overtime, by contrast, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6528 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6530 ).  
     [1001] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6532 ). Then, the flow shifts to S 6534 , where the focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer, and the flow shifts to S 6564  in FIG. 123.  
     [1002] If it is determined at S 6514  that the terminal LPIIN is not at H, then the flow shifts to S 6536 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6538 ). If it is determined that the HP detection is set, then the flow shifts to the first speed control L start drive processing operation in FIG. 124.  
     [1003] If it is determined that the HP detection is not set, by contrast, then it is determined whether the LPIIN timer is overtime or not (S 6542 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6544 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6546 ).  
     [1004] If it is determined at S 6546  that the PI measurement timer is not overtime, then the flow returns to S 6514 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6548 ). If it is determined that the brake output state is not attained, then the flow returns to S 6514 .  
     [1005] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6550 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6551 ). Subsequently, the flow returns to S 6514 .  
     [1006]FIG. 123 shows a flowchart of the zero-order speed control H start drive processing operation.  
     [1007] In the zero-order speed control H start drive processing operation, as shown at S 6552  in FIG. 123, the HP detection is initially reset. Subsequently, it is determined whether 0 is set as the focus count  0  or not (S 6554 ). If it is determined that 0 is set as the focus count  0 , then the flow shifts to the first speed control H start drive processing operation in FIG. 125. If it is determined not, by contrast, then the focus count  0  is set as the focus count (S 6556 ). Thereafter, the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer (S 6562 ).  
     [1008] Subsequently, the flow shifts to S 6564 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at L or not (S 6566 ). If it is determined that the terminal LPIIN is at L, then 1 is subtracted from the focus count (S 6567 ).  
     [1009] Thereafter, it is determined whether 0 is set as the focus count or not (S 6568 ). If it is determined that 0 is set as the focus count, then the processing operation is terminated. If it is determined not, by contrast, then the flow shifts to S 6512  in FIG. 122.  
     [1010] If it is determined at S 6566  that the terminal LPIIN is not at L, then the flow shifts to S 6570 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6572 ). If it is determined that the HP detection is set, then the flow shifts to the first speed control H start drive processing operation in FIG..  125 .  
     [1011] If it is determined that the HP detection is not set, by contrast, then it is determined whether the LPIIN timer is overtime or not (S 6576 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6578 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6580 ).  
     [1012] If it is determined at S 6580  that the PI measurement timer is not overtime, then the flow returns to S 6566 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6582 ). If it is determined that the brake output state is not attained, then the flow returns to S 6566 .  
     [1013] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6584 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6586 ). Subsequently, the flow returns to S 6566 .  
     [1014]FIG. 124 shows a flowchart of the first speed control L start drive processing operation.  
     [1015] In the first speed control L start drive processing operation, as shown at S 6602  in FIG. 124, it is initially determined whether 0 is set as the focus count  1  or not. If it is determined that 0 is set as the focus count  1 , then the flow shifts to the second speed control L start drive processing operation in FIG. 126. If it is determined not, by contrast, then the falling is set as the event counter mode (S 6604 ).  
     [1016] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6606 ). If it is determined not, then the focus drive first speed upper limit pulse time (E_T__LD 2 LUN 1 ) is set as the PI measurement timer (S 6608 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the PI measurement timer (S 6610 ).  
     [1017] Subsequently, the flow shifts to S 6612 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at H or not (S 6614 ). If it is determined that the terminal LPIIN is at H, then it is determined whether 0 is set as the event count or not (S 6616 ). If it is determined that 0 is set as the event count, then the flow shifts to the second speed control H start drive processing operation in FIG. 127.  
     [1018] If it is determined that 0 is not set as the event count, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6618 ). If it is determined that the PI measurement timer is overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6620 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 6626 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6622 ).  
     [1019] Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6624 ). Then, the flow shifts to S 6626 , where the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the PI measurement timer, and the flow shifts to S 6664  in FIG. 125.  
     [1020] If it is determined at S 6618  that the PI measurement timer is not overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6628 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 6634 . If it is determined that parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6630 ).  
     [1021] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6632 ). Then, the flow shifts to S 6634 , where the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the PI measurement timer, and further to S 6664  in FIG. 125.  
     [1022] If it is determined at S 6614  that the terminal LPIIN is not at H, then the flow shifts to S 6636 , wherean HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6638 ). If it is determined that the HP detection is set, then it is determined whether the focus count HP is at 0 or not (S 6639 ). If it is determined that the focus count HP is at 0, then the flow shifts to S 6642 . If it is determined that the focus count HP is not at 0, by contrast, then the focus count HP is set as the focus count pulse (S 6640 ). Subsequently, the flow shifts to the HP detection-free pulse drive control L start drive processing operation in FIG. 130.  
     [1023] If it is determined at S 6638  that the HP detection is not set, then it is determined whether the LPIIN timer is overtime or not (S 6642 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6644 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6646 ).  
     [1024] If it is determined at S 6646  that the PI measurement timer is not overtime, then the flow returns to S 6614 . If it is determined that the PI measurement timer is overtime, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6648 ). If it is determined that the brake output state is not attained, then the flow returns to S 6614 .  
     [1025] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6650 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6650 ). Subsequently, the flow returns to S 6614 .  
     [1026]FIG. 125 shows a flowchart of the first speed control H start drive processing operation.  
     [1027] In the first speed control H start drive processing operation, it is initially determined whether the focus count  1  is at 0 or not (S 6654 ). If it is determined that the focus count  1  at 0, then the flow shifts to the second speed control H start drive processing operation in FIG. 127. If it is determined not, by contrast, then the rising is set as the event counter mode (S 6656 ).  
     [1028] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6658 ). If it is determined not, then the focus drive first speed upper limit pulse time (E_T_LD 2 LUN 1 ) is set as the PI measurement timer (S 6660 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive first speed lower limit pulse time (E_T_LD 2 LLN 1 ) is set as the PI measurement timer (S 6662 ).  
     [1029] Subsequently, the flow shifts to S 6664 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at L or not (S 6666 ). If it is determined that the terminal LPIIN is at L, then it is determined whether 0 is set as the event count or not (S 6668 ). If it is determined that 0 is set as the event count, then the flow shifts to the second speed control H start drive processing operation in FIG. 126. If it is determined that  0  is not set as the event count, by contrast, then the flow shifts to S 6612  in FIG. 124.  
     [1030] If it is determined at S 6666  that the terminal LPIIN is not at L, then the flow shifts to S 6670 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6672 ). If it is determined that the HP detection is set, then it is determined whether the focus count HP is at 0 or not (S 6673 ). If it is determined that the focus count HP is at 0, then the flow shifts to S 6676 . If it is determined that the focus count HP is not at 0, then the focus count HP is set as the focus count pulse (S 6674 ). Subsequently, the flow shifts to the HP detection-free pulse drive control H start drive processing operation in FIG. 131.  
     [1031] If it is determined that the HP detection is not set, then it is determined whether the LPIIN timer is overtime or not (S 6676 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6678 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6680 ).  
     [1032] If it is determined at S 6680  that the PI measurement timer is not overtime, then the flow returns to S 6666 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6682 ). If it is determined that the brake output state is not attained, then the flow returns to S 6666 .  
     [1033] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6684 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6686 ). Subsequently, the flow returns to S 6666 .  
     [1034]FIG. 126 shows a flowchart of the second speed control L start drive processing operation.  
     [1035] In the second speed control L start drive processing operation, as shown at S 6688  in FIG. 126, it is initially determined whether 0 is set as the focus count  2  or not. If it is determined that 0 is set as the focus count  2 , then the flow shifts to the pulse drive control L start drive processing operation in FIG. 128. If it is determined not, by contrast, then the focus count  2  is set as the focus count (S 6690 ).  
     [1036] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6692 ). If it is determined not, then the focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer (S 6694 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer (S 6696 ).  
     [1037] Thereafter, a time of 200 ms is set as the LPIIN overtime (S 6698 ), and it is determined whether the terminal LPIIN is at H or not (S 6700 ). If it is determined that the terminal LPIIN is at H, then 1 is subtracted from the focus count (S 6702 ), and it is determined whether 0 is set as the focus count or not (S 6704 ). If it is determined that 0 is set as the focus count, then the flow shifts to the pulse drive control H start drive processing operation in FIG. 129.  
     [1038] If it is determined that 0 is not set as the focus count, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6706 ). If it is determined that the PI measurement timer is overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6716 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the flow shifts to S 6722 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6718 ).  
     [1039] Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6720 ). Then, the flow shifts to S 6722 , where the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer, and the flow shifts to S 6752  in FIG. 127.  
     [1040] If it is determined at S 6706  that the PI measurement timer is not overtime, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6708 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 6714 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6710 ).  
     [1041] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6712 ). Then, the flow shifts to S 6714 , where the focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer, and further to S 6752  in FIG. 127.  
     [1042] If it is determined at S 6700  that the terminal LPIIN is not at H, then the flow shifts to S 6724 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6726 ). If it is determined that the HP detection is set, then it is determined whether the focus count HP is at 0 or not (S 6727 ). If it is determined that the focus count HP is at 0, then the flow shifts to S 6730 . If it is determined that the focus count HP is not at 0, by contrast, then the focus count HP is set as the focus count pulse (S 6728 ). Subsequently, the flow shifts to the HP detection-free pulse drive control L start drive processing operation in FIG. 130.  
     [1043] If it is determined that the HP detection is not set, then it is determined whether the LPIIN timer is overtime or not (S 6730 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6732 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6734 ).  
     [1044] If it is determined at S 6734  that the PI measurement timer is not overtime, then the flow returns to S 6700 . If it is determined that the PI measurement timer is overtime, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6736 ). If it is determined that the brake output state is not attained, then the flow returns to S 6700 .  
     [1045] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6738 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6740 ). Subsequently, the flow returns to S 6700 .  
     [1046]FIG. 127 shows a flowchart of the second speed control H start drive processing operation.  
     [1047] In the second speed control H start drive processing operation, as shown at S 6742  in FIG. 127, it is initially determined whether 0 is set as the focus count  2  or not. If it is determined that 0 is set as the focus count  2 , then the flow shifts to the pulse drive control H start drive processing operation in FIG. 129. If it is determined not, by contrast, then the focus count  2  is set as the focus count (S 6744 ).  
     [1048] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6746 ). If it is determined not, then the focus drive second speed upper limit pulse time (E_T_LD 2 LUN 2 ) is set as the PI measurement timer (S 6748 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive second speed lower limit pulse time (E_T_LD 2 LLN 2 ) is set as the PI measurement timer (S 6750 ).  
     [1049] Thereafter, the flow shifts to S 6752 , where a time of 200 ms is set as the LPIIN overtime, and it is determined whether the terminal LPIIN is at L or not (S 6754 ). If it is determined that the terminal LPIIN is at L, then 1 is subtracted from the focus count (S 6756 ), and it is determined whether 0 is set as the focus count or not (S 6758 ). If it is determined that 0 is set as the focus count, then the flow shifts to the pulse drive control L start drive processing operation in FIG. 128. If it is determined that 0 is not set as the focus count, by contrast, then the flow shifts to S 6698  in FIG. 126.  
     [1050] If it is determined at S 6754  that the terminal LPIIN is not at L, then the flow shifts to S 6760 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6762 ). If it is determined that the HP detection is set, then it is determined whether the focus count HP is at 0 or not (S 6763 ). If it is determined that the focus count HP is at 0, then the flow shifts to S 6766 . If it is determined that the focus count HP is not at 0, by contrast, then the focus count HP is set as the focus count pulse (S 6764 ). Subsequently, the flow shifts to the HP detection-free pulse drive control H start drive processing operation in FIG. 131.  
     [1051] If it is determined at S 6762  that the HP detection is not set, then it is determined whether the LPIIN timer is overtime or not (S 6766 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6768 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6770 ).  
     [1052] If it is determined at S 6770  that the PI measurement timer is not overtime, then the flow returns to S 6754 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6772 ). If it is determined that the brake output state is not attained, then the flow returns to S 6754 .  
     [1053] If it is determined that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6774 ), and the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6776 ). Subsequently, the flow returns to S 6754 .  
     [1054]FIG. 128 shows a flowchart of the pulse drive control L start drive processing operation.  
     [1055] In the pulse drive control L start drive processing operation, as shown at S 6777  in FIG. 128, it is determined whether the focus count pulse is at 0 or not. If it is determined that the focus count pulse is at 0, then the HL flag of LHPIN is reset (S 6779 ). Subsequently, the processing operation is terminated. If it is determined not, by contrast, then the focus count pulse is set as the focus count (S 6778 ).  
     [1056] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6780 ). If it is determined not, then the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6782 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6784 ).  
     [1057] Thereafter, a time of 200 ms is set as the LPIIN overtime (S 6786 ), and it is determined whether the terminal LPIIN is at H or not (S 6788 ). If it is determined that the terminal LPIIN is at H, then 1 is subtracted from the focus count (S 6790 ), and it is determined whether 0 is set as the focus count or not (S 6792 ). If it is determined that 0 is set as the focus count, then the HL flag of LPIIN is set (S 6794 ), and the processing operation is terminated.  
     [1058] If it is determined that 0 is not set as the focus count, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6796 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 6802 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6798 ).  
     [1059] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6800 ). Then, the flow shifts to S 6802 , where the focus brake time (E_T__BARIBRAKE) is set as the PI measurement timer, and further to S 6838  in FIG. 129.  
     [1060] If it is determined at S 6788  that the terminal LPIIN is not at H, then the flow shifts to S 6804 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6806 ). If it is determined that the HP detection is set, then it is determined whether the focus count HP is at 0 or not (S 6807 ). If it is determined that the focus count HP is at 0, then the flow shifts to S 6810 . If it is determined that the focus count HP is not at 0, by contrast, then the focus count HP is set as the focus count pulse (S 6808 ). Subsequently, the flow shifts to the HP detection-free pulse drive control L start drive processing operation in FIG. 130.  
     [1061] If it is determined at S 6806  that the HP detection is not set, then it is determined whether the LPIIN timer is overtime or not (S 6810 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6812 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6814 ).  
     [1062] If it is determined at S 6814  that the PI measurement timer is not overtime, then the flow returns to S 6788 . If it is determined that the PI measurement timer is overtime, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6816 ).  
     [1063] If it is determined at S 6816  that the brake output state is not attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6818 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6820 ), and the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6822 ). Subsequently, the flow returns to S 6788 .  
     [1064] If it is determined at S 6816  that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6824 ). Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6826 ). Then, the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6828 ). Subsequently, the flow returns to S 6788 .  
     [1065]FIG. 129 shows a flowchart of the barrier pulse drive control H start drive processing operation.  
     [1066] In the pulse drive control H start drive processing operation, as shown at S 6829  in FIG. 129, it is determined whether the focus count pulse is at 0 or not. If it is determined that the focus count pulse is at 0, then the HL flag of LHPIN is reset (S 6831 ). Subsequently, the processing operation is terminated. If it is determined not, by contrast, then the flow shifts to S 6830 , where the focus count pulse is set as the focus count.  
     [1067] Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6832 ). If it is determined not, then the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6834 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6836 ).  
     [1068] Subsequently, the flow shifts to S 6838 , where a time of 200 ms is set as the LPIIN overtime. Then, it is determined whether the terminal LPIIN is at L or not (S 6840 ). If it is determined that the terminal LPIIN is at L, then 1 is subtracted from the focus count (S 6842 ), and it is determined whether 0 is set as the focus count or not (S 6844 ). If it is determined that 0 is set as the focus count, then the HL flag of LPIIN is set (S 6846 ), and the processing operation is terminated.  
     [1069] If it is determined at S 6844  that 0 is not set as the focus count, by contrast, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6848 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 6854 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6850 ).  
     [1070] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6852 ). Then, the flow shifts to S 6854 , where the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer, and further to S 6786  in FIG. 128.  
     [1071] If it is determined at S 6840  that the terminal LPIIN is not at L, then the flow shifts to S 6856 , where an HP detection processing operation is carried out. Subsequently, it is determined whether the HP detection is set or not (S 6858 ). If it is determined that the HP detection is set, then it is determined whether the focus count HP is at 0 or not (S 6859 ). If it is determined that the focus count HP is at 0, then the flow shifts to S 6862 . If it is determined that the focus count HP is not at 0, by contrast, then the focus count HP is set as the focus count pulse (S 6860 ). Subsequently, the flow shifts to the HP detection-free pulse drive control H start drive processing operation in FIG. 131.  
     [1072] If it is determined at S 6858  that the HP detection is not set, then it is determined whether the LPIIN timer is overtime or not (S 6862 ). If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6864 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6866 ).  
     [1073] If it is determined at S 6866  that the PI measurement timer is not overtime, then the flow returns to S 6840 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6868 ).  
     [1074] If it is determined at S 6868  that the brake output state is not attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6870 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6872 ), and the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6874 ). Subsequently, the flow returns to S 6840 .  
     [1075] If it is determined at S 6868  that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6876 ). Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6878 ). Then, the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6880 ). Subsequently, the flow returns to S 6840 .  
     [1076]FIG. 130 shows a flowchart of the HP detection-free pulse drive control L start drive processing operation.  
     [1077] In the HP detection-free pulse drive control L start drive processing operation, as shown at S 6890  in FIG. 130, the focus count pulse is initially set as the focus count. Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6892 ). If it is determined not, then the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6894 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6896 ).  
     [1078] Subsequently, a time of 200 ms is set as the LPIIN overtime (S 6898 ), and it is determined whether the terminal LPIIN is at H or not (S 6900 ). If it is determined that the terminal LPIIN is at H, then 1 is subtracted from the focus count (S 6902 ), and it is determined whether 0 is set as the focus count or not (S 6904 ). If it is determined that 0 is set as the focus count, then the HL flag of LPIIN is set (S 6905 ), and the processing operation is terminated.  
     [1079] If it is determined at S 6904  that 0 is not set as the focus count, by contrast, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6908 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 6914 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6910 ).  
     [1080] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6912 ). Then, the flow shifts to S 6914 , where the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer, and further to S 6953  in FIG. 131.  
     [1081] If it is determined at S 6900  that the terminal LPIIN is not at H, then the flow shifts to S 6930 , where it is determined whether the LPIIN timer is overtime or not. If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6932 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6934 ).  
     [1082] If it is determined at S 6934  that the PI measurement timer is not overtime, then the flow returns to S 6900 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6936 ).  
     [1083] If it is determined at S 6936  that the brake output state is not attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6938 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6940 ), and the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6942 ). Subsequently, the flow returns to S 6900 .  
     [1084] If it is determined at S 6936  that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6944 ). Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6946 ). Then, the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6948 ). Subsequently, the flow returns to S 6900 .  
     [1085]FIG. 131 shows a flowchart of the HP detection-free pulse drive control H start drive processing operation.  
     [1086] In the HP detection-free pulse drive control H start drive processing operation, as shown at S 6949  in FIG. 131, the focus count pulse is initially set as the focus count. Subsequently, it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6950 ). If it is determined not, then the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6951 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the focus drive energizing time (E_T__BARIMON) is set as the PI measurement timer (S 6952 ).  
     [1087] Subsequently, a time of 200 ms is set as the LPIIN overtime (S 6953 ), and it is determined whether the terminal LPIIN is at L or not (S 6954 ). If it is determined that the terminal LPIIN is at L, then 1 is subtracted from the focus count (S 6956 ), and it is determined whether 0 is set as the focus count or not (S 6958 ). If it is determined that 0 is set as the focus count, then the HL flag of LPIIN is set (S 6959 ), and the processing operation is terminated.  
     [1088] If it is determined at S 6958  that 0 is not set as the focus count, by contrast, then it is determined whether the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state or not (S 6960 ). If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are not in their energized state, then the flow shifts to S 6966 . If it is determined that the parallel terminals DC 0 , DC 1 , and DC 2  are in their energized state, by contrast, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6962 ).  
     [1089] Subsequently, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6964 ). Then, the flow shifts to S 6966 , where the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer, and further to S 6898  in FIG. 130.  
     [1090] If it is determined at S 6954  that the terminal LPIIN is not at H, then the flow shifts to S 6968 , where it is determined whether the LPIIN timer is overtime or not. If it is determined that the LPIIN timer is overtime, then the LPIIN overtime is set (S 6970 ), and the processing operation is terminated. If it is determined that the LPIIN timer is not overtime, by contrast, then it is determined whether the PI measurement timer is overtime or not (S 6972 ).  
     [1091] If it is determined at S 6972  that the PI measurement timer is not overtime, then the flow returns to S 6954 . If it is determined that the PI measurement timer is overtime, by contrast, then it is determined whether the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state or not (S 6974 ).  
     [1092] If it is determined at S 6974  that the brake output state is not attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6976 ). Thereafter, the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set H, H, and H, respectively, so as to attain the brake output state (S 6978 ), and the focus brake time (E_T_BARIBRAKE) is set as the PI measurement timer (S 6980 ). Subsequently, the flow returns to S 6954 .  
     [1093] If it is determined at S 6974  that the brake output state is attained, then the outputs of parallel terminals DC 0 , DC 1 , and DC 2  are set L, L, and H, respectively, so that the motor  95  is placed into the wait state (S 6982 ). Subsequently, the parallel terminals DC 0 , DC 1 , and DC 2  are set to their energized state (S 6984 ). Then, the focus drive energizing time (E_T_BARIMON) is set as the PI measurement timer (S 6986 ). Subsequently, the flow returns to S 6954 .  
     [1094] The HP detection processing operation will now be explained.  
     [1095]FIG. 132 shows a flowchart of the HP detection processing operation. In the HP detection processing operation, as shown at S 7000  in FIG. 132, it is initially determined whether the HP detection flag is set or not. If it is determined that the HP detection flag is set, then the processing operation is terminated. If it is determined not, by contrast, then it is determined whether the terminal LHPIN is changed or not (S 7002 ).  
     [1096] If it is determined at S 7002  that there is no change at the terminal LHPIN, then the processing operation is terminated. If it is determined that the terminal LHPIN is changed, by contrast, then, after a wait of 50 .s (S 7004 ), it is determined whether the HP falling flag is set or not (S 7006 ).  
     [1097] If it is determined at S 7006  that the HP falling flag is set, then it is determined whether the terminal LHPIN is at L or not (S 7008 ). If it is determined that the terminal LHPIN is at L, then the flow shifts to S 7010 . If it is determined that the terminal LHPIN is not at L, by contrast, then the processing operation is terminated.  
     [1098] If it is determined at S 7006  that the HP falling flag is not set, then it is determined whether the terminal LHPIN is at H or not (S 7008 ). If it is determined that the terminal LHPIN is at H, then the flow shifts to S 7010 . If it is determined that the terminal LHPIN is not at H, by contrast, then the processing operation is terminated.  
     [1099] Subsequently, at S 7010 , the HP detection flag is set. Then, the HP detection processing operation is terminated.  
     [1100] The braking pitch count measurement drive processing operation will now be explained.  
     [1101]FIG. 133 shows a flowchart of the braking pitch count measurement drive processing operation. The braking pitch count measurement drive processing operation includes braking pitch count measurement L and H start drive processing operations.  
     [1102] In the braking pitch count measurement L start drive processing operation, as shown at S 7100  in FIG. 133, a time of 15 ms is initially set as the LPIIN overtime. Subsequently, 0 is set as the focus-driving over-pitch number (C_FCOV) (S 7102 ).  
     [1103] Thereafter, it is determined whether the terminal LHPIN is at H or not (S 7104 ). If it is determined not, then it is determined whether the LHPIN overtime is reached or not (S 7106 ). If it is determined that the LHPIN overtime is not reached, then the flow returns to S 7104 . If it is determined that the LHPIN overtime is reached, then the HL flag of LHPIN is reset (S 7108 ), and the processing operation is terminated.  
     [1104] If it is determined at S 7104  that the terminal LHPIN is at H, then 1 is added to the focus-driving over-pitch number (S 7110 ). Subsequently, it is determined whether the terminal LHPIN is at L or not (S 7116 ). If it is determined that the terminal LHPIN is not at L, then it is determined whether the LHPIN overtime is reached or not (S 7120 ). If it is determined that the LHPIN overtime is not reached, then the flow returns to S 7116 . If it is determined that the LHPIN overtime is reached, by contrast, then the HL flag of LHPIN is set (S 7122 ), and the processing operation is terminated.  
     [1105] If it is determined at S 7116  that the terminal LHPIN is at L, then 1 is added to the focus-driving over-pitch number (S 7118 ). Thereafter, the flow returns to S 7104 .  
     [1106] Though this embodiment relates to a case where the camera in accordance with the present invention is employed in the APS camera, the camera in accordance with the present invention is not restricted thereto and may be used in other cameras.  
     [1107] According to the present invention, as explained in the foregoing, a lens barrel error is stored if there is a malfunction in a moving operation of the movable lens even when there is no malfunction in an expanding or collapsing operation of the lens barrel. If the lens barrel error is stored in the storage means, then release operations are inhibited. Therefore, no release operations are carried out if there is any obstruction in the movement of the movable lens group, whereby severe failures can be prevented from occurring upon release operations. Also, since operations for carrying out exposure while stopping the movable lens group and so forth are not carried out, inappropriate photographing is not carried out.