Книга: Цифровые вычислительные устройства и микропроцессоры приборных комплексов
Пример 3.1 . Ввести байт из порта 1 и передать его в порт 2:
TRAN: MOV A,#0FF ; настройка порта 1 на ввод
OUTL P1,A ;
IN A,P1 ; ввод байта из порта 1
OUTL P2,A ; вывод байта в порт 2
Пример 3.2 . Ввести данные из порта P7:
INPUT: MOVD A,P7 ; пересылка четырех битов из порта 7
; в младшую тетраду аккумулятора
Пример 3.3 . Маскирование при вводе. Ввести в регистр R7 информацию из линий 0, 1, 3, 4 и 7 порта 1:
IN A,P1 ; ввод байта из порта 1
ANL A,#10011011B ; маскирование
MOV R7,A ; передача
Пример 3.4 . Ввести в аккумулятор данные из порта 2 и выделить требуемые биты по маске, находящейся в R0:
IN A,P2 ; ввод байта из порта 2
ANL A,R0 ; маскирование
Пример 3.5 . Выдать содержимое аккумулятора в последовательном коде через нулевую линию порта 1, оставляя без изменения остальные биты порта. Передачу вести, начиная с младшего бита:
MOV R1,#8 ; счетчик бит
LOOP: JB0 ONE ; переход, если бит A.0 = 1
ANL P1,#(NOT 1) ; сброс P1.0
JMP NEXT ;
ONE: ORL P1,#1 ; установка P1.0
JMP NEXT ; избыточная команда для выравнивания
; времени передачи 0 и 1
NEXT: RR A ; сдвиг аккумулятора вправо (подготовка к
DJNZ R1,LOOP ; передаче очередного бита)
Пример 3.6 . Настроить биты 0–3 порта 1 на ввод:
ORL P1,#0F ; установка битов P1.0… P1.3
Пример 3.7 . Очистить биты 4–7 порта 2:
ANL P2,#0F ; сброс битов P2.4… P2.7