logo
Материалы по интерфейсам периферий / Для Скрипко / Для пособия ПУ (Восстановлен) (2)

Часть 2

1.Запрограммировать канал А в режим 2.

2.Произвести передачу кода подгруппы через канал А на ШД.

3.Вывести инверсию кода подгруппы с ШД интерфейса на выход канала А.

ЛИСТИНГ ПРОГРАММЫ

;Програмирование ;в 1-ый режим

mvi a,f7

out 03

mvi a,05

out 03

mvi a,09

out 03

mvi a,0d

out 03

mvi a,ff

out 00

;Програмирование ;в 0-ый режим

mvi a,83

out 03

mvi a,ff

out 00

in 01

38. Устройство, программирование и работа программируемого таймера на примере БИС КР580ВИ53.

Одной из основных задач возникающих при эксплуатации МПС является задача формирования временных интервалов и синхросигналов для управления периферийными устройствами.

Исследуемый таймер позволяет существенно повысить эффективность программирования для процессов управления и синхронизации внешних устройств.

Таймер состоит из трех идентичных каналов каждый из которых может работать в следующих шести режимах:

·Режим 0- программируемая задержка;

·Режим 1- программируемый одновибратор;

·Режим 2- программируемый делитель частоты;

·Режим 3- генератор меандра;

·Режим 4- строб с программным запуском;

·Режим 5- строб с аппаратным запуском.

ПРОГРАММИРОВАНИЕ ТАЙМЕРА

Режимы работы каналов таймера программируются путем ввода управляющих слов в регистры режима и информации о величине счета в 16-разрядные вычитающие счетчики канала. Каждый из каналов программируется отдельно при CS=0.Выбор регистров режима и счетчиков осуществляется по входам А0 и А1 следующим образом:

А1 А0

0 0 СЧ0

0 1 СЧ1

1 0 СЧ2

1 1 РР

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

Считать содержимое СЧ таймера для определения величины текущего счета можно двумя способами:

·с остановкой счета;

·на лету (для реализации этого способа чтения требуется предварительная загрузка в канальный РР управляющего слова вида:D7 D6 0 0 X X X X (D7 D6 - адрес канала),в результате содержимое канального счетчика копируется в специальный буферный регистр канала, из которого производится чтение при обращении к счетчику).

ПРИМЕР: Пусть требуется задать для канала 0 третий режим работы, записать в канальный счетчик старший байт, установить 2-ичный тип счета. Для этого необходимо ввести в РР0 УС вида: 0 0 1 0 0 1 1 0.

По команде OUT X1X2 производится запись во внутренние регистры таймера (где Х1 = 1100, а X2 = xxA1A2 (A1 и A2 берутся из таб.1, а х принимает значения {0,1})).

КРАТКОЕ ОПИСАНИЕ РЕЖИМОВ РАБОТЫ ТАЙМЕРА

В режиме 0 после занесения УС на выходе OUT устанавливается низкий уровень. Уменьшение содержимого счетчика начинается при высоком уровне сигнала GATE. После окончания счета на выходе OUT устанавливается напряжение высокого уровня. Загрузка в счетчик нового значения младшего байта в процессе счета останавливает счет, а загрузка нового значения старшего байта начинает новый цикл счета.

В режиме 1 при высоком уровне сигнала GATE на выходе OUT формируется отрицательный импульс длительностью n периодов тактовых импульсов CLK. Загрузка в процессе счета нового значения n не изменяет текущего режима счета.

Импульс новой длительности формируется при следующем нарастании сигнала GATE.

В режиме 2 таймер генерирует периодический сигнал с чистотой в n раз меньше частоты тактовых импульсов CLK. Выходной сигнал низкого уровня устанавливается на последнем такте периода. Загрузка счетчика новым значением n в процессе счета приводи к изменению величины следующего периода.

Режим 3 отличается от режима 2 тем, что при четном значении n на выходе СЧ генерируется сигнал высокого уровня в течении первой половины периода и сигнал низкого уровня в течении другой половины. При нечетном n длительность сигнала высокого уровня на один такт больше, чем для сигнала низкого уровня.

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

Режим 5 аналогичен режиму 4. Запуск счетчика производится положительным сигналом GATE. Загрузка счетчика новым значением числа n в процессе счета не влияет на длительность текущего цикла, но следующий цикл счета будет соответствовать новому значению n.

Лабораторная работа: Исследование БИС программируемого временного устройства (таймера) КР580ВИ53