are converted from analog to digital and stored as vo2 in the ram 42 step 103 30 tr is calculated from the period tr of the crank angle sensor 17 which is the rotating speed ne step 104 an x ne 30 is calculated from the load data an and rotating speed ne which is the output frequency fa of the afs 13 step 105 the fundamental driving time conversion coefficient kp is calculated from f1 in responsive to the output frequency fa as shown in fig7 step 106 the fundamental driving time converting coefficient kp is corrected by the water temperature wt and stored as the driving time converting coefficient k 1 in the ram 42 step 107 as in the timing chart shown in fig8 a whether the outputs of vo2 of the o 2 sensor 19 cross the specified level vl or not is judged that is whether the outputs are reversed from plus to minus from the level vl step 108 when reversed a reversing timer is set as shown in fig8 b step 109 judging whether the inverting timer is zero or not step 110 when not zero a learning flag is set step 111 and when zero the learning flag is cleared step 112 the load an and a specified value u03b1 are compared step 113 this value of u03b1 is the magnitude of the load for branching the control by the open loop and the control by the closed loop according to the relation between the rotating speed ne and the load an shown in fig4 when an lt u03b1 that is when the load.