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