Control servomotor

Buenas estoy intentando diseñar un circuito con un servomotor.
El servo debe hacer un giro de 90º a un lado y volver a su posicion inicial, pero parando una vez que termine el giro durante un tiempo.

He conseguido que haga el giro pero la pausa solo me la hace al principio y no una vez que termina tambien al final, sino que una vez que llega a hacer el giro regresa al inicio sin hacer pausa alguna.

Os dejo el codigo a ver si me podeis ayudar a solucionar el problema. Uso un 12f629

Código:
 cmcon=7
 c var byte
 trisio=0
 gpio=0 
 inicio:
 for c=0 to 145 step 1
    PULSOUT GPIO.0,C    
    pause 100
 next
 for c=145 to 0 step -1
    PULSOUT GPIO.0,C 
    pause 100
 next
 goto inicio

Saludos.
 
Atrás
Arriba