Организация взаимодействия человека оператора с вычислительной системой.
Информационно-управляющие системы делятся на 2 класса:
1) без вмешательства человека
2) системы, требующие в процессе работы вмешательства человека-оператора – интерактивные
При создании интерактивных систем возникает задача ручного ввода и отображения информации. Устройства, реализующие эти функции, называются пультами управления. В состав пульта управления включают: клавиатуру и устройство отображения информации. Клавиатура представляет собой набор механических переключателей.
По функциональному назначению клавиатуры делят на:
1) Простейшие клавиатуры, состоящие из функциональных клавиш.
2) Цифровые клавиатуры, содержащие клавиши, обеспечивающие ввод цифр в шестнадцатеричном формате и функциональные клавиши.
3) Алфавитно-цифровые, позволяющие вводить информацию в символьном виде.
4) Многофункциональные клавиатуры, построенные на базе сменных панелей.
Каждому типу клавиатуры соответствует некоторое устройство отображения. Для простейших клавиатур таким устройством может быть лампочка; для цифровых клавиатур таким устройством служат индикаторы. Для алфавитно-цифровых клавиатур существуют алфавитно-цифровые или графические экраны.
По способу аппаратной реализации клавиатуры делят на: кодирующие и некодирующие
в кодирующих клавиатурах код нажатой клавиши кодируется схемным путём (устройства с жесткой логикой). В настоящее время широко используются дешёвые некодирующие клавиатуры. Они представляют собой набор требуемого числа клавиш, организованных в идее матрицы (таблицы). Кодирование клавиш выполняется схемным путём.
Работа с клавиатурой включает в себя 2 этапа: сканирование клавиатуры и опрос. Сканирование – это последовательная подача сигнала активного уровня (уровня логического нуля) на линии сканирования С3…С0 (SL3...SL0). Опрос выполняется в каждом такте сканирования и заключается в чтении кода опроса на линиях сканирования O3...O0 (RL3...RL0).
{За полный цикл сканирования формируется блок данных содержащий сведения обо всех нажатых (отпущенных) клавишах. Рассмотрим клавиатуру 3×3 клавиши:
Резисторы в схеме служат для того, чтобы при разомкнутых ключах, т.е. при ненажатых клавишах, на входы опроса поступало бы вполне определенное напряжение, а именно – напряжение, соответствующее уровню логической единицы.
Диоды в схеме служат для того, чтобы можно было нажимать клавиши одного столбца и это бы не приводило к нарушению работы МК. Прерывание целесообразно использовать для того, чтобы оперативно обнаружить нажатие хотя бы одной клавиши.
Наиболее очевидный способ кодирования нажатой клавиши – это кодировать её кодом, состоящим из 2-х частей: из номера строки и номера столбца. Например
[ R2R1R0 ] [ C2C1C0 ]
S22 – код: [ 101 ] [ 101 ]
Можно перейти от позиционного кода к двоичному:[ R1R0 ] [ C1C0 ]
S22 – код [ 01 ] [ 01 ]
Временные диаграммы:
t1 – нажата клавиша S13
t2 – нажата клавиша S22
t3 – нажата клавиша S31
Продолжительность сигналов IRQ составляет порядка нескольких миллисекунд, поэтому пренебрегают формой переднего и заднего фронтов, следовательно, сигналы IRQ имеют прямоугольную форму.
При программировании клавиатуры необходимо реализовать две процедуры:
- обнаружение нажатия на клавишу
- ввод кода нажатой клавиши
Часто ввод кода нажатой клавиши происходит после её отпускания («освобождения»). Обнаружение может выполняться в программном режиме или в режиме прерывания. В программном режиме для обнаружения факта нажатия на клавишу можно одновременно активизировать все линии сканирования, при этом наличие «0» в коде опроса говорит о том, что нажата хотя бы одна клавиша. Ввод кода осуществляется в процедуре сканирования. Если клавиатура имеет небольшое количество клавиш, и ресурсы МК используются не полностью, возможно непосредственное подключение клавиатуры к МК; но наиболее часто на практике используют дешёвые МК, так называемые PIC-микроконтроллеры (характеризуются маленьким количеством выводов (24) и ограниченным набором команд (до 60)). Обмен МК с ЦП осуществляется, как правило, по последовательному интерфейсу (т.к. расстояния довольно велики, а требования к скорости обмена отсутствуют, потому что процессы довольно длительные). Существуют специализированные МК для построения пультов управления. Такие МК совмещают функции управления клавиатурой и индикации (на дисплеи).
Микросхема КР580ВД79 имеет параллельный интерфейс и может быть подключена к системной шине МК.
Процедура ввода кода нажатой клавиши состоит из следующих процедур:
1) сканирование матрицы клавиш
2) устранение дребезга контактов (если он есть)
3) ожидание освобождения клавиши
4) формирование скан-кода нажатой клавиши
Процедура 2) для некоторых типов клавиатур отсутствует. Такими клавиатурами являются сенсорные клавиатуры, в которых носителями информации являются емкости. Скан-код может быть сформирован в процедуре сканирования, в этом случае 4) процедура совмещается с 1)
Устранение дребезга контактов осуществляется путём введения задержки порядка 5…20 мс. Чтобы при повторном обращении к клавиатуре не был бы введён код той же самой клавиши, после антидребезговой задержки вводится процедура ожидания освобождения нажатой клавиши. При этом возможна ситуация «залипания» клавиши. Чтобы избежать этого, вводят предельное количество циклов ожидания освобождения; если это число превышается, следовательно, клавиши «залипла», что в свою очередь должно вызывать сообщение об ошибке. Это свойство зависит и от самой клавиатуры.
Процедура идентификации клавиши может быть оформлена отдельно от процедуры сканирования. Для сложных клавиатур осуществляется перекодировка скан-кодов в коды символов с помощью таблиц трансляции. Временные задержки можно формировать программно, с помощью таймера или с помощью процессора событий.
Коды нажатия и отжатия каждой клавиши отличаются на 80h. При нажатии (или отпускании) клавиши ее скан-код по кабелю передается 11 разрядным последовательным кодом в ПК на адаптер клавиатуры. Адаптер клавиатуры расположенный на системной плате помещает принятый код (1 байт) в регистр с адр. 60h и выдает аппаратный запрос прерывания IRQ1 с вектором 09h. Процессор прерывает свою работу и трансформирует скан-код в код символа клавиши с учетом признаков статуса клавиатуры (кл. Alt, Ctrl, Shift). То есть, например 'а' или 'А'. Этот код помещается в буфер клавиатуры, способный запомнить до 15 кодов. На время пока работает обработчик прерывания клавиатуры, прием новых кодов блокируется засылкой '0' в ст.разряд регистра с адр. 61h. После обработки зтот разряд уст. в '1'.
Буфер клавиатуры
Буфер клавиатуры находится в ОЗУ с адреса 0040:001E. Для хранения кода каждой нажатой клавиши в буфере отводится 2 байта памяти: в старшем байте хранится скан-код; в младшем байте код символа клавиши. Для кодов символов используется американский стандарт ASCII (American Standard Code for Information Interchange). Поэтому такой код называется ASCII - кодом. Так хранятся коды всех символьных клавиш, а также клавиш Esc, Enter, Tab, BS. Все остальные клавиши считаются управляющими и ASCII-кодов не имеют. В буфер клавиатуры, при их нажатии, записывается скан-код, а вместо ASCII-кодов заносятся нули. Наконец, есть группа клавиш не имеющая ни скан-кода, ни ASCII -кода поэтому они вообще не заносятся в буфер, но зато изменяют признаки статуса клавиатуры. Это клавиши: Shift, Ctrl, Alt, ScrollLock, NumLock, CapsLock, Insert. Примечание: клавиша Insert имеет скан-код и заносится в буфер.
Указатель буфера
Коды в буфер заносятся вкруговую, то есть после записи в ячейку 003С следует занесение в 001Е и так далее, затирая ранее введенные коды. Чтобы знать какой код введен первым и сколько кодов в буфере, используется "Указатель буфера". Он занимает два слова, начиная с адреса 0040:001А, то есть непосредственно перед буфером клавиатуры (младший байт слов не используется). Указатель головы буфера - это адрес первого введенного в буфер символа, а указатель хвоста указывает адрес свободной ячейки в буфере для ввода очередного символа. Приведенный пример показывает, что в буфере содержится три пары кодов нажатых клавиш по адресам: 0024, 0026 и 0028, ячейка буфера 002А свободна. Как только программа прочтет код первой нажатой клавиши, указатель головы буфера автоматически увеличится и станет равным 0026, затем 0028, и, наконец, 002А. Равенство содержимого "головы" и "хвоста" означает,что бужер пуст. Чтобы очистить буфер без чтения, достаточно в ячейки 0040:001А и 0040:001В записать одинаковые числа.
Признаки статуса клавиатуры
При нажатии каждой клавиши, в буфер клавиатуры может быть занесен различный код в зависимости от содержимого ячеек статуса клавиатуры. Признаки статуса клавиатуры заносятся при нажатии клавиш: Shift, Ctrl, Alt, ScrollLock, NumLock, CapsLock, Insert. Хранятся эти признаки в ячейках 0040:0017 и 0040:0018.
0040:0017 7 6 5 4 3 2 1 0
L-+-+-+-+-+-+-+--
Включена кл. Insert ------ ¦ ¦ ¦ ¦ ¦ ¦ L--- нажата правая кл. Shift
Включена кл. CapsLock ------ ¦ ¦ ¦ ¦ L----- нажата левая кл. Shift
Включена кл. NumLock --------- ¦ ¦ L------- нажата кл. Ctrl
Включена кл. ScrollLock -------- L--------- нажата кл. Alt
0040:0018 7 6 5 4 3 -----
L-+-+-+-+-+-+-+--
Hажата кл. Insert ------ ¦ ¦ ¦ ¦
Hажата кл. CapsLock ------ ¦ ¦ L--- Включен режим Ctrl-NumLock
Hажата кл. NumLock --------- ¦
Hажата кл. ScrollLock --------
Обратите внимание:
- только кл. Shift может быть правой или левой;
- для кл. Insert, CapsLock, NumLock, ScrollLock фиксируется как нажатие, так и включение;
- для кл. Shift, Ctrl, Alt фиксируется только нажатие;
- нет никаких фиксируемых комбинаций клавиш, кроме Ctrl-NumLock;
- есть три свободных разряда для Ваших целей.
Управление клавиатурой
При каждом нажатии клавиши вызывается прерывание INT 9h. Эта программа только записывает код в буфер и изменяет указатель "хвоста". Когда буфер полностью заполнен, новых кодов не вводится, а звучит сигнал. Чтение кодов из буфера и вывод эхо-повтора на экран производится другими программами. Чтобы пользователю не писать своих программ, в BIOS и DOS предусмотрено несколько стандартных программ чтения из буфера клавиатуры, оформленных в виде программных прерываний.
14. Видеосистемы ПК типа IBM PC. Устройство и характеристики мониторов.
ВИДЕОСИСТЕМЫ РС
Видеосистемы предназначены для отображения текстовой или графической информации на экране монитора. Видеосистема включает в себя дисплей (видеомонитор) и схему управления (так называемый "видеоадаптер"), работающую под управлением драйвера (управляющей программы). Мониторы выпускаются размером от 12 до 21 дюйма по диагонали. Наиболее распространены 14' кинескопы. Экран 4:3. ЭЛТ выпускаются двух типов:
- с теневой маской из инвара (без выпучивания)
- с апертурной решеткой в виде проволочек (не выпучиваются, но вибрируют)
Первые монохромные мониторы (1981г) MDA (Monochrome Display Adapter - монохромный адаптер) имели развертку из 350 строк с разрешающей способностью 720 точек. Именно это и определило стандарт текстового экрана: каждый символ состоит из 9*14 точек(пикселов). Тогда 350/14=25 строк и 720/9=80 символов в строке.
Первые цветные мониторы (1982г) CGA (Color Graphics Adapter - цветной графический адаптер) имели разрешающую способность 200*640 в тестовом режиме и 200*320 в графическом режиме. Одновременно выводилось 4 цвета.
Следующий тип цветных мониторов (1984г) EGA (Enchaced Graphics Adapter - расширенный граф. адаптер) имел разрешающую способность 350*640 пикселов в тестовом и графическом режиме и позволял выводить одновременно 16 цветов из палитры в 64 цвета. Дальнейшее развитие цветных мониторов (1987г) VGA (Video Gate Array - видеографическая матрица) обеспечивает разрешающую способность 480*640 пикселов в тестовом и графическом режиме и позволяет выводить одновременно 256 цветов. Это последний официальный стандарт на видеоадаптеры.
Все, что лучше чем VGA носит название SVGA (Super VGA - Супер видеографическая матрица) Все видеоадаптеры SVGA совместимы (т.е. могут работать) в режиме VGA. Максимально достигнутая разрешающая способность 800*1024 пикселов. Количество цветов до 64 тысяч. Все видеосистемы периодически (60-70 раз/с) сканируют определенную область памяти (видеобуфер) и выводят ее на экран. Достаточно записать в одну из ячеек видеобуфера код символа, как он тут же появится на экране. Под видеобуфер во всех IBM PC отводится область памяти в адресах A0000...BFFFF. Конкретный размер буфера зависит от используемого адаптера и режима его работы. Вот почему основная память PC имеет размер только 640 Kb. Память за адресом A0000 недоступна для размещения обычных программ. Однако, если буфер занят не полностью, там могут быть размещены резидентные программы.
Текстовый режим адаптера
В текстовом режиме на экран из видеобуфера выводится записанная там информация в виде 25 строк текста по 80 символов в каждой строке: 25*80 = 2000 символов Каждый символ в памяти видеобуфера занимает 1 байт и еще один - его атрибуты (цвет символа и фона и яркость). Таким образом, для отображения одного экрана требуется 4000 байт памяти ОЗУ. Адаптеры обычно требуют хранения нескольких экранов (страниц) для их быстрой смены. Адаптер CGA использует для хранения четырех страниц (4-х экранов) текста в видеобуфере 4К*4 = 16 Кбайт памяти. Адаптеры EGA и VGA позволяют хранить 8 страниц текста в видеобуфере. В текстовом режиме все адаптеры используют область памяти видеобуфера с адреса B800:0000.
Для всех видеоадаптеров - первый символ первой строки отображается всегда в верхней левой части экрана. Поскольку нумерация как строк, так и символов начинается с нуля, то в правой нижней части экрана будет 79-ый символ 24-ой строки.
Для каждого отображаемого символа в видеобуфере отводится 2 байта:
ASCII - код Байт атрибутов
┌─┬─┬─┬─┬─┬─┬─┬─┐┌─┬─┬─┬─┬─┬─┬─┬─┐
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
└─┴─┴─┴─┴─┴─┴─┴─┘└┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘
мигание символа ─┘ │ │ │ │ └─┴─┴─
цвет фона ───┴─┴─┘
3 - яркость символа
2-0 - цвет символа
┌─┬─┬─┐
2 1 0 Биты цветов:
└┬┴┬┴┬┘
│ │ └─── синий
│ └───── зеленый
└─────── красный
Управление выводом на экран
Управление выводом на экран в текстовом режиме осуществляется с помощью прерываний:
INT 10h (AH=01) - установка формы курсора
CH=начальная строка курсора (0..7)
CL=конечная строка курсора (0..7)
INT 10h (AH=02) - установка места курсора
BH=номер страницы (0..7)
DH=номр строки (0..24)
DL=номер символа в строке (0..79)
INT 10h (AH=05) - вывод новой страницы на экран
AL = номер страницы
INT 10h (AH=06) - сдвиг части экрана вверх
INT 10h (AH=07) - сдвиг части экрана вниз
AL = число строк сдвига
CH:CL = строка и столбец левого верхнего угла
DH:DL = строка и столбец правого нижнего угла
INT 10h (AH=09) - вывод символа с атрибутами
AL=код символа
BH=номер страницы (0..8)
BL=атрибуты
CX=количество выводимых символов
Примечание: все символы отображаются, включая CR,LF, и ВS
INT 10 (AH = 0Ah) - ВЫВОД СИМВОЛА без АТРИБУТОВ В ПОЗИЦИИ КУРСОРА
AL = символ
BH = номер страницы
CX = число повторений в записи символа
Примечание: все символы отображаются, включая CR,LF, и ВS
INT 10 (AH = 0Eh) - ВЫВОД СИМВОЛА С ПРОДВИЖЕНИЕМ КУРСОРА
AL = символ
BH = номер страницы
BL = цвет символа (только в графическом режиме)
Примечание: символы 07h (BEL), 08h (BS), 0Ah (LF), и 0Dh (CR)
не отображаются, но исполняются.
INT 10 (AH = 13h) - ЗАПИСЬ СТРОКИ С ПОЗИЦИИ КУРСОРА
Примечание: исполняются символы CR, LF, BS, и bell.
INT 21h (AH=02) - вывод символа без атрибутов
DL = код символа
INT 21h (AH=09) - вывод строки символов без атрибутов
DS:DX = адрес начала строки
Строка должна заканчиваться символом '$'.
INT 21h (AH=40h) - вывод строки символов без атрибутов
BX = 1
CX = число выводимых символов
DS:DX = адрес начала строки
Графический режим адаптера
Все видеобуферы могут работать, кроме текстового режима, еще и в графическом режиме. В этом режиме вместо символов на экран выводятся светящиеся цветные точки - пикселы. Никакого курсора на экране нет. Переключение в графический режим иэ текстового и наоборот производится прерыванием:
INT 10h (AH=00)
AL = номер режима (установка режима приводит к очистке экрана).
Видеобуфер для текстовых режимов начинается с адр. B800:
Видеобуфер для графических режимов CGA нач. с адр. B800, для графических режимов EGA, VGA с адр. A000:
Адаптер CGAF в графическом режиме выводит на экран 200 строк по 320 пикселов в каждой строке. При этом поддерживается только 4 цвета. Это связано с размерами видеобуфера. Ведь точек на экране: 320*200 = 64000, а видеобуфер всего 16 килобайт!
Поэтому в каждом байте хранятся цвета для четырех пикселей. Т.е. по 2 бита на пиксел.
Двумя разрядами можно поддерживать только 4 цвета. Это мало, поэтому заранее устанавливают одну из двух палитр – одинаковую для всех пикселов. Цвет фона и палитры устанавливаются заранее перед выводом.
──────────────────────
Код цв.│ Палитра 0 │ Палитра 1
──────────────────────
0 = 00 Цвет фона Цвет фона
1 = 01 Зеленый Голубой
2 = 10 Красный Сиреневый
3 = 11 Коричневый Белый
Адаптер EGA использует для пикселей 16 цветов (в режиме "10" - 64 цвета). Один байт видеобуфера хранит цвета 2 пикселов. Размер видеобуфера
- в режиме 0Dh 320*200=64000 пикселов (т.е. 32К памяти)
- в режиме 0Eh 640*200=128000 пикселов (т.е. 64К памяти) связано с графическим режимом его работы.
Адаптер VGA использует для пикселей 64 цвета. Размер памяти для видеобуфера 256 Кбайт. 64 цвета устанавливаются за счет варьирования яркостью цветов красного, зеленого и синего.
Управление выводом на экран
Управление выводом на экран в графическом режиме осуществляется с помощью прерываний:
INT 10h (AH=0Bh) - установка цвета фона
BH = 0 - признак установки цвета фона, BL = код цвета фона (в граф. режиме любой из 16 цветов)
С адаптером CGA эта же функция устанавливает и вид палитры:
INT 10h (AH=0Bh)
BH = 1 - признак установки вида палитры, BL = вид палитры (0..1)
INT 10h (AH=0Ch) - вывод пиксела (стр 238)
DX = номер строки (0..199 или 0..349 или 0..479)
CX = номер точки в строке (0..319 или 0..539)
AL = цвет пиксела (0..3 с адаптером CGA, или 0..15 с адаптером EGA, или 0..63 с адаптером VGA)
Когда цвет фона устанавливается в графическом режиме, весь экран, включая область границы, окрашивается в этот цвет. При переходе в текстовый режим, образуется граница из этого цвета.
INT 10h (AH=0Fh) - чтение текущего режима
Результат:
AL = номер текущего режима
BH = номер текущей страницы
AH = число столбцов
15. Виды обмена с внешними устройствами.
Интерфейс - совокупность технических данных и провил, устанавливающих единые принципы взаимодействия устройств (interface - согласование).
Команды ввода-вывода носят общее название: 'команды обмена'. В ЭВМ используются 4 способа обмена:
- синхронный обмен;
- асинхронный обмен;
- программный обмен;
- обмен по прерыванию;
- обмен по каналу прямого доступа к памяти.
Синхронный обмен
С приходом команды обмена, тут же выдается или принимается на соответствующее внешнее устройство информация. Недостаток - Процессор работает быстро и может подряд выдавать или принимать данные, которые терминал не будет успевать обрабатывать (печатать или подготавливать для передачи в процессор). Поэтому метод применяется либо для передачи разовых сигналов, либо таких, где это не портит данных - чтение таймера, вывод на цифровое табло и т.п.
Асинхронный обмен
Осуществляется также по команде обмена, но перед обменом анализируется состояние терминала, и если он еще не готов к обмену, ЭВМ переходит в режим ожидания. Ожидание длится до тех пор пока от терминала не придет сигнал 'готов'. Недостаток - Хотя здесь сбоев информации быть не может, как при синхронном обмене, но процессор вынужден ждать пока терминал не освободиться, что приводит к большой потере времени при обмене.
Программный обмен
Происходит по командам процессоров. При выполнении команд пересылки (MOV) формируется т.н. шинный цикл, в кот. в определенной последовательности выставляется адрес доступа, данные и формир необходимые сигналы управления. Запись в память – выставл адрес доступа, затем слово данных, далее формируется сигнал управления. Чтение: выставл адрес доступа, затем память должна выставить слово данных, затем формируется сигнал чтения. При прогр обмене возникает вопрос согласования по быстрод процессора и более медлен устр памяти. Для этого использ асинхр прогр обмен.
ОБМЕН ПО ПРЕРЫВАНИЮ
Этот вид обмена характерен тем, что процессор не обращается к терминалу до тех пор, пока тот сам не запросит об обмене сигналом INT - запрос прерывания. (От 'interrupt' - прерывание). Например, принтер, как только он отпечатает очередной символ, он сам выдает новый запрос INT для вывода следующего символа. Поэтому процессор не ждет когда принтер освободится, а все время выполняет свою основную программу. В системе команд процессора есть две специальные команды 'Разрешение прерывания' и 'Запрещение прерывания'. Для организации обмена по прерыванию процессор имеет специальный вход INTR. При поступлении сигнала запроса прерывания на этот вход (если прерывания разрешены) процессор делает следующее:
1. Доделывает до конца очередную операцию;
2. Заносит в стек адрес следующей команды для обеспечения возврата;
3. Организует переход к началу прерывающей программы.
В конце прерывающей программы должна быть записана команда RET. По этой команде из стека извлекается адрес возврата и организуется переход в основную программу.
Режим поддерживается аппаратно.
Преимущества обмена по прерыванию:
Процессор не тратит времени на ожидание занятого терминала, а все время работает.
Организация прерывающей программы
Прерывающая программа должна быть заранее написана программистом. Казалось бы эта процедура должна содержать только две команды OUT и RET. На самом деле надо:
1. Запомнить содержимое Ак и рег.Ф в стеке, чтобы их потом восстановить.
2. Прочитать очередную ячейку ОЗУ (очередное выводимое слово).
3. Выполнить команду Вывод на терминал (Ввод с терминала).
4. Сделать переадресацию выводимого слова.
5. Проверить окончание цикла и запретить прерывание, если цикл окончен.
6. Восстановить содержимое Ак и рег.Ф из стека.
7. Возврат.
В основной программе, перед началом обмена надо:
1. Сформировать массив для вывода.
2. Разрешить прерывание.
Аппаратные прерывания
Если бы ПК имел только одно устройство вызывающее прерывание, то все делалось бы, как описано выше.
Всего в IBM PC предусмотрено 15 прерываний от внешних устройств: IRQ-0, IRQ-1... IRQ-15. Из них используется 10, остальные - резерв.
Чтобы разрешить или запретить аппаратные прерывания, надо заслать '1' или '0' в 9-й разряд регистра флагов командами:
STI - разрешение прер.(IF=1)
CLI - запрещение прер.(IF=0)
Поступающее прерывание должно быть размаскировано.
На контроллер прерываний процессора поступ № линии запроса на прер-е (0-15). В конечном итоге № линии запроса обеспечит обращение к соответств элементу таблицы прерываний, из кот затем извлекается вектор прерывания (адрес проц-ры его обслуживания) и по вектору прерывания передается его управление. Затем командой IRET происх возврат к программе.
Режим ПДП- метод обмена данными между памятью и переферийным уст-вом без учитывания процессора. МП инициализирует контроллер ПДП, при этом задается 1. начальный адрес памяти, 2. счетчик и режим обмена.
16.Внешний интерфейс. Примеры реализации
Интерфейс - совокупность технических данных и правил, устанавливающих единые принципы взаимодействия устройств (interface - согласование).
Параллельный интерфейс – интерфейс управления принтером, он имеет 25 контактный разъём на задней стенке. Через этот разъём подключают внешние устройства. Максимальная длина не должна превышать 1,8м. Все внешние информационные сигналы передаются в ТТЛ уровнях.(0.4, 1.2).
Нагрузочная способность выхода 1,6 мА (стандартный ТТЛ вход). ПК может поддерживать до 3-х портов
Centronics, которые обозначают LPT1, LPT2, LPT3.
Базовые адреса параллельных портов в адресном пространстве устройства ввода-вывода: 3BCh, 378h, 278h.
Каждому устройству выделяется 3 адреса (ввода-вывода)
Адрес порта
| Режим обработки
| Назначение
| Base Address (BA)
BA+1
BA+2
| Запись, чтение
Чтение
запись
| Регистр данных
Регистр состояния
Регистр команд
| Запись байта в регистр данных приводит к тому, что записанный байт появляется на контактах 2…9 (Д0…Д7) внешнего разъёма. Чтение байта по этому адресу это чтение внешних сигналов на линиях Д0…Д7 (чтобы читать данные из регистра данные нужно предварительно в нём записать код FFh (т.е. все единицы)
Регистр состояния обеспечивает чтение сигналов состояния, которые формируются внешним устройством.
Через регистр команд выдаются команды управления внешним устройством.
Скорость обмена по параллельному порту от 120 до 200 кб/с.
Достоинства: простота, отсутствие необходимости вскрывать системный блок.
Недостатки: низкое быстродействие, малая длина кабеля.
Дата добавления: 2015-09-27 | Просмотры: 825 | Нарушение авторских прав
|