ВУЗ:
Составители:
29
называется ―чтение-модификация-запись‖. Этот режим обращения
предполагает ввод сигналов не с внешних выводов порта, а из его
регистра-защѐлки, что позволяет исключить неправильное считывание
ранее выведенной информации [1]. Этот механизм обращения к портам
реализован в командах:
ANL – логическое И, например, ANL P1,А;
ORL – логическое ИЛИ, например, ORL P2,А;
XRL – исключающее ИЛИ, например, XRL Р3,А;
JBC – переход, если в адресуемом бите единица, и последующий
сброс бита, например, JBC P1.1, LABEL;
CPL – инверсия бита, например, CPL Р3.3;
INC – инкремент порта, например, INC P2;
DEC – декремент порта, например, DEC P2;
DJNZ – декремент порта и переход, если его содержимое не
равно нулю, на-пример, DJNZ r, LABEL;
MOV PX.Y,C – передача бита переноса в бит X порта Y;
SET PX.Y – установка бита X порта Y;
CLR PX.Y – сброс бита X порта Y.
Совсем не очевидно, что последние три команды в приведѐнном
списке являются командами ―чтение-модификация-запись‖. Однако это
именно так. По этим командам сначала считывается байт из порта, а
затем записывается новый байт в регистр-защѐлку [1].
Причиной, по которой команды ―чтение-модификация-запись‖
обеспечивают раздельный доступ к регистру-защѐлке порта и к
внешним выводам порта, является необходимость исключить
возможность неправильного прочтения уровней сигналов на внешних
выводах. Предположим для примера, что линия X порта Y соединяется
с базой мощного транзистора и выходной сигнал на ней предназначен
для его управления. Когда в данный бит записана 1, то транзистор
включается. Если для проверки состояния исполнительного механизма
(в нашем случае – мощного транзистора) прикладной программе
требуется прочитать состояние выходного сигнала в том же бите порта,
то считывание сигнала (например, командой MOV ACC, PY) с
внешнего вывода порта, а не из D-триггера регистра-защѐлки порта
приведѐт к неправильному результату: единичный сигнал на базе
транзистора имеет относительно низкий уровень и будет
интерпретирован в МК как сигнал 0. Команды ―чтение-модификация-
запись‖ реализуют считывания из регистра-защѐлки, а не с внешнего
вывода порта, что обеспечивает получение правильного значения 1.
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
