Hallo,
ich habe in deinem Code mal ein bisschen was verändert.Das Servo hat eine Wartezeit von 20ms das hast du vergessen und du hattest die Werte bei der Einschaltzeit konstant auf 1,1 ms gesetzt. Guck dir den Code mal an, ich hoffe er funktioniert. ich bin nämlich noch nicht so gut in C.
Code:
/*Grundprogramm für PIC 12F629/675 
  zum Einlesen eines Analogwertes mit Anzeige auf dem LC-Display 
  
  belegt min.4 max.5 Ausgänge 
    825 Codewords 
     30 Bytes RAM 

//Pinbelegung des 12F629:            Funktion: 
//Pin1    VPP    +5V                +5V 
//Pin2    GP5     IOP    INT on Ch./T1CKI/OSC1    in out Funktion5    SI    Serielle Daten 
//Pin3    GP4    AIOP    INT on Ch./T1G/OSC2        in out Funktion4    CLK      Serieller Takt 
//Pin4    GP3     I        INT on Ch./MCLR\        in     Funktion3    
//Pin5    GP2    AIOP    INT on Ch./Cout/INT/T0CIin out Funktion2    RS    Daten(1)/Steuerzeichen(0) 
//Pin6    GP1    AIOP    INT on Ch./Cin-/Vref+    in out Funktion1    Servo 
//Pin7    GP0    AIOP    INT on Ch./Cin+            in out Funktion0    AD-Kanal 0 
//Pin8    Gnd    0V                GND 
*/ 

#pragma config |=0b000.1.1.1.0.0.0.100 
//                   ||| | | | | | | +++----Oscillator Selection Bits    (100=intern) 
//                   ||| | | | | | |+-------Watchdog timer             (1=enable) 
//                   ||| | | | | +----------Power up timer             (0=enable) 
//                   ||| | | | +------------MCLR\ select *)            (0:RA5=IO; 1:RA5=MCLR\) 
//                   ||| | | +--------------Brown out reset         (1=enable) 
//                   ||| | +----------------Flash-Programm memory protection(0=enable) 
//                   ||| +------------------EE-Prom memory code protected    (0=enable)          
//                   +++--------------------nicht implementiert 


//   Konstanten        Portzuweisung    I/O Funktionsbeschreibung 

bit    RS            @ GPIO.2;    //I/O     Daten/Steuerzeichen (Da=1; St=0) 
bit Servo        @ GPIO.1;    //I/O     Hintergrundbeleuchtung         (Option) 
//bit CSB         @ GPIO.0;    //I/O     Analogkanal 

#include "AD_Wandler.c"        //AD-Wandler Hilfsprogramme 
//#include "MATH24F.H"         //Mathematikroutinen 


//    Variablen                Funktionsbeschreibung 


uns16    i; 
uns16 AD_wert;        //eingelesener AD-Wert 
//-------------------Hauptprogramm------------------------------------------------------------- 

void main(void) 
{ 
//-------------------Konfiguration des PIC 
//Anm.: Erst Ausgänge setzen, dann Konfigurieren (wg. Spikes) 

GPIO=    0b.00.00.0.000;        //Port Grundeinstellungen Statusregister 
TRISIO=    0b.00.00.1.001;        //Port Eingänge definieren (1=Eingang; 0=Ausgang) 

//--------------------AD-Wandler, nicht relevant für 12F629 

ADCON0=0b.10.00.0001;        //AD-Wandler konfigurieren 
ANSEL=0b.0.001.0001;        //Bit 0..3: GPIO 0..3=Analog(=1) / Digital(=0) Bit4..6:AD Clock 

//--------------------Komperator 

CMCON=0b.0.0.0.00111;        //Komperator aus 

//--------------------Konfiguration der Variablen 

Servo=0; 

ruecksprung: 

//Hauptprogramm 
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 


AD_wert=Analogwert(0);        //Kanal 0 einlesen 
AD_wert=AD_wert/12; 
AD_wert=AD_wert + 85;  //  1ms dazuaddieren

Servo=1;                      //Servo bekommt Signal 

for (i=0; i<AD_wert; i++) // Er braucht 85 Schleifen um 1ms zu warten. Der AD_Wert vom Poti kann 0 bis 1024 betragen. --> 1024/85 
    {;} 

Servo=0;                    //Signal wird abgesetzt. Servo hat also 1 PWM Signal bekommen 

for (i=0; i<1700; i++) // Er braucht 85 Schleifen um 1ms zu warten. Also 85*20 um 20ms zu warten. 
    {;} 




goto ruecksprung; 
}
Gruß,
Jojo12