- •Непрерывные и дискретные системы автоматического управления
- •Понятие о микропроцессорных системах управления
- •Характеристики непрерывных и дискретных систем
- •Определение, устройство и принцип действия микропроцессора
- •Обобщенная структура микропроцессорной системы
- •Понятие обмена данными
- •Обмен данными в микропроцессорной системе
- •Управление обменом на примере параллельного способа обмена
- •Организация внутренних линий связи
- •Методы обмена
- •Управление обменом в случае последовательного обмена данными
- •Контроль правильности передачи данных
- •Пакетный метод передачи данных по последовательному каналу
- •Управление последовательным каналом при полудуплексной связи
- •Управление потоком данных
- •Способы кодирования бит при последовательной передаче данных
- •Определение аппаратных и программных средств
- •Обобщенная архитектура микропроцессора
- •Обобщенный интерфейс микропроцессора
- •Команды микропроцессора. Система команд
- •Обобщенная архитектура и интерфейс запоминающего устройства
- •Классификация устройств ввода-вывода
- •Параллельный программируемый интерфейс
- •Последовательный программируемый интерфейс
- •Виды вспомогательных устройств
- •Программируемый контроллер прерываний
- •Программируемый таймер
- •Буферный регистр
- •Шинный формирователь
- •Этапы проектирования микропроцессорной системы управления
- •Математическая модель микропроцессорной системы управления
- •Задачи проектирования аппаратных средств мпс
- •Классификация усо
- •Задачи проектирования усо
- •Проектирование соединения усо с микропроцессором
- •Проектирование соединения усо с мп в случае нескольких ведущих устройств
- •Основные принципы построения усо
- •Усо для ввода данных без преобразования
- •In al, 0000h ; ввод младшего байта
- •In al, 0001h ; ввод старшего байта
- •In al, 0000h ;ввод младшего байта
- •In al, 0001h ;ввод старшего байта
In al, 0000h ; ввод младшего байта
MOV BL, AL ; сохранение младшего байта
In al, 0001h ; ввод старшего байта
MOV BH, AL ; сохранение старшего байта
Значение, введенное с датчика, помещается в результате в регистр BX.
Рассмотрим
процесс ввода во временной области. Для
ввода данных в данном случае необходимо
выполнить два цикла обмена. Каждый цикл
занимает определенное время (несколько
тактов синхронизации процессора). Между
циклами имеется некоторый промежуток
за счет выполнения команды сохранения
введенного значения в регистре BL.
Таким образом, между моментами ввода в
МП младшего и старшего байтов существует
интервал времени
,
имеющий конечное, пусть даже малое,
значение (рис. 7).
|
|
Рис. 7.
В
течение этого интервала времени,
значение, поступающее с датчика, может
измениться. Например, в момент ввода
младшего байта имелось значение 00FFh
(младший байт — FFh, старший байт — 00h).
Ввели младший байт (FFh). Затем, в течение
интервала
,
датчик изменяет свои показания на 1
отсчет — с 00FFh на 0100h (младший байт —
00h, старший байт — 01h). Вводим старший
байт (01h). В результате, в МП будет введен
младший байт FFh и старший байт 01h, и по
окончании ввода мы получим в регистреBX
значение 01FFh, которое значительно
отличается от обоих реально выдаваемых
датчиком значений. То есть будет иметь
место грубая ошибка при вводе данных.
Очевидно, что для исключения данной
ошибки, перед собственно вводом данных
необходимо зафиксировать значение,
поступающее с датчика, в буферном
регистре, для того, чтобы обеспечить
его неизменность во время всего процесса
ввода. Количество буферных регистров
зависит от разрядности вводимых данных.
На рис. 8. представлен вариант для
ввода данных с 16-разрядного датчика.
|
|
Рис. 8.
Младшие и старшие восемь линий, идущие с датчика, подключены через соответствующие буферные регистры к портам А и В ППИ. Буферные регистры работают в режиме усилителей с возможностью фиксации данных по заднему срезу сигнала STB. Для формирования строба на линии STB используется линия 0 порта С ППИ. При установке младшего разряда порта С в "1" сигнал на линии STB переходит из "0" в "1" (начало строба), при сбросе младшего разряда порта С в "0" сигнал на линии STB переходит из "1" в "0" (окончание строба). Процесс иллюстрирует рис. 9.
|
|
Рис. 9.
В
момент времени
происходит
фиксация значений в буферных регистрах.
Так как адрес порта С ППИ при указанной на рис. 8. схеме подключения равен 0002h, начало строба формируется командами
MOV AL, 0001h
OUT 0002h, AL
Окончание строба — командами
MOV AL, 0000h
OUT 0002h, AL
Так
как фиксация данных в БР происходит по
заднему фронту сигнала STB,
установка и сброс должны быть произведены
перед процедурой ввода данных. При этом
длительность импульса (
на рис. 9) должна быть достаточной для
завершения всех переходных процессов
в БР. Длительность строба может быть
рассчитана по известной тактовой частоте
МП и известному количеству тактов на
выполнение каждой команды. При
необходимости между командами установки
и сброса строба может быть введена
программная задержка.
В результате, фрагмент программы, выполняющей ввод данных с 16-разрядного цифрового датчика, будет выглядеть следующим образом:
MOV AL, 0001h ;
OUT 0002h, AL ;Установка сигнала STB
MOV AL, 0000h ;
OUT 0002h, AL ;Сброс сигнала STB- фиксация данных



