Das kann so kaum gehen, da Dein switch nur reagiert, wenn exakt (!) ein Wert getroffen wird (was bei analogen Spannungen nicht sehr wahrscheinlich ist), und, wie robocat schon geschrieben hat, der Wert immer etwas schwankt. Besser (Werte nur als Beispiel):
Code:
while(1)
{
   int result = ADC;
   switch (result)
   {
      case result < 100: PORTA = (1<<0);
      break;
      case result < 500: PORTA = (1<<1);
      break;
      default: PORTA = (1<<2)
   }
}