ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - Страница 88

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Interrupt ; Используется обработчик прерывания

Сохранить содержимое регистров контекста
Вывести «1» на ШИМ линию
Ждать 1 мс
Цикл на 1 мс ; Вывести ШИМ-сигнал

if Loop_Counter > Specified_ServoPos

Output a 0 ; Завершение ШИМ-сигнала

Установить таймер на прерывание через 18 мс Восстановить содержимое регистров контекста Возврат из прерывания

Рис. 4.20. ШИМ-сигнал для управления сервомотором.

Эта программа может быть легко модифицирована для управления более чем одним сервомотором путем введения дополнительных выходных линий ШИМ-сигналов и переменных «Specified_ServoPos». Такой способ управления сервомоторами хорош тем, что переменные «SpecifiedServoPos» могут обновляться, не затрагивая работу обработчика прерываний. Обслуживание прерывания занимает 2 мс из каждых 20 мс. Это значит, что на обеспечение функций ШИМ требуется 10 процентов процессорного времени независимо от числа управляемых сервомоторов.

Go to Top