ВУЗ:
Составители:
2.17. Сторожевой таймер
Сторожевой таймер обозначается WDT – Watchdog timer. Это встроенный
таймер, работающий от независимого генератора с частотой 1 МГц. Он служит
для повышения надежности программ. Если программа зависла или зациклилась,
то сторожевой таймер через некоторое время сбросит ее и начнет выполнять сна-
чала. Чтобы избежать непреднамеренного сброса микроконтроллера, сторожевой
таймер надо периодически программно сбрасывать, причем раньше, чем он сбро-
сит микроконтроллер.
Для сброса сторожевого таймера служит команда Wdr – reset the watchdog
timer.
Управление таймером осуществляется регистром ввода/вывода WDTCR.
Регистр WDTCR
7 6 5 4 3 2 1 0
WDIF WDIE WDP3 WDCE WDE WDP2 WDP1 WDP0
Биты WDP3…0 устанавливают время сброса сторожевого таймера (таблица
10).
Табл. 10
WDP3…0 Timer
0000 16 мс
0001 32 мс
0010 64 мс
0011 0,125 с
0100 0,25 с
0101 0,5 с
0110 1,0 с
0111 2,0 с
1000 4,0 с
1001 8,0 с
WDE (3-й бит) – разрешение включения таймера. 1 – таймер включен, 0 –
таймер выключен.
WDCE (4-й бит) – защита от выключения таймера или изменения времени
сброса. Выключение таймера или установление тайм-аута можно осуществить
только при установленном разряде WDCE, который аппаратно сбрасывается че-
рез 4 машинных цикла.
Конфигурационной ячейкой WDTON сторожевой таймер может быть установ-
лен в одно из состояний: WDTON=1 – сторожевой таймер может быть выключен
51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »