Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mpt_kurs121.doc
Скачиваний:
25
Добавлен:
21.11.2019
Размер:
8.24 Mб
Скачать

Программируемый таймер кр580ви53

БИС К580ВИ53, размещенная в корпусе с 24-мя выводами, предназначена для выработки временных интервалов между импульсами, длительность и форма которых задаются программно. В микросхеме имеется три совершенно одинаковых счетчика с независимым управлением и выдачей выходных сигналов. Специальные, программно задаваемые режимы таймера позволяют делить входную частоту, вырабатывать однократные, зависящие от тактовой частоты стробирующие сигналы, вести подсчет числа внешних импульсов, измерять длительность промежутка времени. Т.о. на БИС можно реализовать функции счетчика-таймера (временная задержка), счетчика событий, программного управляемого генератора частоты, часов реального времени, цифрового счетчика (срабатывание от единичного импульса) - и, следовательно, освободить от этих функций центральный процессор.

Управляющие слова и начальные значения всех счетчиков вводятся по шине данных микропроцессора. Доступ к таймеру открывается подачей сигнала низкого уровня на вход CS(L), а выбор конкретного счетчика делается по входам А1 и А0, подключенным к младшим разрядам шины адреса.

Каждый счетчик представляет собой 16-разрядный регистр обратного счета, т.е. работающий только на вычитание. Счет может производиться в двоичном коде или бинарном кодировании десятичных чисел. Соответственно максимальное значение составляет 216 или 104. Загрузка нулей во все счетные триггеры позволяет получить максимальный коэффициент счета. Выходными сигналами каждого счетчика являются тактовые импульсы, по которым содержимое счетчика уменьшается на единицу. Кроме того имеются входные сигналы СE0, СE1, СE2, которые управляют работой каждого счетчика: высокий уровень сигнала СE возбуждает счет, низкий блокирует счет, т.е. приостанавливает работу счетчика. Счет возобновляется при подаче сигнала высокого уровня.

Кодовая комбинация

Функция

CS (L)

RD (L)

WR (L)

A1

A0

0

1

0

0

0

Загрузка СE0

0

1

0

0

1

Загрузка СE1

0

1

0

1

0

Загрузка СE2

0

1

0

1

1

Загрузка управляющего слова

0

0

1

0

0

Отсчет 0

0

0

1

0

1

Отсчет 1

0

0

1

1

0

Отсчет 2

1

X

X

X

X

Отключение от шины данных

Функции, выполняемые таймером, полностью определяются программным обеспечением. Для инициализации таймера должен быть введен набор управляющих слов, задающий режимы и начальные значения каждого счетчика. Счетчики могут программироваться в любой последовательности. Каждый счетчик программируется отдельно путем записи управляющего слова.

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

Текущее содержание счетчиков может считываться двумя способами: чтения с помощью команды ввода; чтения «на лету», при котором счет не останавливается. В первом случае для обеспечения стабильного показания счетчика его работа во время считывания должна быть приостановлена либо снятием сигнала разрешения, либо прекращением подачи тактовых импульсов на данный счетчик. Режим «на лету» (защелкивание) создается программно путем подачи 0 на разряды D5 и D4 управляющего слова, при этом D7 и D6 должны содержать код выбора данного счетчика. По этой команде текущее значение счетчика запоминается в буферном регистре, из которого можно считывать зафиксированное значение.

Таймер может работать в шести режимах.

Режим 0 - выработка единичного сигнала запуска (или прерывания) после поступления заданного числа тактовых импульсов. Иными словами, происходит преобразование числа n, соответствующего начальному состоянию счетчика, во временной интервал. При достижении заданного значения n счет заканчивается и устанавливается сигнал OUT=1, который сохраняется до загрузки нового значения n или до изменения режима работы данного счетчика. Нулевое значение на входе СЕ приостанавливает счет.

Режим 1 - формирование отрицательного временного интервала, равного заданному числу периодов тактовой частоты.

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

Режим 3 - генерация прямоугольных сигналов. Аналогичен режиму 2. Но на выходе сигнал высокого уровня будет до тех пор, пока счет не дойдет до половины числа n, а во второй половине счета будет сигнал низкого уровня. Если число n нечетное, то первая часть сигнала будет составлять (n+1)/2, а вторая - (n-1)/2. При четном n сигналы на выходе имеют симметричную прямоугольную форму.

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

Режим 5 - аппаратный запуск стробирующего импульса. Счетчик начинает отсчет после прихода фронта входного сигнала запуска. Уровень на выходе остается низким в течение одного периода тактовой частоты. Уровень выходного сигнала остается высоким до завершения счета, начатого фронтом любого сигнала запуска.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]