Таймер формирует прерывания с любым приятно умножающимся интервалом. В обработке прерывания в регистре или ОЗУ подсчитываем их (прерывания) и по достижении нужного значения сбрасываем счетчик в ОЗУ и ставим флаг, что секунда (или 10мс) кончились. В любом месте программы по этому флагу считаем время и дни. Следует обратить внимание на точность кварца и обеспечить возможность его подстройки.
У этого способа есть одно очень приятное свойство - на этих прерываниях по состоянию счетчика в ОЗУ можно выполнять кучу задач с точным временным интервалом и в строгой последовательности друг за другом.
--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
|