Регистр прерываний состоит из четырех битов (флагов) прерываний совпадения и четырех битов (флагов) прерываний захвата. Если прерывание сгенерировано, то соответствующий бит в регистре IR установлен. В противном случае, бит будет сброшен. Запись логической 1 в бит регистра IR сбросит соответствующее ему прерывание. Запись логического 0 не будет иметь эффекта.
Битовая структура регистра IR приведена в Табл. 15.3.
Таблица 15.3. Биты регистра прерываний (IR: TIMERO — TOIR: 0хЕ0004000; TIMERl - T1IR: 0хЕ0008000)
Номер 6irraIR |
Функция бита |
Описание |
Значение после сброса |
0 |
Прерывание MR0 |
Флаг прерывания для канала совпадения 0 |
0 |
1 |
Прерывание MR] |
Флаг прерывания для канала совпадения 1 |
0 |
2 |
Прерывание MR2 |
Флаг прерывания для канала совпадения 2 |
0 |
3 |
Прерывание MR3 |
Флаг прерывания для канала совпадения 3 |
0 |
4 |
Прерывание CR0 |
Флаг прерывания для канала захвата 0 |
0 |
5 |
Прерывание CR1 |
Флаг прерывания для канала захвата 1 |
0 |
6 |
Прерывание CR2 |
Флаг прерывания для канала захвата 2 |
0 |
7 |
Прерывание CR3 |
Флаг прерывания для канала захвата 3 |
0 |
Регистр управления таймером (TCR: TIMERO — TOTCR: 0хЕ0004004; TIMER1 - T1TCR: 0хЕ0008004)
Регистр управления таймером TCR используется для того, чтобы управлять операциями таймера-счетчика.
Битовая структура регистра TCR приведена в Табл. 15.4.
Таблица 15.4. Биты регистра управления таймером (TCR: TIMERO — TOTCR: 0хЕ0004004; TIMERl - T1TCR- 0хЕ0008004)
Номер бита TCR |
Функция бита |
Описание |
Значение после сброса |
0 |
Разрешение счетчика |
Когда этот бит установлен, счетчику таймера и счетчику предделителя разрешен счет. Если бит сброшен, счетчики заблокированы |
0 |
1 |
Сброс счетчика |
Когда этот бит установлен, счетчик таймера и счетчик предделителя синхронно сбрасываются по следующему после установки фронту синхросигнала pclk. Счетчики остаются сброшенными до тех пор, пока бит TCR[1] не сбрасывается в НИЗКИЙ уровень |
0 |
Счетчик таймера (ТС: TIMERO - ТОТС: 0хЕ0004008; TIMER 1 - Т1ТС: 0хЕ0008008)
32-битный счетчик таймера инкрементируется, когда счетчик предделителя достигает своего конечного значения. Если ТС не был сброшен при достижении его заданного верхнего предела, то он досчитает до значения OxFFFFFFFF, а затем сбросится в значение 0x00000000. Этот случай не вызовет прерывания. Однако если это необходимо, для обнаружения переполнения ТС может использоваться регистр совпадения.
Регистр предделителя (PR: TIMERO — ТОРЯ: 0хЕ000400С; TIMER1 - T1PR: 0хЕ000800С)
32-битный регистр предделителя определяет максимальное (конечное) значение для счетчика предделителя.
Регистр счетчика предделителя (PC: TIMERO — ТОРС: 0хЕ0004010; TIMER1 - Т1РС: 0хЕ0008010)
32-битный счетчик предделителя управляет делением синхросигнала pclk на небольшое постоянное значение прежде, чем сигнал счетной частоты поступит на счетчик таймера. Это позволяет управлять разрешающей способностью таймера и задавать время переполнения таймера. Счетчик предделителя инкрементируется в каждом цикле pclk. Когда он достигает значения, сохраненного в регистре предделителя (PR), счетчик таймера инкрементируется, а счетчик предделителя сбрасывается в следующем цикле pclk. Например, ТС будет инкрементироваться в каждом цикле pclk, если PR = 0, каждые 2 цикла pclk, если PR = 1 и т. д.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |