79
независимо от остальных может быть запрограммирован на работу в следующих
режимах: защелкивания по фронту и/или спаду импульса, программируемого
таймера, высокоскоростного выхода, ШИМ. Каждый из модулей имеет в своем
составе пару 8-разрядных регистров CCAPnH и CCAPnL, где n — номер модуля.
В режиме защелкивания появление на входной линии Р1.3+n перепада, на от-
слеживание которого настроен модуль, приводит к запоминанию в регистровой
паре CCAPn текущего состояния счетчика PCA и вызову соответствующего пре-
рывания. Тем самым обеспечивается возможность достаточно точного измерения
периода следования сигналов, ширины импульса, его скважности, а также вре-
менных сдвигов между импульсами, приходящими по разным входным линиям.
Точность измерения определяется главным образом временем, необходимым для
запоминания информации в регистровой паре CCAPn. При тактовой частоте
12 МГц это время не превышает 10 мкс.
Режим программируемого таймера используется в случаях, когда некоторая
подпрограмма должна выполняться с постоянным заданным интервалом. Это мо-
жет потребоваться, например, при реализации часов реального времени.
В режиме высокоскоростного выхода происходит переключение сигнала на
линии P1.3+n с высокого уровня в низкий в момент совпадения информации в со-
ответствующей регистровой паре CCAPn с содержимым счетчика PCA. При этом
может быть запрошено прерывание. Подпрограмма обработки этого прерывания
должна изменить содержимое регистровой пары CCAPn. В противном случае но-
вое изменение состояния линии P1.3+n произойдет, когда счетчик PCA перепол-
нится и начнет счет заново. Это может потребовать существенного времени —
при тактовой частоте 16 МГц порядка 30 мс.
Выход ШИМ может использоваться для широтно-импульсного управления
исполнительными устройствами систем автоматики, а также для преобразования
цифровых сигналов в аналоговую форму. Выходной ШИМ-сигнал вырабатывает-
ся по следующим правилам: если содержимое регистра CCAPnL меньше содер-
жимого регистра CL, то на внешнем выводе P1.3+n присутствует сигнал низкого
уровня, в противном случае — высокого. Таким образом, значение, записанное в
регистр CCAPnL, задает скважность формируемых импульсов, а сам модулятор
является 8-разрядным. Т. к. при работе в этом режиме переполнение CCAPnL
приводит к записи в него информации из CCAPnH, то число, соответствующее
требуемой скважности, следует хранить в CCAPnH. Содержимое CCAPnH связа-
но со скважностью следующим соотношение:
скважность
256
256CCAPnH
−= , где
результат округляется до целого.
Модуль 4 сравнения-защелки может использоваться в качестве сторожевого
таймера (watchdog timer). Сторожевой таймер представляет собой устройство, ко-
торое вызывает сброс, если МК не пришлет ему сигнал подтверждения нормаль-
ной работы. Это устройство целесообразно задействовать в системах, длительно
работающих в условиях мощных электрических помех. В этом режиме при совпа-
дении содержимого счетчика PCA со значением, записанным в регистровой паре
CCAP4, генерируется внутренний сигнал сброса. При задействованном стороже-