Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микроконтроллеры семейства MCS-511.doc
Скачиваний:
231
Добавлен:
02.05.2014
Размер:
1.74 Mб
Скачать

5.4.2.Режим 16-разрядного программируемого таймера.

В этом режиме 16-разрядное значение РСА таймера-счетчика сравнивается с 16-разрядным значением, которое было предварительно загружено в регистры CCAPnH, CCAPnL одного из модулей сравнения-захвата. Это происходит трижды за машинный цикл. Установка бита ЕСОМn в регистре ССАРМn разрешает функцию сравнения, как показано на рисунке. Для перехода в режим программируемого таймера также должен быть

установлен бит МАТn. Когда происходит совпадение значений РСА таймерасчетчика и регистров CCAPnH, CCAPnL, устанавлиается флаг событий CCFn. При этом будет генерироваться запрос на прерывание, если бит ECCFn установлен. Математическое обеспечение должно сбрасывать флаг событий CCFn перед тем, как произойдет следующее совпадение.

Подпрограмма обработки прерывания может записать новое 16-paзpядное значение в регистры ССАРnН, CCAPnL. Однако следует помнить, что запись в CCAPnL сбрасывает ЕСОМn бит, тем самым запрещая функцию сравнения на время пока происходит изменение содержимого этих регистров, что позволяет избежать неверного совпадения. Запись ССАРnН устанавливает бит ЕСОМn и возобновляет работу компаратора. По этой причине математическое обеспечение должно записывать сначала CCAPnL, затем ССАРnН.

Рис.13. Режим 16-разрядного программируемого таймера.

5.4.3.Режим скоростного вывода.

В этом режиме формируется сигнал на внешнем выводе СЕХn, когда происходит совпадение РСА таймера со значением, которое было предварительно загружено в регистры ССАРnН, CCAPnL одного из модулей. В этом режиме бит TOGn должен быть установлен дополнительно к битам ЕСОМn и МАТn, как показано на рисунке в предыдущем разделе. Устанавливая или сбрасывая этот бит в своей программе, вы можете формировать на внешнем выводе СЕХn или фронт, или спад. Кроме того, при совпадении может генерироваться запрос на прерывание, если бит ECCFn установлен. Режим скоростного вывода является более точным по сравнению с переключением контактов параллельного порта программным путем, поскольку формирование сигнала на внешнем выводе происходит до обращения к подпрограмме обработки прерывания. Это значит, что задержка, связанная с выполнением подпрограммы обработки прерывания, не будет влиять на формирование сигнала. Если подпрограмма обработки прерывания не изменит содержимого регистров ССАРnН, CCAPnL, то следующий сигнал "совпадение" будет сформирован после того, как значение РСА таймера-счетчика снова совпадет со старым сравниваемым значением.

5.4.4.Режим сторожевого таймера (watchdog timer).

Сторожевой таимер - это схема, которая автоматически сбрасывает микроконтроллер, если не получает oт управляемой системы сигнала, который подтверждает, что не произошло никакого сбоя. Такое устройство используется в системах, (где есть электрические помехи или сбои по питанию и, где нужно обеспечить большую надежность. В режиме сторожевого таймера может работать только четвертый модуль. Сигнал сброса срабатывает всякий раз, когда происходит совпадение значения РСА таймера-счетчика со значением регистров ССАР4Н, CCAP4L (см. рисунок). Бит WDTE в регистре CMOD устанавливает этот режим. При этом четвертый модуль должен находиться или в режиме программи­руемого таймера, или скоростного вывода. Сторожевой таймер сбрасывает ОЭВМ также, как при подаче высокого уровня на девятую "ножку" микросхемы. Предотвратить сброс можно тремя способами:

  1. периодически изменять значение в регистрах ССАР4Н, CCAP4L, так что бы оно никогда не совпало с РСА таймером-счетчиком;

  2. периодически изменять регистры СН, CL РСА таймера-счетчика, чтобы они никогда не совпали со значением в регистрах ССАР4Н, GCAP4L;

  3. выключить режим охранного таймера путем сброса бита WDTE перед тем, как произойдет совпадение и затем снова включить его.

Первые два способа являются более надежными, поскольку третий способ трудно реализовать. Второй способ не рекомендуется при­менять, если таймер РСА используется другим модулем. Если сторожевой таймер не нужен, то четвертый модуль может работать в любом другом режиме.

 

Рис.14. Сторожевой таимер.