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


Устройство таймеров микроконтроллеров MCS-51 - часть 3


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

;Настроить режим работы таймера------------------------------------------------------------------------------------------- mov TMOD,#00000000b ;настроить таймеры T0 и T1 на нулевой режим работы ;|||||||| ;||||||++-------Перевести таймер T0 в тринадцатиразрядный режим работы ;|||||+---------Синхронизироваться от внутреннего генератора ;||||+----------Запретить управление таймером от ножки INT0 ;||++-----------Перевести таймер T1 в тринадцатиразрядный режим работы ;|+-------------Синхронизироваться от внутреннего генератора ;+--------------Запретить управление таймером от ножки INT1 ;Настроить таймер на генерацию 5-ти миллисекундного интервала времени-------------------------------------- mov TH0, #HIGH(-5000) ;Загрузить старший байт таймера mov TL0, #LOW(-5000) ;Загрузить младший байт таймера

В рассмотренном примере для расщепления 16-ти битной константы на два отдельных байта были использованы функции выделения старшего и младшего байта. Эти функции присутствуют в большинстве ассемблеров для микроконтроллеров MCS-51. Если же язык программирования не содержит в своём составе подобные функции, то можно для выделения байтов воспользоваться операцией деления на 256.

mov TH0, #-5000/256 ;Загрузить старший байт таймера mov TL0, #-(5000-5000/256) ;Загрузить младший байт таймера

Режим 1

В первом режиме работы таймер работает как шестнадцатиразрядный счётчик. Режим 1 похож на режим 0, за исключением того, что в регистрах таймера использует все 16 бит. В этом режиме регистры ТНх и TLx также включены друг за другом. Работе таймера 0 или таймера 1 в режиме 1 соответствует схема:

mode1.gif (1777 bytes)

Рисунок 3. Схема таймеров 0 или 1 в режиме 1.

В этом режиме можно обеспечить формирование интервала времени длительностью до 65536 мкс при частоте задающего генератора 12 МГц.




Начало  Назад  Вперед