программу оформить в виде бесконечного цикла, где в начале цикла происходить ожидание прерывания по таймеру, а дальше вызывается по кругу в зависимости от значения счетчика каждая задача. Внутри каждая задача оформлена в виде конечного автомата, который для каждого его состояния не имеет права занимать больше времени, чем один тик таймера.