Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по МПС.doc
Скачиваний:
32
Добавлен:
26.11.2019
Размер:
3.25 Mб
Скачать

5.9. Режимы работы pca микроконтроллеров семейства mcs-51. Режим захвата.

При обнаружении фронта или спада на внешнем выводе СЕХn в этом режиме осуществляется запись значения РСА таймера-счетчика в регистры ССАРnН, CCAPnL (см. рисунок). Этот режим рекомендуется использовать при измерении периодов, длительности, скважности импульсов, а также разности фаз между различными входами. Установка битов САРРn и/или CAPNn в регистре ССАРМn определяет перепад (0-1 или 1-0), по которому будет осуществляться захват. При захвате устанавливается флаг события модуля CCFn в регистре CCON, и генерируется запрос на прерывание, если установлен бит ECCFn в регистре ССАРМn. Флаг события сбраывается программно. До наступления следующего события значение в регистрах ССАРnН, CCAPnL должно быть сохранено в ОЗУ подпрограммой обработки прерывания. В противном случае, в регистрах ССАРnН, CCAPnL будет записано новое значение.

 

Режим захвата.

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

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

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

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

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

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