В составе микроконтроллера имеются независимые программно-управляемые таймеры/счётчики событий Т/С0, Т/С1 и Т/С2. Они функционируют на основе регистровых пар TH0, TL0, TH1, TL1 и TH2, TL2.
При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, через каждые 12 периодов резонатора.
При работе в качестве счётчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0, T1) вход микроконтроллера. Опрос сигналов выполняется в каждом машинном цикле. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчёта входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считываемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла.
Для управления режимами работы и для организации взаимодействия таймеров T/C0 и T/C1 с системой прерываний используются регистры специальных функций TMOD и TCON.
Таблица 6 - Формат регистра TMOD
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
GATE |
C\T |
M1 |
M0 |
GATE |
C\T |
M1 |
M0 |
T\C1 |
T\C0 |
Назначение битов M1, M0, если M1, M0 равны 0 то режим 0, если M1=0, M0=1 то режим 1, если M1=1, M0=0 то режим 2, если M1, M0 равны 1 то режим 3.
Бит C\T, если C\T=1 то счётчик, если C\T=0 то таймер.
Бит GATE- управление режимом блокировки.=1 таймер/счётчик разрешён, если вход INT0=1(аппаратное разрешение).=0 таймер/счётчик разрешён, если бит разрешения TR0 в регистре TCON=1(программное разрешение).
Таблица 7 - Формат регистра TCON
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
TF1 |
TR2 |
TF0 |
TR0 |
IE1 |
IT1 |
IE0 |
IT0 |
К таймерам |
К прерыванию |
Бит IT, управление типом внешнего прерывания, 1-прерывание по срезу, 0- прерывание по уровню
Бит IE- флаг прерывания по внешнему уровню, флаг IE устанавливается в 1 при переходе запроса на соответствующий внешний уровень.
Бит TR управление работой таймера/счетчика TR0=0-остановка, TR0=1-работа.
Бит TF флаг переполнения таймера, 1- переполнение таймера, 0 нет переполнения, формируется запрос на прерывание при переполнении таймера.
Для таймер/счетчиков режимы работы 0, 1 и 2 одинаковы, режимы 3 различны.
Режим 0. Соответствует тринадцатиразрядному таймеру-счетчику, который состоит из регистра THx и пяти младших битов регистра TLx, выполняющего функцию предделителя частоты на 32.
Режим 1. В этом режиме TL0 и TH0 образуют единый 16 разрядный регистр При переходе из состояния «все единицы» в состояние «все нули», устанавливается флаг переполнения в регистре TCON и таймер продолжает счёт с нуля.
Режим 2. При переходе из состояния «все единицы» в состояние «все нули» 8-битного счётчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем. Перезагрузка оставляет содержимое TH1 неизменным.
Режим 3. Используется редко. T1 останавливается, T0 работает как два незавимимых 8 битных таймера/счётчика.
Длительность формирования каждой кодовой комбинации определяется таймером/счетчиком T0 микроконтроллера. При переполнении таймера формируется запрос прерывания, в процессе обслуживания которого микроконтроллер читает из памяти и выводит в порт следующую кодовую комбинацию и начинает отсчет длительности следующего такта.
Определим количество машинных циклов, соответствующих временному интервалу ts при заданной рабочей частоте микроконтроллера. Длительность одного машинного цикла при тактовой частоте 33 МГц составит:
Читайте также
Применение пространственной фильтрации для улучшения радиоголографических изображений объектов, находящихся за препятствиями
В настоящее время активно развивается раздел науки, посвященный
радиовидению. Это связано с тем, что радиовидение может найти свое применение в
широкой сфере деятельности человека для об ...
Приемно-контрольная панель на базе микроконтроллера
Приемно-контрольные
приборы (ПКП) осуществляют прием информации от извещателей, ее запоминание,
обработку и передачу соответствующим службам, а также выполняют процедуры
взятия под охра ...
Поверка электронного вольтметра В7-26 по напряжению постоянного тока
Считается, что первый вольтметр изобрел М. Фарадей, причем в 1830
году, ещё за год до того, как он же открыл явление электромагнитной индукции,
на котором основано действие целого класса ...