Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[10]

5.2.2.Регистр управления РСА таймером-счетчиком CCON.

Адрес=0D8Н

Значение после сброса 00Х0 0000B возможна адресация к отдельным битам

СимволПозиция

Имя и назначение

CCON.7

Флаг переполнения РСА таймера-счетчика, устанавливается аппаратно при переполнении

счетчика. CF генерирует запрос на прерывание только при установленном бите ЕСР в СМОО. СР можно установить как программно, так и аппаратно, но сбрасывается он только

программно.

CR

CCON.6

Бит запуска РСА таймера-счетчика. При программной установке включает РСА таймер-счетчик. При программном сбросе выключает.

-

CCON.5

-

CCF4

CCON.4

Флаг прерывания модуля 4. Устанавливается аппаратно, когда происходит соответствующее событие. Сбрасывается программно.

CCON.3

Флаг прерывания модуля 3. Устанавливается аппаратио, когда происходит соответствующее событие. Сбрасывается программно.

CCF2

CCON.2

Флаг прерывания модуля 2. Устанавливается аппаратно, когда происходит соответствующее событие. Сбрасывается программно.

CCON.1

Флаг прерывания модуля 1. Устанавливается аппаратно, когда происходит соответствующее событие. Сбрасывается программно.

CCFO

CCON.0

Флаг прерывания модуля 0. Устанавливается аппаратно, когда происходит соответствующее событие. Сбрасывается программно.

5.3. Модули сравнения-захвата PCA микроконтроллеров MCS-51.

Каждый модуль может выполнять любую из следующих функций:

•захват 16-разрядного значения по фронту,

•захват 16-разредного значения по спаду;

•захват 16-разрядного значения и по фронту и по спаду,

•16-разрядный программируемый таймер;

•скоростной вывод;

•генератор импульсов заданной скважности.

Четвертый модуль может также работать в режиме сторожевого таймера.

У каждого модуля имеется два 8-разрядных регистра ССАРпН и CCAPnL. В этих регистрах или фиксируется или задается момент наступления некоего события. В режиме широтно-импупьсной модуляции ССАРпН определяет скважность импульсов. Режим работы модуля сравнения захвата определяет регистр ССАРМп (п=0,1,2,3,4).

5.3.1.Регистр режимов модуля сравнения захвата ССАРМп.

Значение после сброса Х000

Адреса ССАРМп (п=0..4)

ССАРМ0

0DAН

ССАРМ1

0DВН

ССАРМ2

0DCH

ССАРМЗ

0DDН

ССАРМ4

0DЕН

адресация к отдельным битам не возможна

Символ

Позиция

Имя и назначение

-

ССАРМп.7

-

ЕСОМп

ССАРМп.6

ЕСОМп=1 разрешение сравнения.

САРРп

ССАРМп.5

САРРп=1 разрешение захвата по фронту.

САР№

ССАРМп.4

САР№=1 разрешение захвата по спаду.

МАТп

ССАРМп.3

Если МАТп=1, то при совпадении знaчений в РСА таймере-счетчике и в регистрах ССАРп CCAPnL устанавливается флаг CCFn в регистре CCON.

TOGn

ССАРМп.2

Если TOGn=1, то при совпадении значения РСА в таймере-счетчике и в регистрах ССАРпН. ССАРnL. на внешнем контакте СЕХп происходит переключение сигнала (0-1

или 1-0).

PWMn

ССАРМп.1

PWMn=1 разрешает использовать внешний контакт СЕХп для генерации импульсов

заданной скважности.

ECCFn

ССАРМп.0

Разрешение флагу CCFn в регистре CCON генерировать запрос на прерывание.


5.3.2.Режимы работы РСА.

В таблице представлены комбинации битов регистра ССАРМп, соответствующие различным режимам работы модуля сравнения-захвата.

Х " Х " Х " Х " Х " Х " Х " Х[

ЕСОМп

CAPPn

CAPNn

МАТп

TOGn

PWMn

ECCF

Функции модуля

0

0

0

0

0

0

0

нет операций

Х

1

0

0

0

0

X

захват по фронту на СЕХп

Х

0

1

0

0

0

X

захват по спаду на СЕХп

Х

1

1

0

0

0

X

захват по перепаду на СЕХп

1

0

0

1

0

0

X

программируемый таймер

1

0

0

1

1

0

X

скоростной вывод

1

0

0

0

0

1

0

модулирование длительности импульса

1

0

0

1

X

0

X

сторожевой таймер

5.4.Режимы работы PCA микроконтроллеров семейства MCS-51.

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

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

СЕХП МП

ПН

РСА

"ТИЛШЕРУСЧЕГЧИК

си

(CAPTURE)

ССАРпН

CCAPrt-

н

В

САРРп

*

О

g

вест

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

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

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

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

Подпрограмма обработки прерывания может записать новое 16-paзpядное значение в регистры ССАРпН, ССАРп . Однако следует помнить, что запись в ССАРп сбрасывает ЕСОМп бит, тем самым


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

qouhil

1ВН

м

Ш1

d

о ММ* 1 чоо-

0

1 1

сите

;н дл-Г1 ЗАПИСЬ

>-0,1 ..з

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

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

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

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

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

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

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

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

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



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23]