I am building a RPM measurement unit using 8051 micro controller. I want to measure RPM of AC motor. I have connected proximity sensor to get the pulse for each turn.

I have connected the proximity sensor output to the counter of micro controller. And I am calculating the 1 sec delay using Timer.

For each second I am calculating the RPM = pulse count[counter value] \* 60.

Ex: If pulse count = 16, I am getting RPM = 960 r/m
If Pulse count = 17, RPM = 1020 r/m.

Here I am getting difference of 60 r/m. 

Using the above method, I can't measure RPM of 1000 r/m. Since pulse count \* 60 will not be 1000 at any given point of time.

Please advise me how I can measure RPM in precision manner.

Thanks
Umesh