Пример учебной программы.
Ниже приведен один из возможных вариантов учебной программы с чтением слова-состояния в ячейку I1 и переданного байта в ячейку I2:
; ПОДГОТОВКА ПРИЕМНИКА:
MOV DX, 1B06H ;АДРЕС СЛОВА РЕЖИМА ПОРТОВ ВВОДА
MOV AL, 0BFH ;ВВОД В РЕЖИМЕ 1 ЧЕРЕЗ А И В
OUT DX, AL
; ПОДГОТОВКА ПЕРЕДАТЧИКА:
MOV DX, 1B0AH ;УСТАНОВИТЬ СТРОБ В НЕАКТИВНОЕ СОСТОЯНИЕ
MOV AL, 10H
OUT DX, AL
; ПОДГОТОВКА ПРИЕМНИКА:
MOV DX, 1B06H
MOV AL, 9H ;РАЗРЕШИТЬ ВЫРАБОТКУ INTR ДЛЯ КАНАЛА А
OUT DX, AL
; ПЕРЕДАЧА БАЙТА ДАННЫХ (56H) :
MOV DX, 1B08H ;ПОРТ ПЕРЕДАТЧИКА
MOV AL, 56H ;ПЕРЕДАВАЕМЫЙ БАЙТ
OUT DX, AL
ADD DX, 2 ;АДРЕС СТРОБА СОПРОВОЖДЕНИЯ ДАННЫХ
MOV AL, 0
OUT DX, AL ;АКТИВНЫЙ УРОВЕНЬ -IBF
MOV AL, 10H
OUT DX, AL ;ПАССИВНЫЙ УРОВЕНЬ -IBF
; ПРИЕМ БАЙТА ДАННЫХ:
1: MOV DX, 1B04H ;АДРЕС СЛОВА-СОСТОЯНИЯ
IN AL, DX
AND AL, 8H ;ВЫДЕЛИТЬ ФЛАГ INTR
JNZ 2 ;ПЕРЕЙТИ НА 2, ЕСЛИ ФЛАГ УСТАНОВЛЕН
JMP 1 ;ВЕРНУТЬСЯ, Т. К. СТРОБА СОПРОВОЖДЕНИЯ НЕ
2: ;БЫЛО
MOV I1, AL ;ПЕРЕСЛАТЬ ФЛАГ В ЯЧ. ИНДИКАЦИИ I1
MOV DX, 1B00H ;АДРЕС ПОРТА ВВОДА АДННЫХ
IN AL, DX
MOV I2, AL ;ПЕРЕСЛАТЬ ПРИНЯТЫЙ БАЙТ В I2 ДЛЯ КОНТРОЛЯ
Возможен и более простой вариант передачи данных через порты в режиме 0, когда порт вывода А выдает данные со стробом сопровождения по выходу В4 порта вывода В, а порты приемника настроены на ввод в режиме 0 и появление строба сопровождения данных на входе С4 порта приема определяется в режиме циклического чтения порта С и выделения бита С4 приемника данных.
Список контрольных вопросов с ответами.
-
Для чего могут использоваться порты параллельного ввода-вывода информации?
- для организации режима ПДП
- для передачи данных со стробом сопровождения
- для непосредственного вывода аналоговых сигналов
- для записи/чтения ПЗУ
- в качетве контроллера прерываний
2. Какова максимальная разрядность порта?
8
3. Сколько 8-разрядных портов ввода в режиме 1 можно организовать в одной микросхеме КР580ВВ55?
2
4. Сколько режимов работы у портов ввода/вывода КР580ВВ55?
3
5. Какими битами слова режима задается режим 1 работы портов?
- битами D6, D5 для порта A и D2 для В
- битами D1... D3
- битами D0... D2
- битами D6, D5 для порта А и D1 для В
- битами D5, D4 для порта A и D3 для В
6. Возможно ли задание портам микросхемы различных режимов работы?
-да
7. На вход какого разряда порта С нужно подавать сигнал IBFa в режиме 1 ввода через порт А (ответьте одной цифрой)?
4
8. На выходе какого разряда порта С формируется сигнал INTRa при вводе в режиме 1 (ответьте одной цифрой) ?
3
Рекомендации по программированию.
Программирование выполняйте на ассемблере микропроцессора Intel 8086 с использованием ТОЛЬКО СЛЕДУЮЩИХ КОМАНД: MOV, IN, OUT, ADD, DEC, AND, TEST, OR, SHR, JNZ, JMP, различных конфигураций регистров A, B, C, D и непосpедственных десятичных или 16-pичных опеpандов. Можно использовать МЕТКИ В ВИДЕ ЦИФР (например, 1: ). Длина программы не должна превышать 50 команд. Переключение режимов "Текст программы" и "Построить диаграмму" клавишами <Shift>+<Tab>, диаграмма снимается по нажатию <Enter>. Возврат по <Esc>. Адpес поpта ввода A = 1B00H, поpта вывода A = 1B08H. ПОРТЫ ВЫВОДА A и B УЖЕ НАСТРОЕНЫ !
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ.
Требования к отчету по лабораторной работе.