Для задания требуемого режима, необходимо загрузить в аккумулятор (А) МП
УСИ (настройка ППА на заданный режим – код 92Н) и по команде OUT занести
его в РУС ППА: MVI A, 92Н ; (10010011B) Загрузка в (А) кода УСИ.
OUT 0F3H ; Запись кода УСИ в РУС ППА.
Затем, с помощью команды IN, считываем информацию с порта В в аккуму-
лятор (А) МП: Lab1: IN 0F1H ; Считываем информацию с порта В.
Для определения значения (положения) датчика КД3, с помощью логической
операции "И", производим маскирование входных данных (А); значение маски 08Н -
шестнадцатеричное представление датчика КД3 при его значении равном «1»:
ANI 08H ; Логическая операция "И".
После выполнения команды маскирования, результат в (А) МП будет равном 0
при замкнутом контакте датчике (входном сигнале – КД3) и «1» при разомкнутом
контакте датчика КД3. Затем используем команду условного перехода – по значению
флага нуля (JNZ) регистра признаков МП, определяем положение контакта КД3:
JNZ Lab1 ; если результат в (А) равен 1
(контакт ;датчика КД3 разомкнут), то переход на метку Lab1 (адрес), но если
результат в (А) равен 0 (контакт датчика замкнут), то продолжается
последовательное выполнение команд – включение светодиода VD7.
Для включения светодиода VD7 необходимо загрузить в аккумулятор МП его
код (двоичная единица в 7 – разряде – 80Н) и по команде OUT записать его в
регистр порта А ППА: MVI A, 80Н ; (10000000B)
OUT 0F0H ; Код вкл. светодиода записываем в порт А.
Время выполнения команд (подпрограммы) от момента замыкания контакта
датчика КД3 до включения светодиода VD7 определится: t пп = 1 / Тт • ∑ nT,
где Тт - период тактовой частоты МП, при тактовой частоте (CLK) МП равной
fт = 2МГц, значение Тт = 1 / fт = (1 / 2 • 10
6
) = 0,5 мкс;
∑ nT - суммарное число тактов затрачиваемое на выполнение команд подпро-
граммы (для команды IN – nT = 10; ANI – nT = 7; JNZ – nT = 10; MVI – nT = 10;
OUT – nT = 10), равно 47, тогда t пп = 1 / Тт • ∑ n T = 0.5 • 47 = 23,5 мкс.
Пример 2. Условия задачи те же, что и в примере 1, но в качестве МПУ
используется однокристальный микроконтроллер (ОМК) К1816ВЕ51 (I8051) с RISС
архитектурой и включёным в его схему модифицированым ППА. Контактные
датчики КД0 ... КД7 подключены к порту Р1, а светодиоды VD0 …VD7 к порту Р2
ОМК. Инициализация ППА в данном примере не производится, так как по
команде IN или OUT ППА автоматически переключается на заданный режим.
Программа реализации поставленной задачи (процедуры) для ОМК:
Lab1: JB P1.3, Lab1 ; Ожидание замыкания контактов датчика КД3, если
; контакт не замкнут, то переход на метку Lab1 (nT = 11)
SETB P2.7 ; Установка бита Р2.7 в 1, т. е. вкл. светодиода VD7 (nT = 4).
При fт = 1МГц , значение Тт = 1 мкс, тогда время выполнения подпрограммы
t пп = 1 / Тт • ∑ nT = 1 • 15 = 15 мкс,
ЛЕКЦИЯ 7 Error:
Reference source not found
ОРГАНИЗАЦИЯ ПРОГРАММНЫХ ВРЕМЕННЫХ ЗАДЕРЖЕК