And to add to that: Servo pulses normally get updated every 20 mS, so it's a pulse of 1-2 mS every 20mS. So you got 20mS to update each of your eight servos, one after the other: _ _| |__________1 ___| |________2 _____| |______3 etc. Quentin Dave VanHorn wrote: > > > thanks for responding to this mail. i am trying to control 8 sevro with > > pic. The position of the sevro will depend on the pause signal.nornmally > the > > range is between 10ms to 800ms. it is possible to update all the pins with > > min error? > > Are you sure you have these timings right? > Typical servo pulse widths are 1-2mS with 1.5 being the center value. > > That being said, you could define eight locations in memory, and have a > loop (or timer interrupt) that decrements them, and if they are non-zero, > set the appropriate output bit, and if zero, reset the output bit. > > The granularity there is the timer or loop time, and the error is defined by > the difference in length of the turn-on and turn-off routines.