Регистр управления WDTCR

Регистр управления сторожевого таймера WDTCR расположен в области вво­да/вывода по адресу $21 (или по адресу $41 в RAM). После поступления сигнала сброса он инициализируется значением $00.

Формат регистра WDTCR

Разряд                  
$21 ($41) WDIF WDIE WDP3 WDTOE WDE WDP2 WDP1 WDP0 WDTR
    * * * WDCE          

Биты, приведенные в формате регистра WDTCR условно можно разделить на две группы: используемые в стандартных исполнениях и в специализированных вариантах исполнения (отмечены *).

Стандартные исполнения.

Бит 4 – WDТОE (Watchdog Turn Off Еnable): Разрешение изменения режимов сторожевого таймера. Этот бит используется при изменении состояния битов предварительного делителя и бита WDE. Перед тем, как сбросить бит WDE и/или изменить состояние битов предварительного делителя, должен быть установлен разряд WDCE. После записи в него единицы бит WDТОE будет автоматически сброшен аппаратным путем по истечении четырех машинных циклов.

Бит 3 – WDE (Watchdog Еnable): Разрешение режима сброса. Флаг WDE дублирует флаг WDRF в регистре MCUSR. Это означает, что WDE всегда установлен, если установлен WDRF. Для того, чтобы очистить WDE, нужно сначала. очистить WDRF. Эта особенность гарантирует многократный сброс микроконтроллера до тех пор, пока существует условие, вызывающее зависание программы и безопасный запуск программы сразу после окончания этого условия.

Биты 2..0 – WDP2:0: Выбор режима работы предварительного делителя охранного таймера. Биты WDP2:0 определяют коэффициент деления предвари­тельного делителя сторожевого таймера. Все возможные коэффициенты деления и соответствующие им защитные периоды времени приведены в табл. 6.20.

Таблица 7.1. Настройка времени до наступления сторожевой задержки при рабочем напряжении Vcc=+5В.

WDP2 WDP1 WDP0 Время до наступления сторожевой задержки
      около 16 мс
      около 32 мс
      около 64 мс
      около 128 мс
      около 256 мс
      около 512 мс
      около 1024 мс
      около 2048 мс

Разряды WDP2-WDP0 устанавливают коэффициент предварительного деле­ния входного такта сторожевого таймера. В табл. 5.1 показана типичная продол­жительность отсчета времени для рабочего напряжения +5 В.

В микроконтроллерах базовой серии семейства АVR используются только разряды 0-4 регистра WDTCR (доступны для чтения и записи). Разряды 5-7 ком­панией Atmel зарезервированы и доступны только для чтения (всегда содержат лог.0).

Специализированные исполнения (ATtiny2313).

Бит 7 - WDIF: Флаг прерывания от сторожевого таймера. Этот бит уста­навливается при срабатывании сторожевого таймера, если выбран режим прерываний. Флаг WDIF сбрасывается аппаратным способом в момент вызова процедуры обработки прерывания. Он также может быть очищен программно путем записи в него логического нуля.

Данное прерывание выполняется только в том случае, когда установлены как флаг глобального разрешения прерывания (флаг I регистра SREG), так и флаг WDIE, и при этом истекло время ожидания сторожевого таймера.

Бит 6 - WDIE: Бит разрешения прерываний от сторожевого таймера. Когда значение этого бита равно единице и установлен флаг 1 в регистре SREG, прерывание от сторожевого таймера разрешается. Теперь, если флаг WDE очищен и время ожидания истекло, происходит запрос на прерывание.

Бит 5 – WDP3, определяет дополнительные возможности установки коэффициента предделителя таймера.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: