Таймеры/счётчики. Управление таймерами/счётчиками

В состав внутренних функциональных узлов МК КР1830ВЕ31 входят два идентичных 16-разрядных таймера/счётчика (Т/С), которые могут быть запрограммированы для работы либо в качестве таймера, либо в качестве счётчика.

Функция таймера состоит в счёте внутренних машинных циклов, следующих с частотой FOSC/12. Машинный цикл имеет фиксированную длительность, равную 12 периодам тактового генератора (кварцевого резонатора). Функция счётчика заключается в подсчёте внешних событий, которые сопровождаются формированием импульсов на входах Т0 и Т1. Т/С в режиме счёта внешних событий считают переходы из 1 в 0 на соответствующих входах.

Каждый Т/С состоит из двух 8-разрядных регистров-счетчиков, которые можно рассматривать как универсальные последовательностные устройства, способные выполнять микрооперации параллельной записи (загрузки), параллельного чтения (выгрузки), микрооперации счёта. Обращение к Т/С осуществляется по адресам составляющих их регистров: TL0 (адрес 8A), TH0 (адрес 8C), TL1(адрес 8B), TH1 (адрес 8D).

8-разрядные регистры-счётчики, составляющие каждый Т/С, могут объединяться в единые 16-, 13-разрядные счётчики или работать независимо, взаимодействуя между собой для обеспечения предусмотренных пользователем режимов работы. Регистры-счётчики работают только в режиме суммирования. При переполнении (при переходе из состояния “все 1”в состояние “все 0”) устанавливается соответствующий флаг переполнения.

Управление Т/С осуществляется через 8-разрядные управляющие регистры TCON (адрес 88) и TMOD (адрес 89).

Определение флагов и управляющих битов регистраTCON

Имя регистра TCON
Адрес регистра
Бит регистра TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
Имя флага или бита управления TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Адрес флага или бита управления 8F 8E 8D 8C 8B 8A
Управление Т/С1 Т/С 0 По входу Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru По входу Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru

Описание флагов и управляющих битов в составе регистра

TCON:

TF1 (TF0) – флаг переполнения Т/С1 (Т/С0), который может запрашивать прерывание; при подтверждении прерывания сбрасывается.
TR1 (TR0) – бит включения (запуска) Т/С1 (Т/С0); TR = 1 – Т/С включен, TR = 0 – выключен; бит устанавливается и сбрасывается из программы.
IE1 (IE0) – флаг, устанавливающийся при наличии запроса прерывания по входу Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru ( Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru ); при подтверждении прерывания сбрасывается.
IT1 (IT0) – бит управления типом прерывания по входу Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru ( Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru ); IT = 1 – прерывание по переходу из 1 в 0, IT = 0 – прерывание по статическому уровню 0; бит устанавливается и сбрасывается из программы.

Определение флагов и управляющих битов регистраTMOD



Имя регистра TMOD
Адрес регистра
Бит регистра TMOD.7 TMOD.6 TMOD.5 TMOD.4 TMOD.3 TMOD.2 TMOD.1 TMOD.0
Имя флага или бита управления   GATE1 C/ Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru 1   M1.1   M0.1   GATE0 C/ Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru 0   M1.0   M0.0
Управление Т/С1 Т/С0

Описание флагов и управляющих битов в составе регистра TMOD:

M1, M0 – двухразрядный код, определяющий номер рабочего режима (00, 01, 10, 11) Т/С; задается из программы.
C/ Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru бит управления функцией Т/С: C/ Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru = 0 – таймер, на входе которого - импульсы с частотой FOSC/12 от внутреннего источника сигналов синхронизации; C/ Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru = 1 – счетчик событий на внешнем входе T; устанавливается из программы.
GATE – бит, разрешающий блокировку Т/С сигналом на внешнем выводе Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru ; GATE = 1 – блокировка разрешена: сигнал Таймеры/счётчики. Управление таймерами/счётчиками - student2.ru = 0 или вызывает останов работающего Т/С, или запрещает (блокирует) запуск Т/С из программы; GATE = 0 – блокировка запрещена; устанавливается из программы.

Наши рекомендации