![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Режимы работы таймеров/счетчиков
Режим работы каждого Т/С определяется значением битов М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 счет будет разрешен, если на входе При переполнении Т/С (переход содержимого регистра Т/С из состояния "все единицы" в состояние "все нули") устанавливается флаг 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, Установка Т/С0 в режим 3 лишает Т/С 1 бита включения TR1. Поэтому Т/С1 в режимах 0, 1, 2 при GАТЕ1=0 всегда включен и при переполнении в режимах 0 и 1 Т/С1 обнуляется, а в режиме 2 перезагружается не устанавливая флаг, если Т/С И находится в режиме 3. Управление от входов Т/С1 аппаратно связан с блоком синхронизации последовательного интерфейса (ПИ). При работе в режимах 0, 1, 2 при переполнении Т/С 1 всегда вырабатывает импульс тактировки ПИ. Поэтому 3-й режим Т/С 0 удобно применять тогда, когда требуется работа ПИ и двух таймеров или ПИ, таймера и счетчика. Когда Т/С 0 переведен в режим 3, Т/С 1 можно выключить, переведя его также в режим 3, использовать с последовательным портом для выработки импульсов тактировки или в любых других приложениях, не требующих прерывания. Выключение Т/С с помощью битов ТR0, TR1 (сброс этих битов в"0") или с помощью входов микроконтроллера Новая загрузка Т/С сразу же означает новую величину счета, а старая теряется. Если загрузка произведена при включенном Т/С, счет продолжится с новой величины. Очередность загрузки регистров ТL0, ТН0, TL1, ТН1 произвольная. Во всех режимах, кроме режима 2, после переполнения Т/С счет продолжается с величины 00Н, если Т/С не выключить с помощью битов ТR0, TR1 или входов |
Последнее изменение этой страницы: 2019-05-08; Просмотров: 219; Нарушение авторского права страницы