ВУЗ:
Составители:
20
BASE: DB LOW PROG0 ;ТАБЛИЦА ПЕРЕХОДОВ
…
DB LOW PROG7
Программа обеспечивает опрос и выделение сигналов от трех датчиков путем
маскирования старших бит аккумулятора.
Адрес строки таблицы, в которой хранятся адреса переходов, вычисляется как сумма
относительного (внутри текущей страницы РПП) начального адреса таблицы BASE и кода,
принятого от датчиков. Команда JMPP @A, таблица BASE и программы PROG0-PROG7
должны располагаться
на одной странице ПП.
При работе с композицией датчиков часто возникает необходимость осуществлять
передачу управления не только в зависимости от двоичного эквивалента принятого кода, как
в рассмотренном примере, но и в зависимости от соотношения принятого кода и некоторой
заранее определенной уставки. Пусть, например, в порте 1 от группы двоичных датчиков
формируется восьми битный двоичный код. Если код равен десятичному эквиваленту 135, то
необходимо передать управление программе с меткой LABELA, в противном случае -
программе с меткой LABELB:
;ВЕРСИЯ ДЛЯ МК48
IN A,P1 ;ВВОД КОДА
ADD A,#LOW(256-135 ;СРАВНЕНИЕ С УСТАНОВКОЙ
JZ LABELA ;ПЕРЕДАЧА УПРАВЛЕНИЯ
LEABELB: …
Так как в системе команд МК48 отсутствует команда сравнения, то сравнение с
уставкой (уставками) осуществляется сложением кода с числом, дополняющим уставку до
256. Если число в точности равно уставке, то результат сложения равен нулю и управление
передается по команде JZ или JNZ.
;ВЕРСИЯ ДЛЯ МК51
MOV A,135 ;ЗАГРУЗКА УСТАВКИ
CJNE A,P1,LABELB ;СРАВНЕНИЕ И ПЕРЕДАЧА
;УПРАВЛЕНИЯ
LABELA: …
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »
