Цитата(62256 @ Oct 5 2009, 00:43)

последовательным портом 80c52 в нулевом режиме мы при кварце 8,8МГц выдавали 5,5битный голос с частотой 11 киловыборок. При этом еще в реалтайме разжимались хаффман и дельта. Ваша задача намного проще, а тактовая втрое выше.
Дрожжание на обработку прерываний обходится хитрыми процедурками в начале прерывания - они смотрят на таймер, вызвавший прерывание, а самотормозятся на нужное к-во тактов.
Прочитайте внимательно первый пост. Формирование ШИМ - это только одна из многих задач. Это к вопросу о простоте.
(прерывание от таймеров, формирующих ШИМ, будут иметь не высший приоритет, т.к. будут решаться и другие более важные задачи).
Да и процедура, описанная Вами позволит (насколько я понял) только "дощитать" длительность формируемую для ШИМ.
А как быть если отрабатывается некое прерывание (только вошли в него) и пришло прерывание от таймера, который формирует длительность ШИМ (т.е. уже ничего добавлять не надо, а надо как можно быстрее обработать это прерывание - вот Вам и увеличение длительносьти в "+"?