Ясно.
Я как-то придумал следующую вещь, которая позволяет от любого кварца точно считать время да ещё и с непрерывной коррекцией.
Например кварц 8 мгц, от него работает 16-битный таймер и даёт прерывание каждые 65536 тактов.
В обработчике, используя 24-битную (или 32-битную) арифметику прибавляем к сумматору число 65536. Как только сумматор станет больше 8000000 (частота кварца), вычитаем из него это (8000000), остаток оставляем до следующего суммирования и дёргаем флаг что надо прибавить 1 к секундам.
Коррекция состоит в том, что вместо 8000000 используем например величину 8000001 или 7999999 или c большим отличием.
Недостаток -- джиттер, равный времени между срабатываниями таймера, преимущество -- фактическая независимость от конкретного значения кварца.
Для 32768 Гц можно использовать дробные значения частоты (нарпимер 32768.0625, в хексе это 0x800010), расчёты ведутся в "fixed point"