description is first made of an engine control apparatus to which this invention is applied , here particularly an ignition control apparatus with reference to fig1 . referring to fig1 an angle signal generating means 1 provided in a distributor 8 coupled to the crankshaft of an engine generates an angle pulse for each degree and a reference signal generating means 2 provided in the distributor 8 also generates a reference pulse for each 180 degrees . these signals are applied to an input / output unit ( hereinafter , referred to as an i / o unit ) 3 . an analog output from an intake negative pressure signal generating means 4 is converted by an analog - to - digital converter ( hereinafter , referred to as an a / d converter ) 5 , to a digital value , which is applied to the i / o unit 3 , which includes a register 30 and a counter 31 . the output of the i / o unit 3 is applied to a power transistor 6 , cutting it off so that a high voltage is induced in an ignition coil 7 . the high voltage induced in the ignition coil 7 is supplied through the distributor 8 to spark plugs 9 . fig2 shows the waveforms of the output voltage from the i / o unit 3 and primary current in the ignition coil 7 . the rectangular waveform shown at ( a ) is applied to the power transistor 6 , and as a result the current shown at ( b ) is induced in the primary coil of the ignition coil 7 . the power transistor 6 is conductive at the leading edge of the rectangular voltage shown in fig2 at ( a ), and thereby the primary current of the ignition coil 7 rises as shown in fig2 at ( b ). then , the power transistor 6 is cut off at the trailing edge of the rectangular wave voltage shown in fig2 at ( a ), and thereby the primary coil current is cut off as shown in fig2 at ( b ). at this time , a high voltage is induced in the secondary coil of the ignition coil 7 . in fig2 at ( b ), tdc represents the top dead center of a piston of the engine . in a 4 - cylinder engine , one of the pistons reaches the top dead center each time the crankshaft is rotated 180 degrees . θ adv is the ignition advance angle which is an angle between the ignition point and the top dead center tdc . intl is the reference pulse angle which is determined by the reference pulse from the reference signal generating means 2 , and in this embodiment is provided at intervals of 180 degrees . the cut - off points of the primary coil current in the ignition coil 7 , or ignition time points are determined by the angle θ ign from the reference pulse angle intl . that is , the ignition advance angle θ adv is controlled by the change of the θ ign . the start of the primary coil current flow in the ignition coil 7 , or the conduction time θ on of the transistor 6 is controlled by the angle θ off from the previous ignition time . again , referring to fig1 the i / o unit 3 is connected through bus lines 13 to a central processing unit ( hereinafter , referred to as cpu ) 10 , a fixed data memory for read - only operation , here a read - only memory ( hereinafter , referred to as rom ) 11 and a random access memory ( hereinafter , referred to as ram ) 12 capable of read and write . the cpu 10 performs data communication and data arithmetic operations between the rom 11 , ram 12 and i / o unit 3 . the rom 11 has stored therein fixed data , control programs and so on useful for the arithmetic operation , and ram 12 has a function of temporarily storing the values obtained by the arithmetic operation . the rom 11 contains an ignition advance angle map storing in a lattice form the ignition advance angle θ adv determined by the intake negative pressure and the rotation speed of the engine , as shown in fig3 and thus the ignition advance angles are determined by reading the ignition advance angle map and computing . thus , the signal from the intake negative pressure signal generating means 4 is converted by the a / d converter 5 to the digital pressure data p at each period of time , and stored in the ram 12 . then , the data n for the rotation speed is determined by the signals from the angle signal generating means 1 and reference signal generating means 2 . then , the ignition advance angle θ adv on the ignition advance angle map within the rom 11 is searched for on the basis of the pressure data p and the rotation speed data n and stored in the ram 12 . thereafter , the value , θ ign shown in fig2 is determined by the ignition advance angle θ adv stored in the ram 12 , by subtracting the ignition advance angle θ adv from the predetermined reference pulse angle intl . subsequently , the number of angle pulses corresponding to the θ ign is determined and stored in the register 30 incorporated in the i / o unit 3 . at this time , the counter 31 in the i / o unit 3 starts to count the angle pulse as soon as the reference pulse angle intl occurs , and when the contents of this counter 31 reach the number of angle pulses corresponding to the θ ign within the register 30 , the comparator within the i / o unit 3 operates to cut off the power transistor 6 thereby causing ignition . the ignition control apparatus using a microcomputer as mentioned above is well known . in such ignition control apparatus , the ignition advance angle θ adv on the ignition advance angle map within the rom 11 is searched for at each predetermined period and used for computation of the ignition advance angle . thus , when the engine is suddenly accelerated from low - speed to high - speed running , the intake pressure for determining the ignition advance angle θ adv is rapidly changed and the ignition advance angle θ adv on the ignition advance angle map to which reference is made at that time is moved . therefore , the ignition advance angle θ adv on the ignition advance angle map is searched for during the driving . in general , since the ignition advance angle θ adv advances much upon middle - speed running , the ignition advance angle θ adv at the time of middle speed running is searched for and determined when the engine is suddenly accelerated from low - speed to high - speed running but is not stabilized yet at the high - speed running condition , or when it approaches the high - speed condition , there is caused a problem of knocking . on the contrary , when the engine is suddenly decelerated from high - speed running , afterburning takes place for the same reason . therefore , in accordance with this invention , in order to avoid the abnormal angle advance resulting from such transient running , the preceding ignition advance angle θ advold and the current ignition advance angle θ advnow are used to produce the absolute value δθ adv of the difference θ advnow - θ advold and a correction coefficient k which approaches zero from 1 as the δθ adv increases is read from a correction coefficient data memory . then , the actual ignition advance angle of this time , θ advset is determined from where f ( k ) is a function of the correction coefficient k which depends on the difference value δθ adv . the f ( k ) is , in practice , k ×( θ advnow - θ advold ). this will be described with reference to the flow chart of fig4 . the flow chart of fig4 is started and repeated with a certain period by the control program . at step 100 , the pressure data p of intake pressure and rotation speed data n are read . at step 200 , the ignition advance angle θ advnow corresponding to the data n and p read in at step 100 is searched for on the ignition advance angle map and stored at address a now of ram 12 . at step 300 , the ignition advance angle θ advnow determined at step 200 is compared with the previously determined ignition advance angle θ advold stored at address a old of the ram 12 . when the result at step 300 is θ advnow & gt ; θ advold , the δθ adv of θ advnow - θ advold is determined at step 500 . when it is θ advnow & lt ; θ advold , the δθ adv of θ advold - θ advnow is determined at step 400 . then , the δθ adv is stored at address δa d of the ram 12 . at step 600 , the correction coefficient k corresponding to the difference δθ adv between the provious ignition advance angle θ advold and this ignition advance angle θ advnow is obtained and stored at address a c of the ram 12 . the correction coefficient k is a value changing in the range from 1 . 0 to nearly 0 as the δθ adv changes from 0 as shown in the graph a - b - c - d of fig5 . it will be seen that the k is maintained at 1 in the interval a - b , decreased to nearly 0 with a slope in b - c and kept at nearly 0 in c - d . in effect , such values of k corresponding to those of the δθ adv as shown in fig6 are stored in the correction coefficient data memory within the rom . at step 700 , the value of θ advset is calculated from and stored at address a old of the ram 12 . finally , at step 800 , the θ advset obtained at step 700 is stored in a register 30 of the i / o unit 3 to determine the ignition advance angle . in this case , the θ advset stored at address a old of the ram 12 at step 700 is used as the θ advold for the next cycle . in the conventional method , when the running condition as shown in fig3 is changed from the rotation speed of 800 rpm , intake negative pressure of - 600 mmhg to 1600 rpm , - 70 mmhg , the ignition advance angle θ adv is changed slightly from 9 degrees to 10 degrees . however , during the change the engine passes through the middle speed running condition which needs a very large value of ignition advance angle θ adv . that is , when the intake negative pressure and rotation speed are changed as shown in fig7 by a - a , and b - b , the ignition advance angle θ adv changes along line c - c &# 39 ;- c in fig7 and thus has peak c &# 39 ; of excess advance angle causing the knocking . if the previous ignition advance angle θ advold is weighted with more importance in proportion to the difference between the previous ignition advance angle θ advold and the this ignition advance angle θ advnow , the excess advance angle peak c &# 39 ; in fig7 can be reduced as indicated by a broken line so that abnormal advance angle is prevented from occurring and thus no knocking is caused . in the case of rapid deceleration , afterburning can be prevented for the same reason .