Курс лекций - Микропроцессоры

Режим таймера


Таймер состоит из пятиразрядного предварительного делителя на 32 и восьмиразрядного суммирующего счётчика. На вход предделителя поступают сигналы основной синхронизации ALE с периодом 2,5 мкс (15 периодов задающего генератора тактовой частоты). Таким образом минимальный промежуток времени, задаваемый при помощи таймера равен 80 мкс. Путём предварительной записи информации в таймер можно регулировать время, задаваемое таймером от 80 мкс до 20,48 мс. Эти значения определяются тем, что в таймер T можно записать 256 различных чисел. Если требуется больший временной интервал, то его можно получить программным путём с использованием любой ячейки внутренней памяти. Схема таймера приведена на рисунке 1.

Рисунок 1. Схема таймера микроконтроллеров семейства MCS-48.

Когда содержимое счетчика изменяется из состояния все "1" в состояние все "0" , то устанавливается (принимает значение "1") флаг прерывания таймера TF0 или TF1.

Обычно пользователя интересует не максимальный интервал времени, а свой конкретный интервал времени, меньший максимально возможного. Для уменьшения интервала времени в регистр таймера можно предварительно занести число и тем самым сформировать произвольный интервал времени. Рассмотрим пример подготовки таймера T для формирования временного интервала 5мс.

;Настроить таймер на генерацию 5-ти миллисекундного интервала времени-------------------------------------- mov A, #-62 ;Загрузить таймер числом 9Eh, равным числу -62 - количество периодов mov T, A ;входной частоты таймера (62 периода таймера = 62*80 мкс = 4,96 мс) STRT T ;Запустить таймер OjidanTimer: JTF SledKomanda ;Подождать пока не переполнится таймер JMP OjidanTimer SledKomanda: STOP TCNT ;Остановить таймер

Содержание раздела