В связи с появившимися планами использования миниатюрных сервоприводов (используются для управления моделями) пришлось сделать программку, управляющую двумя сервами и выводящую в терминал значения, пропорциональные их положению (для возможности дальнейшего написания полноценной "самостоятельной" программы).
Схема, программа для Mega8 на CodeVision, проект в Proteuse - все в приложенном архиве. В программе много пояснений.
Сервомашинки запитываются от 5В (красн. - +5В, черн. - общий, желтый - управление (подсоединить к выводам МК, к которым присоединен на схеме виртуальный осцилограф).
Из теории. Использованные сервоприводы управляются импульсами положительной полярности. Положение 0град соответствует импульсу 0,8мс, 170 град - 2,3мс (если верить "неофициальному" источнику http://easyelectronics.ru/servomashinka-hs-311.html. Между импульсами - пауза не менее 20 мс (работает и при 10мс).
Опробовано с сервами HS-311, HS-422. Разницы никакой. Конечные положения у разных серв отличались на единицу выводимого в терминал значения управляющего напряжения (при выходе за пределы границ поворота серва постоянно нервно дрыгается).