Motorola MC68HC705C8

Регистр входной фиксации (Input Capture Register) расположен по адресу 14Н-15Н и предназначен только для чтения из него времени обнаружения на выводе TCAD сигнала. Уровень сигнала, вызывающего фиксацию времени, задается программно через бит IEDG управляющего регистра. RESET не оказывает влияния на содержимое регистра входной фиксации. Значение в регистре ICR при фиксации будет на единицу больше значения счетчика в момент фиксации. Эта задержка необходима для внутренней синхронизации. Таким образом, счетчик и регистр входной фиксации имеют одинаковое разрешение, равное четырем циклам внутренней синхронизации.

При обнаружении сигнала на выводе ТСАP содержимое счетчика фиксируется в ICR вне зависимости от состояния флага ICF (см. регистр статуса). Поэтому ICR всегда содержит время последней фиксации.

При чтении старшего байта регистра входной фиксации (14Н) фиксация следующего значения запрещается до тех пор, пока не будет прочитан младший байт. Чтение же младшего байта не влияет на возможность очередной входной фиксации.

Регистр выходного сравнения (Output Compare Register) расположен по адресу 16Н-17Н и используется для программирования какого-либо действия в определенное время (т. е. когда счетчик достигнет определенного значения). Все биты регистра могут быть прочитаны и записаны в любой момент времени, и не изменяют свое состояние при RESET. Если в функции выходного сравнения нет необходимости, эти ячейки памяти могут использоваться для других целей. Значение в регистре выходного сравнения сравнивается со счетчиком каждые 4 цикла. Когда значения совпадают, устанавливается флаг (OCF) и уровень бита OLVL (см. регистр статуса таймера) передается на вывод ТСМР. Так же может происходить прерывание, если установлен бит OCIE. Содержимое регистра выходного сравнения и бит OLVL должны изменяться после каждого удачного сравнения, для того чтобы начать новый цикл сравнения. При записи сначала в старший байт ОСR (16Н) сравнение не будет производиться до тех пор, пока не будет записан младший байт. При записи же сначала в младший байт, функция сравнения будет активирована. Таким образом, пользователь должен записать оба байта OCR, если сначала записывается старший.

Управляющий регистр (TCR), находящийся по адресу 12Н, содержит 5 управляющих битов. Каждому из трех бит управления прерываниями соответствует флаг статуса таймера ICF, OCF и TOF.

Управляющий регистр таймера

Название

ICIE

OCIE

TOIE

0

0

0

IEDG

OLVL

Установка после RESET

0

0

0

0

0

0

-

0

ICIE - бит запрета/разрешения прерывания при входной фиксации,

при ICIE=1-прерывание разрешено,

при ICIE=0-прерывание запрещено,

OCIE - бит запрета/разрешения прерывания при выходном сравнении,

при ОCIE=1-прерывание разрешено,

при OCIE=0-прерывание запрещено,

TOIE - бит запрета/разрешения прерывания при переполнении таймера,

при TOIE=1-прерывание разрешено,

при TOIE=0-прерывание запрещено,

IEDG - бит определяет, что будет инициировать фиксацию счетчика в регистре входной фиксации - фронт или спад импульса на TCAP.

при IEDG=1-фронт,

при IEDG=0-спад

RESET не оказывает влияния на этот бит.

OLVL - бит определяет, какой уровень будет устанавливаться на TCMP

при выходном сравнении.

при OLVL=1-высокий уровень,

при OLVL=0-изкий уровень.

Регистр статуса таймера находится по адресу 13Н, предназначен только для чтения и содержит три флага, каждый из которых относится к определенному прерыванию.

Регистр статуса

Назначение

ICF

OCF

TOF

0

0

0

0

0

Установка после RESET

U

U

U

0

0

0

0

0

ICF-флаг входной фиксации,

ICF=1 - флаг устанавливается, когда входной сигнал соответствующей полярности зафиксирован,

ICF=0 - флаг сбрасывается при чтении младшего байта входного регистра фиксации (15Н), после чтения TSR, пока установлен ICR.

OCF-флаг выходного сравнения,

OCF=1 - флаг устанавливается, когда значение в регистре выходного сравнения совпадает со значением в счетчике.

OCF=0 - флаг сбрасывается при записи в младший байт (17Н) регистра выходного сравнения, после чтения TSR пока установлен ОCF.

TOF-флаг переполнения таймера,

TOF=1 - флаг устанавливается при переключении счетчика со значения FFFFH на 0000H.

TOF=0 - флаг сбрасывается при чтении младшего байта (19Н) счетчика после чтения TSR пока установлен TOF.

Для того, чтобы сбросить бит статуса, необходимо произвести две операции: во-первых, прочитать регистр статуса, во-вторых, прочитать регистр, соответствующий определенному биту статуса (например, для бита ICF это регистр ICR).

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

Работа таймера в режимах STOP и WAIT описана в разделе 3.2.

2.4 Последовательный интерфейс

Порт D представляет собой 7-и битный (канал D6 не используется) однонаправленный порт (только для ввода данных, если он используется как порт общего назначения для параллельного обмена). Когда активизированы системы последовательного интерфейса связи (Serial Communication Interface), либо последовательного периферийного интерфейса (Serial Periferal Interface), управление портом D переходит к ним. Во время начальной установки порт D конфигурируется на ввод информации, поскольку последовательные интерфейсы блокированы.


Страница: