Регистр управления 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,определяет дополнительные возможности установки коэффициента предделителя таймера.
Дата добавления: 2015-08-14; просмотров: 553;