ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
22191
JTAG (15.02.2005 15:01, просмотров: 3916)
Народ просветите по поводу алгоритма ШИМ. При помощи ШИМ пытаюсь управлять яркостью светодиодов. У меня есть массив где записаны текущие яркости светодиодов от 0 до 255 Я делаю так: беру восьми разрядный счетчик, конфигурирую на прерывание по переполнению (переполняется он примерно через 4.4ms 225Гц) в процедуре прерывания таймер обнуляется. В основной программе вращаюсь в бесконечном while и жду когда возникнет прерывание по переполнению таймера когда это прерывание возникает я зажигаю все светодиоды, далее считывю значение таймера и смотрю в массиве яркостей какой светодиод нужно потушить. Если, например, я считал значение таймера равное 30, то я тушу все диоды у которых яркость меньше 30, считываю опять значение таймера допустим 60, тушу диоды значение яркости которых меньше 60, но больше 30 и т.д. Недостаток не могу добиться очень слабенькой яркости близкой к нулевой. Вопрос есть ли другой алгоритм?