Es simple.. Empecemos pensando con logica...
Ese valor que se carga ahi, luego carga el Timer. En realidad
65535 - ticksTotalServo + ticksAltoServo[servoAMover]
Del maximo que es ticksTotalServo, carga el valor que es distintivo para esos.
El tema esta en que tenes un "maximo" y un "minimo". ticksTotalServo es el TOTAL tu maximo y minimo deben esta comprendidos entre esos 2 valores.
Supongamos entre 4750 y 10000.
Vos tenes que transformar tu salida del ADC 0 a 1023 a esos valores, tal que cuando el ADC sea 0 tengas como salida 4750 y cuando el ADC sea 1023 sea 10000.
En fin tenes que hacer una simple recta. Estoy mas que seguro que esto dio algo asi:
y = 4750 + 5.13*x
Pero para no trabajar con flotantes se decide ir por enteros. Y fin.. ahi tenes convertido tu ADC de 0 a 1023, a valores de salida de 4750 a casi 10000.
El codigo esta basado en uno de RedPic . Y en el codigo de RedPic tiene lso valores definidos en ticks
const int16 Ticks4Window = 12500; // PWM Window for servo = 2.5 ms x 8 = 20 ms
const int16 Ticks4Minimum = 3500; // PWM High for Minimum Position = 0.7 ms
const int16 Ticks4Center = 7500; // PWM High for Center Position = 1.5 ms
const int16 Ticks4Maximum = 11500; // PWM High for Maximum Position = 2.3 ms
http://www.todopic.com.ar/foros/index.php?topic=20335.0