Программируемый периферийный адаптер кр580вв55

Текст разработанной программы:

Передача массива информации из ведущей в ведомую микро ЭВМ.

Адрес команды

Машинный код

Ассемблер

Пояснение

000 00111110 MVI A, 0A4H Запись в аккумулятор
управляющего слова.
002 00100001 LXI HL, 05AH Загрузка адреса начала
массива (90)
005 00010110 MVI D, 08H Количество элементов массива
(8)
007 11010011 OUT 05AH Запись управляющего слова в
порт
009 11011011 WAIT: IN 05AH Считывание из канала С
00B 11100110 ANI 20H Выбираем  6 бит
00D 11001010 J2 WAIT Переход по готовности
010 00101010 LDAX HL Загрузка в аккумулятор байта
из памяти
013 11010011 OUT 05BH Запись в порт 1-го слова
массива
015 00100011 INX HL Инкремент указателя на
массив
016 00010101 DCB D Декремент счетчика
017 00111110 MVZ A, 00H Обнуляем аккумулятор
019 10100010 ANA D Проверка, что счетчик еще на
равен нулю
01A 11000010 JNZ WAIT Переход на начало пересылки,
если еще не весь массив послан
01E 01110110 HLT Останов программы

Размещение массива в памяти ведомой микро ЭВМ.

Адрес команды

Машинный код

Ассемблер

Пояснение

000 00111110 MVI A, 0ADH Запись в аккумулятор
управляющего слова.
002 00100001 LXI HL, 05AH Загрузка адреса начала
массива (90)
005 00010110 MVI D, 08H Количество элементов массива
(8)
007 11011011 WAIT: IN 05AH Считывание из канала С
009 11100110 ANI 04H Выбираем  3 бит
00A 11001010 J2 WAIT Переход по готовности
00E 11011011 IN 05BH Считывание принятого байта
010 00100010 STAX HL Запись принятого байта в
память
011 00100011 INX HL Инкремент указателя на
массив
012 00010101 DCB D Декремент счетчика
013 00111110 MVI A, 010H Запись в аккумулятор
управляющего слова.
015 11010011 OUT 05AH Записываем управляющее слово
в канал С
017 00111110 MVI A, 00H Обнуляем аккумулятор
019 10100010 ANA D Проверка счетчика
01A 11000010 JN2 WAIT Если не ноль, переход на
метку WAIT
01D 01110110 HLT Останов программы

Описание структуры и функционирование

Структурная схема программируемого периферийного адаптера представлена на рис. 1.

Структурная схема программируемого периферийного адаптера КР580ВВ55

ППА структурно разбит на две группы (A и B). Группа A включает в себя канал A и старшую тетраду канала C. Группа B состоит из канала B и младшей тетрады канала C. Доступ к каналам ввода/вывода и регистру управления осуществляется с помощью логики чтения-записи в соответствии с табл. 1.

Таблица 1. Доступ к каналам ввода/вывода и регистру управляющего слова

A1 A0 /RD /WR /CS  
1 Шина данных <- канал A
1 1 Шина данных <- канал B
1 1 Шина данных <- канал C
1 1 1 Данные не определены
1 Шина данных -> канал A
1 1 Шина данных -> канал B
1 1 Шина данных -> канал C
1 1 1 Шина данных -> регистр управления
X Х Х Х 1 Шина данных в высокоомном состоянии

Назначение этих и остальных выводов микросхемы приведено в табл. 2.

Таблица 2. Назначение выводов

D0…D7 Двунаправленная шина данных. Предназначена для передачи и приема данных процессором, а также передачи управляющих команд и слова состояния
/CS Chip Select. Выбор микросхемы. Низкий уровень инициирует обмен между процессором и ППА
/RD Read. Чтение. Низкий уровень на этом входе позволяет ППА передать данные или слово состояния процессору
/WR Write. Запись. Низкий уровень на этом входе позволяет ППА принять данные или управляющую команду
RESET Reset. Сброс. Высокий уровень на этом входе сбрасывает все внутренние регистры, включая регистры управления, переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода (только при /RD = 0 и /WR = 0)
A0, A1 Адресные входы. Выбор канала. Позволяют выбрать один из каналов (A, B, C) или регистры управляющего слова и состояния (в зависимости от сигналов на входах /RD и /WR, см. табл. 2)
PA0…PA7 Канал A
PB0…PB7 Канал B
PC0…PC7 Канал C

Первоначальное включение или подача сигнала высокого уровня на вход сброс RESET микросхемы переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода. Сброс выполняется только при условии /RD = 0 и /WR = 0.

Режим работы и направление передачи для каждого канала задается с помощью записи управляющего слова в регистр управления в соответствии с табл. 3 или 4. Отметим возможность комбинирования режимов работы для разных каналов. К примеру, канал B может быть запрограммирован на вывод в режим 0 для управления различными выключателями и реле, в то время как канал A может быть запрограммирован в режим 1 для ввода с клавиатуры или перфоленты.

