5.3 Настройка таймеров для реализации интервалов времени
Основной принцип использования таймеров – контролировать только моменты запуска и переполнения. То есть текущее состояние в процессе счета программно не контролируют (хотя, в принципе, это возможно).
При реализации или измерении интервалов времени всегда используют импульсы с постоянным периодом (частотой), как правило, от ГТИ МК (TМЦ) – т.е. таймер используют в режиме таймирования.
Максимальный интервал времени, который может реализовать таймер в конкретной конфигурации, считая от 0 до NMAX , выражается формулой:
,
где, Тi= TМЦ – период следования подсчитываемых импульсов.
Поэтому для реализации заданного интервала времени ТЗ на таймере нужно выполнить следующее:
1. Проверить возможность реализации заданного интервала:
.
Поскольку , то, подбирая n, можно выбрать нужную конфигурацию.
Для конфигурации (М1,М0) = (00) значение n=5+8=13;
для конфигурации (М1,М0) = (01) значение n=16;
для конфигурации (М1,М0) = (10) значение n=8;
для конфигурации (М1,М0) = (11) значение n=8.
Если выбрать подходящее n не удается, можно реализовать заданный интервал как совокупность дискрет времени: , где ТD – реализуемая дискрета, а значение m можно контролировать программно, например, подсчитывая моменты переполнения таймера на регистре Ri (i – любое из 0, 1, …, 7).
2. Рассчитать стартовое число для реализации заданного интервала:
.
Это значение должно быть записано в счетные регистры перед запуском таймера.
3. В требуемый момент начала интервала включить таймер. Далее процессор может выполнять команды программы, не связанные с работой таймера.
4. Когда интервал будет выдержан (т.е. таймер достигнет состояния NMAX и перейдет в “0”), автоматически установится флаг переполнения TF0=1 для таймера Т0 или TF1=1 для таймера Т1. Этот флаг может быть проверен аппаратно (как сигнал прерывания) или программно.
Самостоятельно определить стартовое число, необходимое для реализации интервала времени ТЗ = 20 мс, если Тi= TМЦ = 1 мкс
|