Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_Методичка_07-04-11.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
7.8 Mб
Скачать

6.2.3.Таймер 3

Таймер 3 устроен аналогично Таймеру 2. Различны лишь названия регистра управления и счетных регистров. Регистры имею те же названия, но индекс 2 меняется на индекс 3 (TMR2CN => TMR3CN, TMR2L => TMR3L, TMR2H => TMR3H, TMR2RLL => TMR3RLL, TMR2RLH => TMR3RLH).

6.3.Модули сравнения фиксации (программируемый массив счетчиков)

Программируемый массив счетчиков (ПМС) реализует расширенные таймерные функции, при этом требует меньшего вмешательства со стороны процессорного ядра, чем стандартные таймеры/счетчики архитектуры 8051. ПМС состоит из специального 16-разрядного таймера/счетчика и шести 16-разрядных модулей захвата/сравнения. Каждый модуль захвата/сравнения имеет свою собственную линию ввода/вывода (CEXn), которая через матрицу соединяется, если разрешено, с внешним портом ввода/вывода (см. раздел «Порты ввода/вывода»). Таймер/счетчик ПМС тактируется программируемым внутренним сигналом, в качестве которого могут использоваться:

- внутренний сигнал с частотой, равной системной тактовой частоте;

- внутренний сигнал с частотой, равной 1/4 системной тактовой частоты;

- внутренний сигнал с частотой, равной 1/12 системной тактовой частоты;

- сигнал от внешнего генератора, деленный по частоте на 8;

- переполнение Таймера 0;

- входной сигнал на внешнем выводе ECI.

Рис 6.3.1 Структурная схема ПМС

Каждый модуль захвата/сравнения можно независимо настроить для работы в одном из шести режимов: инициируемый по фронту сигнала захват, программный таймер, высокоскоростной выход, выход заданной частоты, 8-разрядный широтно-импульсный модулятор и 16-разрядный широтно-импульсный модулятор. Для управления модулем ПМС и для его настройки используются связанные с ним SFR-регистры. Структурная схема модуля ПМС показана на рисунке 6.3.1.

Важное примечание: Модуль 5 захвата/сравнения можно использовать как сторожевой таймер WDT (этот режим включается после системного сброса). Если режим WDT включен, то доступ к некоторым регистрам ПМС ограничен.

6.3.1.Таймер/счетчик модуля пмс

16-разрядный таймер/счетчик модуля ПМС состоит из двух 8-разрядных SFR-регистров: PCA0L и PCA0H. PCA0H является старшим байтом (СЗБ) 16-разрядного таймера/счетчика, а PCA0L образует младший байт (МЗБ). При чтении регистра PCA0L значение регистра PCA0H автоматически фиксируется в регистре-защелке; последующее чтение регистра PCA0H возвратит данные именно из этого регистра-защелки. Таким образом, для обеспечения точности считывания полного 16-разрядного значения таймера/счетчика ПМС необходимо сначала прочитать регистр PCA0L, а затем регистр PCA0H. Чтение регистров PCA0H или PCA0L не препятствует функционированию счетчика. Выбор внутреннего сигнала тактирования таймера/счетчика осуществляется битами CPS2-CPS0 регистра PCA0MD, как показано в таблице 6.3.1.

При переполнении таймера/счетчика из состояния 0xFFFF в состояние 0x0000 устанавливается в 1 флаг переполнения счетчика (CF) в регистре PCA0MD и, если прерывание от флага CF разрешено, генерируется запрос прерывания. Установка в 1 бита ECF в регистре PCA0MD разрешает генерацию запроса прерываний при установке флага CF. Бит CF не сбрасывается аппаратно при переходе к процедуре обслуживания прерывания и должен быть сброшен программно. Следует иметь ввиду, что прерывания от флага CF распознаются только в том случае, если прерывания от модуля ПМС разрешены глобально. Прерывания от ПМС разрешаются глобально установкой в 1 битов EA (IE.7) и EPCA0 (EIE1.4).

Таблица 6.3.1. Выбор тактового сигнала для ПМС

* Примечание: Сигнал от внешнего генератора, деленный по частоте на 8, синхронизируется с системным тактовым сигналом.

Рис. 6.3.2. Структурная схема таймера/счетчика модуля ПМС