Таблица 3. Формат управляющего слова для выбора режима работы

D7 D6 D5 D4 D3 D2 D1 D0
Флаг управления
1 = выбор режима
Группа A Группа В
  Выбор режима:
00 = режим 001 = режим 11х = режим 2
Канал A:
1 = ввод0 = вывод
Старшая тетрада канала C:
1 = ввод0 = вывод
Выбор режима:
0 = режим 01 = режим 1
Канал B:
1 = ввод0 = вывод
Младшая тетрада канала C:
1 = ввод0 = вывод

Таблица 4. Формат управляющего слова для двунаправленного режима.

D7 D6 D5 D4 D3 D2 D1 D0
Флаг управления
1 = выбор режима
Выбор режима:
1 = режим 2
Произвольное состояние Выбор режима для канала B:
0 = режим 01 = режим 1
Канал B:
1 = ввод0 = вывод
Биты 0..2 канала C:
1 = ввод0 = вывод

Каждый из восьми битов канала C может быть независимо от других установлен или сброшен с помощью специальной команды вывода, посылаемой в регистр управления. Это свойство канала C облегчает программирование в случае, когда биты канала C используется для управления передачей данных по каналам A или B. Формат команды приведен в табл. 5.

Работа микросхемы в режиме 1 или 2 характеризуется наличием управляющих сигналов, которые могут вызывать прерывание работы процессора КР580ВМ80.

Команда установки или сброса соответствующего бита канала C позволяет запретить или разрешить выдачу требуемого прерывания.

Таблица 5. Оперирование битами

D7 D6 D5 D4 D3 D2 D1 D0
Флаг управления
0 = оперирование битами
Произвольное состояние Выбор бита:
0 0 0 = 0 бит0 0 1 = 1 бит0 1 0 = 2 бит0 1 1 = 3 бит1 0 0 = 4 бит1 0 1 = 5 бит1 1 0 = 6 бит1 1 1 = 7 бит
1 = установить бит
0 = снять бит

Текст разработанной программы:

Передача
массива информации
из ведущей в
ведомую микро
ЭВМ.

Адрес
команды

Машинный
код

Ассемблер

Пояснение

000 00111110 MVI A, 0A4H Запись
в аккумулятор
управляющего
слова.
002 00100001 LXI HL, 05AH Загрузка
адреса начала
массива (90)
005 00010110 MVI D, 08H Количество
элементов
массива (8)
007 11010011 OUT
05AH
Запись
управляющего
слова в порт
009 11011011 WAIT: IN 05AH Считывание
из канала С
00B 11100110 ANI
20H
Выбираем
6 бит
00D 11001010 J2
WAIT
Переход
по готовности
010 00101010 LDAX
HL
Загрузка
в аккумулятор
байта из памяти
013 11010011 OUT
05BH
Запись
в порт 1-го слова
массива
015 00100011 INX HL Инкремент
указателя
на массив
016 00010101 DCB D Декремент
счетчика
017 00111110 MVZ A, 00H Обнуляем
аккумулятор
019 10100010 ANA D Проверка,
что счетчик
еще на равен
нулю
01A 11000010 JNZ WAIT Переход
на начало
пересылки,
если еще не
весь массив
послан
01E 01110110 HLT Останов
программы

Размещение
массива в памяти
ведомой микро
ЭВМ.

Адрес
команды

Машинный
код

Ассемблер

Пояснение

000 00111110 MVI A, 0ADH Запись
в аккумулятор
управляющего
слова.
002 00100001 LXI HL, 05AH Загрузка
адреса начала
массива (90)
005 00010110 MVI D, 08H Количество
элементов
массива (8)
007 11011011 WAIT: IN 05AH Считывание
из канала С
009 11100110 ANI
04H
Выбираем
3 бит
00A 11001010 J2
WAIT
Переход
по готовности
00E 11011011 IN
05BH
Считывание
принятого
байта
010 00100010 STAX
HL
Запись
принятого
байта в память
011 00100011 INX HL Инкремент
указателя
на массив
012 00010101 DCB D Декремент
счетчика
013 00111110 MVI A, 010H Запись
в аккумулятор
управляющего
слова.
015 11010011 OUT
05AH
Записываем
управляющее
слово в канал
С
017 00111110 MVI A, 00H Обнуляем
аккумулятор
019 10100010 ANA D Проверка
счетчика
01A 11000010 JN2 WAIT Если
не ноль, переход
на метку WAIT
01D 01110110 HLT Останов
программы

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.),
обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Подробнее

Поможем написать работу на аналогичную тему

Реферат

Любая тема

От 850 руб.

Контольная работа

Любая тема

От 850 руб.

Курсовая

Любая тема

От 1500 руб.

Получить выполненную работу или консультацию специалиста по вашему учебному
проекту

Узнать стоимость

Нужна помощь в написании работы?
Мы — биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus.
Помогаем в публикации. Правки вносим бесплатно.

Узнать цену

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Электронная память
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: