Arduino Continuous Rotation Servo

I think you have two or three errors.

When you use writeMicroseconds() the parameter must be a number roughly between 1000 and 2000. You are still using degree values. 90 deg corresponds to about 1500 microsecs.

You have no delay() after the writeMicroseconds() that is after the WHILE loop so there is no time for the servo to react.

You don't reset time to 0 before the WHILE loop so the loop will only work once because after that time will always have a higher value than the test.

While it is not the cause of the problem you have no Serial.println() calls in your code to assist you to see what is going wrong.

...R