Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 6 Периферия ОК.doc
Скачиваний:
3
Добавлен:
03.08.2019
Размер:
1.76 Mб
Скачать

6.3. Перезагружаемый таймер/счётчик

Модуль перезагружаемого таймера содержит 16-битный вычитающий счётчик, 16-битный регистр перезагрузки и регистр управления.

На вывод TIN, в зависимости от режима, могут подаваться тактовые импульсы, импульс запуска счетчика или сигнал приостановки счёта. На внешнем выводе ТOUT формируются прямоугольные импульсы с полупериодом, равным длительности одного цикла счёта.

Бит CNTE разрешает работу перезагружаемого таймера. Запуск счетчика выполняется программно, установкой бита TRG регистра управления, либо внешним сигналом с входа TIN.

На вход счетчика могут подаваться тактовые импульсы с частотой, кратной частоте машинного цикла (f/2, f/8, f/32), или импульсы с вывода TIN. В последнем случае модуль может использоваться для подсчёта числа внешних событий. В качестве событий рассматривается появление переднего фронта положительного импульса на входе, появление заднего фронта, или появление любого фронта импульса на входе TIN. Тип детектируемого события определяется битами MOD1 и MOD0.

При обратном переполнении счетчика устанавливается флаг UF и происходит перезагрузка счетчика содержимым регистра перезагрузки (если установлен бит RELD). При установленном бите разрешения прерывания INTE генерируется запрос прерывания.

Для подключения модуля к внешнему выводу TOT нужно установить бит OUTE. В режиме перезагрузки (RELD=1) значение на выводе будет инвертироваться после каждой перезагрузки. Начальное значение выхода TOT задаётся битом OUTL. В режиме однократного счёта (RELD=0) после запуске счётчика значение выхода инвертируется и не меняется во время счёта. После обратного переполнения выход возвращается в исходное состояние.

В функции затвора (только при внутреннем тактировании) активный уровень сигнала TIN разрешает счёт.

Внутреннее тактирование

Функции TIN (Внутреннее тактирование).

-Запуск

Функции TIN (Внутреннее тактирование).

-Затвор

Функции перезагрузки

Функции TOT (OUTE=1)

6.4. Таймер ввода/вывода

Таймер ввода/вывода объединяет 16-битный таймер/счётчик, модуль выходных компараторов и модуль захвата внешних событий.

6.4.1. Таймер/счётчик.

На вход счетчика, через пределитель (:4, :16, :64, :256), подаются тактовые импульсы с частотой f.

Счетчик обнуляется программно (установка бита CLR), при переполнении или при совпадении содержимого счетчика с «регистром сравнения 0» (установка бита MODE=1). При обнулении счетчика устанавливается флаг запроса прерывания.

Таймер может быть программно остановлен (установка бита STOP). В состоянии останова счетчик может быть установлен в произвольное состояние записью 16-разрядного слова.

6.4.2. Модуль выходного компаратора

Модуль выходного компаратора объединяет два выходных канала и включает два 16-битных «регистра сравнения 0, 1» и два регистра управления.

При совпадении текущего значения счётчика/таймера и содержимого регистра сравнения происходит инвертирование состояния выхода канала. Модуль может генерировать два запроса прерывания, при совпадении текущего значения счётчика/таймера и содержимого регистров сравнения.

В ыход канала 1 может управляться обоими регистрами совпадения. При этом инвертирование выхода будет происходить при совпадении таймера/счётчика с любым регистром. Для установки совместной работы регистров нужно установить бит CMOD.