Порты ввода/вывода. Система управления МКЭВМ. Автономное использование МК-48. БИС расширителя ввода/вывода, страница 8

0-я стр.

000Н…0FFН

P1.0=P1.1=P1.2=0

1-я стр.

100Н…1FFН

P1.0=1   P1.1=P1.2=0

2-я стр.

200Н…2FFН

P1.0=0   P1.1=1  P1.2=0

Пример: Выбор 0-й страницы ВПД:

ANL P1,#11111000B

;запись в ячейку 10Н

MOV R1,#10H

MOVX @R1,A

;запись в ячейку 120Н

ORL P1,#00000001B

MOV R1,#20H

MOVX @R1,A

Расширение линий ввода/вывода.

1.  Применение специальных БИС расширения ввода-вывода КР580ВР43

2.  С помощью БИС параллельного интерфейса КР580ВВ55А

3.  С помощью регистров серии ТТЛ КР1533, К555

БИС расширителя ввода/вывода.

При CS=1 – Р2 в z-состоянии, а Р4-Р7 – сохраняют предыдущее состояние

Для работы с расширителем есть 4 команды:

MOVD Pp,A

(Pp)ß(A)0-3

p=4,5,6,7

MOVD A,Pp

(A)0-3ß(Pp)

(A)4-7ß0000B

ANLD Pp,A

(Pp)ß(Pp)&(A)0-3

ORLD Pp,A

(Pp)ß(Pp)(A)0-3

Пример: Вывести содержимое аккумулятора в порты 6 и 7 расширителя:

MOVD P6,A

SWAP A

MOVD P7,A

Наращивание числа расширителей:

ANL P2,#11101111B

MOVD P4,A

ORL P2,#00010000B

ANL P2,11011111B

MOVD P4,A

Режимы работы расширителя:

Управляется управляющим словом при низком уровне на PROG.

Р2.3

Р2.2

Р2.1

Р2.0

Чтение порта

0

0

0

0

Порт Р4

Вывод в порт

0

1

0

1

Порт Р5

Лог.«ИЛИ»

1

0

1

0

Порт Р6

Лог.«И»

1

1

1

1

Порт Р7

Настраивать линии портов на ввод не нужно!

Расширение с помощью БИС параллельного интерфейса.

Есть 2 варианта подключения БИС параллельного интерфейса:

1.  Порт BUS работает в динамическом режиме и регистры адаптера программно подобны ячейкам внешней ПД.

Удобно использовать, если есть внешняя ПД или ПК.

A1

A0

Регистр ППА

Адрес

0

0

Порт РА

00Н

0

1

Порт РВ

01Н

1

0

Порт РС

02Н

1

1

Регистр упр.

03Н

Нужно записать управляющее слово:

Все порты на ввод.

УС  - 10000010В=82Н

MOV R0,#03H

MOV A,#82H

MOVX @R0,A

;вывод в порт А

MOV R0,#0

MOVX @R0,A

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

MOV R0,#01H

MOVX A,@R0

2) Порт BUS работает статически. –«– с внутр. ПК.

Пример:

А и В на вывод, С на ввод.

Инициализация ППА:

ORL P2,#00000011B

MOV A,#82H

OUTL BUS,A

;вывод в порт С

ANL P2,#11111110B

ORL P2,#00000010B

OUTL BUS,A

Расширение с помощью регистров ТТЛ-серии.

Удобно при параллельной передаче данных, т.е. не нужно использовать настройку УС; при подключении ЦАП и АЦП.

Регистры – ячейки внешней ПД.

Пример подключения регистра, когда иммется АЦП К1113ПВ1

A7

A6

...

A2

A1

A0

HEX

0

0

...

0

0

1

01H

CALL

ADDCONV

ADDCONV

ANL

P1,#1111110B

ORL

P1,00000001B

ANL

P1,#11111110B

Запись АЦП

;задержка 30мс

MOV

R7,#7

TIME

DJNZ

R7,TIME

MOV

R0,301H

MOVX

A,@R0

Чтение АЦП

RET