Установка с уровнем защиты – 1.

Для семейства Mega процедура несколько сложнее: сначала нужно устано­вить биты WDCE И WDE одновременно, потом повторно разрешить работу уста­новкой WDE и одновременно установить коэффициент деления, но при сбро­шенном WDCE: (листинг 7.3).

 

Листинг 7.3

сli

wdr

ldi tmp, (l<<WDCE) I (l<<WDE)

out WDTCR,tmp

ldi tinр, (l«WDE) I (l«WDP2) I (l«WDPl.) I (l«WDP0)

out WDTCR,tmp

sei

 

Процедура выключения одинакова для всех моделей и аналогична включе­нию в предыдущем случае (листинг 7.4).

 

Листинг 7.4

cli

wdr

ldi tmp, (l«WDCE) I (l«WDE)

out WDTCR,tmp

ldi tmp, (O«WDE)

out WDTCR,tmp

sei

 

После того как мы разобрались с включением, WDT начинает постоянно "молотить" (в том числе и в режиме энергосбережения), и чтобы избежать сброса МК в нормальном режиме работы программы, таймер следует перио­дически сбрасывать командой wdr - paньше, чем истечет заданный период. Обычно это делается по какому-либо прерыванию, например:

 

ЕХТ INT0:

wdr ;сброс сторожевого таймера

 

Предположим, что мы установили WDT на период 2 с, а прерывание должно возникать каждую секунду, то командой wdr мы сбрасываем таймер WDT заведомо раньше, чем он сработает, и тогда он начнет отсчет выдержки сначала. Если же что-то (часы или программа) "повиснет", то произойдет общий сброс МК.








Дата добавления: 2015-08-14; просмотров: 418;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.