Скачиваний:
144
Добавлен:
21.02.2014
Размер:
1.47 Mб
Скачать

8.1.3 Выходное сравнение.

Все регистры выходного сравнения - это шестнадцатиразрядные регистры, доступные как для чтения, так и для записи и инициализирующиеся во время сброса в $FFFF. Они могут использоваться для управления формой выходного сигнала или как индикаторы прошествия некоторого количества времени. Если эти регистры не используются по своему прямому назначению, они могут использоваться для хранения данных пользователя.

Все регистры выходного сравнения имет отдельные компараторы предназначенные для сравнения заданного значения (в регистре OCx) с текущим значением счетчика. В случае совпадения устанавливается соответствующий флаг выходного сравнения (OCxF) регистра TFLG1 и автоматически выполняются определенные действия. Совпадение значений в функциях 2-5 управляется двумя битами (OMx и OLx) регистра 1 управления таймером (TCTL1). Каждая пара битов кодирует специальное действие на выходе, которое производится в результате успешного сравнения OCx. Действия на выходе будут производиться в результате каждого успешного сравнения независимо от того, были ли ранее флан OCxF очищен или нет.

Также в случае установки соответствующего бита разрешения прерывания (OCxI) регистра TMSK1 одновременно с выходными действиями может произойти прерывание.

После записи микропроцессором в старший байт, выходные сравнения прекращаются на один цикл для того чтобы дать возможность последовательной записи двух байтов перед проведением следующего сравнения. Если изменяются оба регистра для использования преимущества этой задержки следует использовать команды, которые записывают два байта.

Можно перезаписывать только один из двух байт, не влияя на другой.

Доступный только для записи регистр принудительного сравнения таймера (CFORC) делает возможным принудительное сравнение. Пять бит регистра CFORC соответствуют пяти выходным сравнениям. Принудительное сравнение (или сравнения) вызывается записью “1” в соответствующие биты регистра CFORC. В результате происходят те же самые действия, как если бы произошло совпадение соответствующего регистра и счетчика таймера, за исключением того, что соответствующие биты статуса прерывания не устанавливаются. Действия на выходе синхронизируются с импульсами, поступающими с выхода предделителя, так что возможна задержка продолжительностью до 16 E циклов между записью в регистр CFORC и выходными действиями.

8.1.4 Управление вводом/выводом выходного сравнения 1.

В отличие от других четырех, выходное сравнение 1 может автоматически влиять на любой или на все сразу из пяти выводов (биты 3-7) порта A в результате успешного сравнения содержимого регистра OC1 и счетчика таймера. В сочетании с этой функцией используются два пятиразрядных регистра - регистр маскирования выходного сравнения 1 (OC1M) и регистр данных выходного сравнения 1 (OC1D).

Регистр OC1M используеся для определения тех битов порта A (порт ввода/вывода и таймера), на которые будет произведено воздействие в результате успешного сравнения OC1. Регистр OC1D используется для определения данных, которые будут выведены на линии порта A в результате успешного сравнения, если разрешено воздействие на соответствующий бит. В случае сопадения значения в регистре сравнения OC1 и любом другом в течение одного цикла E, и если результатом обоих будет попытка изменить состояние одних и тех же линий порта A, доминирует выходное сравнение OC1.

Эта функция позволяет выполнять автоматическое управление несколькими вводами/выводами с помощью единственного выходного сравнения.

Другой вариант использования специального управления вводами/выводами состоит в том, чтобы позволить более одного сравнения для управления одним выводом. В этом случае можно формировать импульсы каждый E цикл.

Соседние файлы в папке МС68НС11Е9