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

Память команд ПК или ПЗУ:

Программно разделена на 2 банка: МВ0 и МВ1

ПК разделяется на страницы по 256 ячеек.

Процессорная часть МЭВМ:

·  Программный счетчик 12 разр. РС11РС10…РС0   212 = 4Кб ячеек

·  АЛУ – гл. регистр его А (аккумулятор)

·  Схема десятичной коррекции

·  Регистр словосостояния PSW:

C

AC

F0

BS

X

SP2

SP1

SP0

o  С – флаг переноса (из 7-го разряда А);

o  АС – флаг вспомогательного переноса (из 3-го в 4-й разр. А);

o  FO – флаг пользователя (общего назначения);

o  BS – флаг выбранного банка (BS=0 – RB0; BS=1 – RB1);

o  Х – не используется;

o  SP2…SP0 – двоичный код указателя стека (000…111)

Стек организуется в ПД. Назначение: хранение адреса возврата п/п и определенных битов СС.

SP – указатель стека.

SP2,SP1,SP0

17Н

111

16Р

001

0АН

09Н

С

AC

F0

BS

PC11…PC0

000

08Н

PC7 PC6 … PC0

Порты ввода/вывода.

В МКЭВМ три 8-разрядных порта ввода/вывода, которые программно называются Р1, Р2, BUS.

Р1, Р2 – квазидвунаправленные (работают, как двунаправленные, но схематично представляют собой однонаправленные).

Каждая линия порта (8 линий) работают независимо (т.е. одна на ввод, другая, например, на вывод).

D-триггер «защелка», который хранит информацию о выводимом бите;

Выходной инвертор обеспечивает высокий ток на выходе;

Входной буфер, который считывает информацию с выхода линии, буфер чтения состояния триггера.

В1 – буфер чтения состояния выходной линии порта;

В2 – буфер чтения состояния триггера-защелки;

VT1, VT2 – выходной каскад

Когда на выходе Р1 оба транзистора закрыты, сопротивление каскада примерно равно несколько сотен кОм.

Вывод «0» в порт:

На входе «D» - низкий уровень; тригер переключается в «0»; на инверсном выходе – «1»; VT2 открывается (ток не менее 2мА) – ток со входа (*) на землю.

Вывод «1» в порт:

«1» –> D; триггер в «1»-сост.; открывается «&»; при этом VT закрывается; VT1 открывается (сопротивление канала примерно равно 5кОм), VT1 предназначен для уменьшения времени переключения выхода порта из 0 в 1.

Ввод из порта: для этого служит буфер В1. Он открывается по команде:

IN A,P1 или

IN A,P2

Если VT2 во время чтения был открыт, то на выходе будет низкий уровень, т.е. он шунтирует сигнал внешней схемы. Т.е. главное условие для правильного чтения состояний линий порта – это закрытие VT1 и VT2. Они закрываются с помощью вывода в порт «1». Т.е. перед чтением надо вывести в эту линию порта «1». Именно это и используют для двунаправленности.

Для установки триггера в «1», т.е. закрытия VT1,2 , нужно на S подать «1», т.е. подготовить для чтения.

Чтение состояния триггера осуществляется с помощью ORL и ANL, которые открывают буфер В2.

Порт BUS – см. схему, но без R1 и дополнения. Порт BUS может работать в 2-х режимах:

·  Статический;

·  Динамический.

В статическом режиме на выходах порта может быть логический «0» или «1».

При выводе лог. «1» VT1 открыт.

При выводе лог. «0» VT1 закрыт, VT2 открыт, сопротивление канала 1500Мом для питания втекающего тока 2-х ТТЛ нагрузок.

В динамическом режиме выходные транзисторы могут входить в z‑состояние, т.е. оба VT закрыты и на выходных линиях z-состояние (обрыв).

Нагрузочная способность Р1 и Р2 – одна нагрузка ТТЛ, т.е.:

BUS – 2 нагрузки ТТЛ (т.е. параметры в 2 раза больше).

Таймер-счетчик.

·  Режим таймера – счет импульсов внутреннего генератора;

·  Режим счетчика – счет внешних импульсов.

Переключение режимов осуществляется программно, т.е. с помощью специальных команд.