PLEASE PLEASE PLEASE HELP!!! SERVO PROBLEMS!!!

Here's the code (with other stuff in it that I need help with. I'm going to address it in another thread).

int servoPin = 3;
int irPin = 0;
int val = 0;
int pulses;

void setup() {
  Serial.begin(9600);
  pinMode(servoPin, OUTPUT);      
}

void loop()
{
  if(pulses >= 2300)
    {  pulses = 2300;
      do 
      {
        pulses = pulses - 50;
        digitalWrite(servoPin, HIGH);
        delayMicroseconds(pulses);
        digitalWrite(servoPin, LOW);
        delay(20);
        readir();
      } while(pulses >= 1300);
    } 
  else if(pulses <= 1300)
    {  pulses = 1300;
      do 
      {
        pulses = pulses + 50;   
        digitalWrite(servoPin, HIGH);
        delayMicroseconds(pulses);
        digitalWrite(servoPin, LOW);
        delay(20);
        readir();
      } while(pulses <= 2300);
    }
}
void readir()
{
    val = analogRead(irPin);
    //delay(5);
    Serial.println("PULSE");
    delay(5);
    Serial.println(pulses); 
    delay(5);
    Serial.println("IR"); 
    delay(5);
    Serial.println(val);
}