Creo que la manera mas sencilla, por lo menos la que yo uso, es con un timer hacer desbordes de 20ms, esto ya te marca 50hz, cada vez que el timer se desborda, pones a 1 el pin que tengas conectado al servo, y llamas a la temporizacion (yo estas como son pequeñas, entre0.3ms y 2.3ms) las hago por bucle, si quieres 0º (o -90º segun como se mire) temporizacion de 0.3ms, si quieres 90º (0 0º) 1.3ms y si quieres 180º (+90º) 2.3ms.
Los servos para que se mantengan en su posicion hay que enviarles señal constantemente, porque sino se quedan muertos, locos, sin fuerza.
Supon que quieres tener un servo 1s a -90º despues 1s a 0º y despues 1s a +90º. Tendrias que enviar 50 pulsos de 0.3ms cada 20ms, a continuacion 50pulsos de 1.3ms cada 20ms y por ultimo 50pulsos de 2.3ms cada 20ms.
Bueno espero que os ayude en algo.