Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Консп_лекц_МПТ_4.doc
Скачиваний:
144
Добавлен:
23.11.2018
Размер:
2.18 Mб
Скачать

9.3. Примеры программирования периферийного адаптера

Пример 1. Осуществить вывод в режиме 0 числа 12Н через порт В ППА. Затем осуществить ввод в режиме 0 в регистр В процессора байта из порта В при условии, что содержимое бита D3, введенного через порт С байта, равно 1. Базовый адрес адаптера 70Н.

  1. MVI A,89H; AMS = 1 000 1001B = 89H 800 3E 89

  2. РС3-РСО

ввод

  1. Признак pc7-pc4

слова MS ввод

Канал В вывод

    1. Канал а Канал в

безразлично режим 0

ОUT 73H; (A) регистр CW ППА 802 D3 73

;Вывод числа 12Н в порт В

MVI A, 12H; A12H 804 3E 12

OUT 71H; (A)PB 806 D3 71

;Ввод байта в порт С

MET1:IN 72H; A(PC) 808 DB 72

;Анализ бита D3 в A

ANI 08H; (A)& 08HA 80A E6 08

;Условный переход по (А)=0

JZ MET1; (А)=0 80С СА 08 08

;Программирование ППА

MVI A, 8BH; AMS = 1000 1011B = 8BH 80F 3E 8B

OUT 73H; (A) регистр CW ППА 811 D3 73

;Ввод байта из порта В

IN 71H; A (PB) 813 DB 71

;Запись А в регистр В

MOV B, A; B(A) 815 47

HLT; Остановка программы 816 76

Пример 2. Сформировать импульс на выходе порта С (разряд PC1). Базовый адрес адаптера 70Н.

MVI A, 03H; ABSR = 0 000 001 1B = 03H 800 3E 03

Признак Выбор Установка

cлова BSR бита РС1 бита

OUT 73H; (A) регистр CW ППА 802 D3 73

MVI A, 02H; ABSR = 0000 0010 = 02H 804 3E 02

;Cброс бита

OUT 73H; (A) регистр CW ППА 806 D3 73

Пример 3. Осуществить обмен данными между ОЗУ микропроцессорной системы и двумя периферийными устройствами ПУ1 и ПУ2. С ПУ1 обеспечить двунаправленный обмен данными. Объем передаваемых в одном направлении данных 18Н байт. Начальные адреса области памяти для вывода и ввода – 900Н и 930Н соответственно. Обеспечить ввод байта с ПУ2 в ячейку ОЗУ 950Н по прерыванию. Базовый адрес адаптера 80Н.

LXI H, 900H; HL0900H 800 21 00 09

LXI D, 930H; DE0930H 803 21 30 09

MVI B, 18H; B18H 806 06 18

;Программирование ППА

МVI A, C6H; AMS = 1100 0110B = C6H 808 3E 06

;Канал А – режим 2, РС(3-0) – вывод,

;канал В – режим 1, ввод

OUT 83H; (A)регистр CW ППА 80А D3 83

MVI A, 05H; ABSR = 0000 0101B = 05H 80C 3E 05

OUT 83H; (A) CW ППА (запись INTEb=1) 80Е D3 83

MET1: MOV A, M; AMHL 810 7E

OUT 70H; (A) PA 811 D3 70

IN 70H; A(PA) 813 DB 70

STAX D; (A) MDE 815 12

INX H; HL(HL) + 1 816 23

INX D; DE(DE) + 1 817 13

DCR B; B(B) - 1 818 05

JNZ MET1; Если массив не заполнен 819 02 10 08

HLT; 810 76

;Подпрограмма обработки прерываний

IN 81H; A(PB) 900 DB 81

LDA 950H; (A)M950 902 3A 50 09

RET; 905 09