22
Регистр управления таймером общего назначения (GPTCON)
Регистр управления GPTCON определяет действие, выполняемое тай-
мером общего назначения (запуск АЦП, полярность выхода сравнения тай-
мера) и указывает направление счета.
Регистры сравнения таймера общего назначения
В регистре сравнения таймера общего назначения хранится величина, с
которой сравнивается содержимое счетчика таймера. Когда значения совпа-
дают, выход сравнения таймера ведет себя так, как это определено в регистре
GPTCON, выставляется соответствующий флаг прерывания. Операция срав-
нения может быть включена или выключена битом 1 регистра TxCON.
Регистр периода таймера общего назначения
Значение, хранящееся в регистре периода таймера общего назначения,
определяет период счета таймера. От того, в каком режиме счета находится
таймер, зависит, что произойдет при совпадении значения счетчика таймера
и регистра периода: остановка на текущем значении, сброс в 0 или начало
счета в обратном направлении.
32-битный таймер
Сигнал переполнения таймера 2 подается на вход тактирующих им-
пульсов таймера 3, таким образом, таймеры 2 и 3 соединяются в один 32-
битный таймер. В этом случае значение, отсчитанное таймером 2, рассматри-
вается как младшие 16-бит 32-битного счетчика. Полученный таким образом
32-битный таймер может работать только в режиме направляемого счета.
2.3. Прерывания таймера общего назначения
Существует 12 флагов прерываний в EVIFRA и EVIFRB для трех тай-
меров общего назначения. Каждый таймер может генерировать четыре пре-
рывания в соответствии со следующими событиями:
9 Положительное переполнение: TxOFINT (x = 1, 2 или 3).
9 Отрицательное переполнение: TxUFINT (x = 1, 2 или 3).
9 Сравнение: TxСINT (x = 1, 2 или 3).
9 Достижение периода: TxPINT (x = 1, 2 или 3).
Событие «сравнение» происходит в случае совпадения значения счет-
чика таймера и регистра сравнения. Соответствующий флаг выставляется
спустя два такта центрального процессора, если операция сравнения включе-
на. Событие «положительное переполнение» (переполнение) происходит при
достижении таймером значения FFFFh. Событие «отрицательное переполне-
ние» (заем) происходит при достижении таймером значения 0000h. Подоб-
ным образом, событие «достижение периода» происходит при достижении
таймером значения, записанного в регистре периода.