Цитата(vv_gulyaev @ May 6 2009, 13:45)

Наверное я остановлюсь на том, чтобы задать длительность жестко и выдавать импульсы с 4 выходов.
Если это - то, что Вам нужно (в чём я сомневаюсь), то реализовать можно. Писать программу нужно будет на ассемблере, на языке высокого уровня вряд ли получится что-то путное. Основной цикл программы будет довольно примитивный:
1.Вывод "значение 1" в порт В
2.Задержка 1
3.Вывод "значение 2" в порт В
4.Задержка 2
5.Вывод "значение 3" в порт В
6.Задержка 3
...........
15.Вывод "значение 8" в порт В
16.Задержка 8
17.Переход на п.1
Значения, выводимые в порт, и величины задержек будут зависить от длительности импульсов. Кроме того, общее время выполнения цикла должно быть 80 тактов для частоты 100кГц и частоты тактирования МК 8МГц. Можно значения, выводимые в порт, и величины задержек хранить в виде двух массивов, а программу упростить до:
1.Вывод "значение i" в порт В
2.Задержка i
3.Взять следующее i
4.Переход на п.1
Однако, такая программа хоть и станет "более настраиваемой", но точность выдержки задержек - резко упадёт. Если это не критично, то второй вариант мне кажется предпочтительней...