Управление генерацией прерываний от RTC осуществляется через регистр местоположения прерывания (ILR), регистр прерываний при инкрементирова-нии счетчиков (CIIR), сигнальные регистры и регистр сигнальной маски (AMR). Прерывания генерируются только для перехода в состояние обработки прерывания (не для сброса).
Регистр ILR раздельно разрешает прерывания от AMR и CIIR. Каждый бит в регистре CIIR соответствует одному из счетчиков времени. Если в регистре CHR разрешена специальная функция соответствующего счетчика времени, то каждый раз, когда инкрементируется этот счетчик, генерируется прерывание.
Сигнальные регистры предоставляют пользователю возможность задавать дату и время, при наступлении которых будет сгенерировано прерывание. Наличие регистра AMR обеспечивает механизм маскирования сигнализации при совпадении. Если все сигнальные регистры являются незамаскированными, то при совпадении их значений со значениями соответствующих счетчиков времени будет сгенерировано прерывание.
304
18.2.2. Смешанная группа регистров
Регистры смешанной группы модуля RTC перечислены в Табл. 18.2. Более детальные описания каждого из регистров даны ниже.
Таблица 18.2. Смешанная группа регистров модуля RTC
Адрес |
Название |
Размер [бит] |
Описание |
Доступ |
0хЕ0024000 |
ILR |
2 |
Местоположение прерывания. Чтение этого регистра указывает источник прерывания. Запись логической 1 в соответствующий бит в регистре сбрасывает соответствующее прерывание |
R/W |
0хЕ0024004 |
СТС |
15 |
Счетчик импульсов тактовой частоты. Подсчитывает значение импульсов тактовой частоты (опорной частоты, деленной на значение предделителя) |
RO |
0хЕ0024008 |
CCR |
. 4 |
Регистр управления тактированием. Управляет делителем тактовой частоты |
R/W |
0хЕ002400С |
CIIR |
8 |
Регистр прерываний при инкрементировании счетчиков. Выбирает счетчики, которые генерируют прерывание, когда происходит их инкре-ментирование |
R/W |
0хЕ0024010 |
AMR |
8 |
Регистр сигнальной маски. Управляет маскированием каждого из сигнальных регистров |
R/W |
0хЕ0024014 |
CTIMEO |
32 |
Регистр консолидированного (объединенного) времени 0 |
RO |
0хЕ0024018 |
CTIME1 |
32 |
Регистр консолидированного (объединенного) времени 1 |
RO |
0хЕ002401С |
CTIME2 |
32 |
Регистр консолидированного (объединенного) времени 2 |
RO |
Регистр местоположения прерывания (ILR — 0хЕ0024000)
Регистр местоположения прерывания — 2-битный регистр, который определяет, какой блок сгенерировал прерывание (см. Табл. 18.3). Запись логической единицы в бит регистра сбрасывает соответствующее этому биту прерывание. Запись логического нуля не будет иметь никакого эффекта. Это позволяет пользовательской программе считывать этот регистр и вновь записывать в него прочитанное значение, чтобы сбросить только то прерывание, которое было обнаружено при чтении.
Битовая структура регистра ILR приведена в Табл. 18.3.
Таблица 18.3. Биты регистра местоположения прерывания (ILR — 0хЕ0024000)
Номер бита ILR |
Название бита |
Описание |
0 |
RTCCIF |
Если этот бит установлен, значит, блок прерываний от инкрементирования счетчиков сгенерировал прерывание. Запись логической 1 в этот бит сбрасывает прерывание, сгенерированное от инкрементирования счетчика |
1 |
RTCALF |
Если этот бит установлен, значит, сигнальные регистры сгенерировали прерывание. Запись логической 1 в этот бит сбрасывает сигнальное прерывание |
Счетчик импульсов тактовой частоты (СТС — 0хЕ0024004)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |