Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Режимы работы таймеров/счетчиков



Режим работы каждого Т/С определяется значением битов М0, М1 в peгистpe TMOD. Т/С 0 и Т/С 1 имеют четыре режима работы. Режимы работы 0, 1, 2 одинаковы для обоих Т/С; Т/С 0 и Т/С 1 в этих режимах полностью независимы друг от друга. Работа Т/С 0 и Т/С 1 в режиме 3 различна. При этом установка режима 3 в Т/С0 влияет на режимы работы Т/С 1. Логика работы Т/С приведена на рис.1.

Установка битов М0=0, М1= 0 определяет режим работы 0. Т/С в режиме 0 представляет собой устройство на основе 13-разрядного peгистpa. 13-разрядный peгиcтp состоит для Т/С 0 из 8 разрядов peгиcтpa ТН0 и 5 младших разрядов peгиcтpa ТL0, а для Т/С 1 - из 8 разрядов peгистpa ТН1 и 5 младших разрядов peгиcтpa TL1.

В этом режиме функцию делителя на 32 выполняют регистры ТL0, TL1. Они являются программно доступными, но надо помнить, что значащими в режиме 0 являются только пять младших разрядов регистров ТL0, TL1. Логика работы в режиме 0 на примере Т/С 1 показана на рис.1а. Для Т/С0 логика работы аналогична.

    На рис. 1.22 OSC- источник синхронизации микроконтроллеров MCS -51 (внутренний или внешний).

 Рис. 1.22. Логика работы Т/С:

                           а - Т/С1 в режиме 0: 13-ти битный счетчик;

           б - Т/С1 в режиме2: 8-ти битный автоперезагружаемый счетчик; 

           с - Т/С0 в режиме3: два 8-ти битных счетчика.

 

      На выходе OSC- частота fXTAL . Бит С/Т peгистpa TMOD определяет работу Т/С или в качестве таймера (С/Т=0), или в качестве счетчика (С/Т = l). Счет начинается при установке бита TR регистра TCON в состояние "1". При необходимости управления счетом извне бит GAТЕ регистра TMOD устанавливается в состояние "1". Тогда при TR = l счет будет разрешен, если на входе  (для Т/С0) или  (для Т/С 1) установлено состояние "1" и будет запрещен, если установлено состояние "0". Установка бита TR0 для Т/С0 и TR1 для Т/С1 в состояние "0" выключает Т/С независимо от состояния других битов.

При переполнении Т/С (переход содержимого регистра Т/С из состояния "все единицы" в состояние "все нули") устанавливается флаг TF0 для Т/С 0 или TF1 для Т/С 1 в регистре TCON.

Установка битов М1=0, М0=1 определяет режим работы 1. Режим 1 аналогичен режиму 0. Отличие состоит в том, что установка режима 1 превращает Т/С в устройство на основе 16-разрядного регистра. Для Т/С0 регистр состоит из программно доступных пар TL0, ТН0, для Т/С 1 из программно доступных пар TL1, ТН1. Логика работы в режиме 1 на примере Т/С1 показана на рис. 2.19, а.

Установка битов М1=1, М0=0 определяется режим 2. В этом режиме Т/С представляет собой устройство на основе восьмиразрядного регистра TL0 для Т/С 0 и TL1 для Т/С 1. При каждом переполнении TL0 кроме установки в регистре TCON флага TF0 происходит автоматически перезагрузка содержимого из ТН0 вTL0. Соответственно для Т/С 1 при переполнении TL1 в регистре TCON устанавливается флаг TF1 и происходит перезагрузка TL1 из ТН1. Регистры ТН0 и ТН1 загружаются программно. Перезагрузка TL0 из ТН0 и TL1 из ТН1 не влияет на содержимое регистров ТН0 и ТН1. Логика работы Т/С 1 в режиме 2 показана на рис. 2.19. Логика работы Т/С 0 в режиме 2 аналогична. Назначение битов управления TR0, TR1, GATE0, GATE1, С/Т 0, С/Т 1такое же, как в режиме 0 (рис.2.19, б).

Установка битов М1=1, М0=l определяет режим 3. Т/С 1 в режиме 3 заблокирован и просто сохраняет свой счет (значение кода в peгистpe Т/С). Эффект такой же, как при установке ТR1=0.

Т/С0 в режиме 3 представляет собой два независимых устройства на основе восьмиразрядных peгистpoв ТL0 и ТН0. Устройство на основе peгиcтpa ТL0 может работать в режиме таймера и в режиме счетчика. За ним сохраняются все биты управления Т/С0, оно peaгиpyeт на воздействия по входам Т0, . При переполнении ТL0 устанавливается флаг ТF0. Устройство на основе peгиcтpa ТН0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении ТН0 выставляет флаг TF1. Других битов управления устройство на основе ТН0 в этом режиме не имеет. Логика работы Т/С0 в режиме 3 показана на рис.2.19, в.

Установка Т/С0 в режим 3 лишает Т/С 1 бита включения TR1. Поэтому Т/С1 в режимах 0, 1, 2 при GАТЕ1=0 всегда включен и при переполнении в режимах 0 и 1 Т/С1 обнуляется, а в режиме 2 перезагружается не устанавливая флаг, если Т/С И находится в режиме 3. Управление от входов , Т1, биты управления С/Т1, GATE1 для Т/С 1 не зависят от режима Т/С0.

Т/С1 аппаратно связан с блоком синхронизации последовательного интерфейса (ПИ). При работе в режимах 0, 1, 2 при переполнении Т/С 1 всегда вырабатывает импульс тактировки ПИ. Поэтому 3-й режим Т/С 0 удобно применять тогда, когда требуется работа ПИ и двух таймеров или ПИ, таймера и счетчика.

Когда Т/С 0 переведен в режим 3, Т/С 1 можно выключить, переведя его также в режим 3, использовать с последовательным портом для выработки импульсов тактировки или в любых других приложениях, не требующих прерывания.

Выключение Т/С с помощью битов ТR0, TR1 (сброс этих битов в"0") или с помощью входов микроконтроллера ,  (установка на этих входах логического "0" при GATE = 1) не искажает код, находящийся в регистре Т /С. Т/С можно выключить, через произвольное время вновь включить и счет начнется с той величины, которая была в регистре Т/С на момент выключения (если, конечно, после выключения регистр Т/С не перезаписывался)

Новая загрузка Т/С сразу же означает новую величину счета, а старая теряется. Если загрузка произведена при включенном Т/С, счет продолжится с новой величины. Очередность загрузки регистров ТL0, ТН0, TL1, ТН1 произвольная.

Во всех режимах, кроме режима 2, после переполнения Т/С счет продолжается с величины 00Н, если Т/С не выключить с помощью битов ТR0, TR1 или входов .


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 194; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь