The servo can't move back and forward in 40 milliseconds. It'll be more like tremble between both.
Try something like this:
// keep sending 0 position for about 400ms
for(int i = 0; i<20; ++i) {
digitalWrite(PB1, HIGH);
delayMicroseconds(1000);
digitalWrite(PB1, LOW);
delay(19);
}
// keep sending second position for about 400ms
for(int i = 0; i<20; ++i) {
digitalWrite(PB1, HIGH);
delayMicroseconds(2000);
digitalWrite(PB1, LOW);
delay(1918);
}