Блок-схема сторожевого таймера изображена на Рис. 19.1.
' «Антипереполнение» счетчика, считающего на убывание, наступает, когда его содержимое достигает 0, и в следующем цикле счета становится равным максимальному значению (OxFFFFFFFF для 32-битного счетчика). (Прим. науч. ред.)
19.2. Описание регистров WDT
Сторожевой таймер содержит 4 регистра, перечисленные в Табл. 19.1.
Таблица 19.1. Карта регистров сторожевого таймера
Название |
Описание |
Доступ |
Значение после сброса" |
Адрес |
WDMOD |
Регистр режима сторожевого таймера. Содержит данные о режиме и текущем состоянии сторожевого таймера |
R/S (Чтение/Установка) |
0 |
OxEOOOOOOO |
WDTC |
Регистр константы сторожевого таймера. Определяет значение времени тайм-аута сторожевого таймера |
R/W |
OxFF |
0хЕ0000004 |
WD FEED |
Регистр последовательности «подачи» (инициализации загрузки) сторожевого таймера. Запись в этот регистр числа OAAh, сразу после которой следует запись числа 55h, загружает в сторожевой таймер предварительно установленное значение |
WO |
NA |
0хЕ0000008 |
WDTV |
Регистр значения сторожевого таймера. Возвращает текущее значение сторожевого таймера |
RO |
OxFF |
ОхЕООООООС |
Значение относится к данным, содержащимся только в используемых битах, и не включает содержимое зарезервированных битов. |
Регистр режима сторожевого таймера (WDMOD — OxEOOOOOOO)
Регистр WDMOD управляет операциями сторожевого таймера в соответствии с комбинациями битов WDEN и WDRESET, как показано в Табл. 19.2.
Таблица 19.2. Режимы сторожевого таймера
WDEN |
WDRESET |
Режим |
0 |
X |
Отладка/работа без сторожевого таймера |
1 |
0 |
Отладка с прерыванием от сторожевого таймера, но без сброса от него |
1 |
1 |
Работа с прерыванием от сторожевого таймера и со сбросом от него |
Битовая структура регистра WDMOD приведена в Табл. 19.3.
Таблица 19.3. Регистр режима сторожевого таймера (WDMOD — OxEOOOOOOO)
Номер бита WDMOD |
Название |
Описание |
Значение после сброса |
0 |
WDEN |
Бит разрешения прерывания от сторожевого таймера (только установка) |
0 |
1 |
WDRESET |
Бит разрешения сброса от сторожевого таймера (только установка) |
0 |
2 |
WDTOF |
Флаг тайм-аута сторожевого таймера |
0 (только после внешнего сброса) |
3 |
WDINT |
Флаг прерывания от сторожевого таймера (только чтение) |
0 |
7:4 |
Зарезервированы |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
После того, как биты WDEN и/или WDRESET программно устанавливаются, они не могут быть программно сброшены. Оба этих бита могут быть сброшены только с помощью внешнего сброса или в результате антипереполнения сторожевого таймера.
Флаг тайм-аута сторожевого таймера WDTOF устанавливается, когда истекает тайм-аут сторожевого таймера. Этот флаг сбрасывается программно.
Флаг прерывания от сторожевого таймера WDINT устанавливается, когда истекает тайм-аут сторожевого таймера. Этот флаг сбрасывается, когда происходит любой сброс.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |