Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод_лаб_КИТ_КЭМ_new.doc
Скачиваний:
6
Добавлен:
06.02.2016
Размер:
640.51 Кб
Скачать

Задание к лабораторной работе №7

Заменить букву английского алфавита на соответствующую на клавише букву pусского алфавита (см. ваpианты заданий). После выполнения задания восстановить изобpажение на экpане. Заменить шpифт на шpифт из указанного файла (по ваpианту).

Таблица 12 — Варианты заданий

      1. Номер варианта

Буква английского алфавита

Буква русского алфавита

1

q

й

2

w

ц

3

e

у

4

r

к

5

t

е

6

y

н

7

u

г

8

i

ш

9

o

щ

10

p

з

11

a

ф

12

s

ы

13

d

в

14

f

а

15

g

п

16

h

р

17

j

о

18

k

л

19

l

д

20

z

я

21

x

ч

22

c

ж

23

v

м

24

b

и

25

n

ю

Заменить в стандаpтной таблице знакогенеpатоpа любую букву на букву гpеческого алфавита в соответствии с ваpиантом из пеpвой лабоpатоpной pаботы (матpица 8х16) не используя функций пpеpывания INT 10H (т.е. использовать соответствующие pегистpы).

Лабораторная работа №8

Тема: Низкоуровневое программирование параллельного порта.

Цель работы: Изучение структуры параллельного порта и операций низкоуровневой работы с ним.

Методические указания к лабораторной работе

Параллельный порт (параллельный порт IEEE 1284, LPT) — международный стандарт параллельного интерфейса для подключения периферийных устройств персонального компьютера. Название «LPT» образовано от наименования стандартного устройства принтера «LPT1» (Line Printer Terminal или Line PrinTer). Порт параллельного интерфейса был введен в PC для подключения принтера.

Параллельный порт, в основном, используется для подключения к компьютеру принтера, сканера и других внешних устройств (часто использовался для подключения внешних устройств хранения данных), однако может применяться и для других целей (организация связи между двумя компьютерами, подключение каких-либо механизмов телесигнализации и телеуправления).

В основе данного стандарта лежит интерфейс Centronics и его расширенные версии (ECP, EPP).

Интерфейс Centronics и стандарт IEEE 1284:

Параллельный порт Centronics — порт, используемый с 1981 года в персональных компьютерах фирмы IBM для подключения печатающих устройств, разработан фирмой Centronics Data Computer Corporation. Изначально этот порт был разработан только для симплексной (однонаправленной) передачи данных, так как предполагалось, что порт Centronics должен использоваться только для работы с принтером. Впоследствии разными фирмами были разработаны дуплексные расширения интерфейса (byte mode, EPP, ECP). Затем был принят международный стандарт IEEE 1284, описывающий как базовый интерфейс Centronics, так и все его расширения.

Разъёмы параллельного порта:

Порт на стороне управляющего устройства (компьютера) имеет 25-контактный 2-рядный разъём DB-25-female ("мама") (IEEE 1284-A). На рис. 5 показан 25-контактный разъём DB-25, используемый как LPT-порт на персональных компьютерах (IEEE 1284-A). Не следует путать с аналогичным male-разъёмом ("папа"), который представляет собой 25-пиновый COM-порт.

Рисунок 5 – Интерфейс разъема порта LPT

На периферийных устройствах обычно используется 36-контактный микроразъем ленточного типа Centronics (IEEE 1284-B), поэтому кабели для подключения периферийных устройств к компьютеру по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель). Изредка применяется AC-кабель с 36-контактным разъемом MiniCentronics (IEEE 1284-C), показан на рис. 6.

Длина соединительного кабеля не должна превышать 3 метров. Конструкция кабеля: витые пары в общем экране, либо витые пары в индивидуальных экранах. Изредка используются ленточные кабели.

Для подключения сканера, и некоторых других устройств используется кабель, у которого вместо разъема (IEEE 1284-B) установлен разъем DB-25-male. Обычно сканер оснащается вторым интерфейсом с разъемом DB-25-female (IEEE 1284-A) для подключения принтера (поскольку обычно компьютер оснащается только одним интерфейсом IEEE 1284). Схемотехника сканера построена таким образом, чтобы при работе с принтером сканер прозрачно передавал данные с одного интерфейса на другой.

Рисунок 6 – Кабельный 36-контактный разъём Centronics для подключения внешнего устройства (IEEE 1284-B)

Физический интерфейс:

Базовый интерфейс Centronics является однонаправленным параллельным интерфейсом, содержит характерные для такого интерфейса сигнальные линии (8 для передачи данных, строб, линии состояния устройства).

Данные передаются в одну сторону: от компьютера к внешнему устройству. Но полностью однонаправленным его назвать нельзя. Так, 4 обратные линии используются для контроля за состоянием устройства. Centronics позволяет подключать одно устройство, поэтому для совместного очерёдного использования нескольких устройств требуется дополнительно применять селектор.

Скорость передачи данных может варьироваться и достигать 1,2 Мбит/с. Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 3BCh, 378h и 278h. Порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов.

BIOS поддерживает до четырех LPT-портов (LPT1-LPT4) своим сервисом — прерыванием INT 17h, обеспечивающим через них связь с принтерами по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа, инициализацию интерфейса и принтера, а также опрос состояния принтера.

Рисунок 7 – Распиновка разъемов LPT порта

Таблица 13 — Назначение контактов разъема LPT порта

Сигнал

I/O

Контакт

Назначение

Strobe

I

1

Строб данных. Данные фиксируются по низкому уровню сигнала

Data

I

2-9

Линии данных. Data 0 (контакт 2) — младший бит [0:7]

Actt

O

10

Acknowledge — импульс подтверждения байта (запрос на прием следующего). Может использоваться для формирования запроса прерывания

Busy

O

11

Занято. Прием данных возможен только при низком уровне сигнала

PaperEnd

O

12

Высокий уровень сигнализирует о конце бумаги

Select

O

13

Сигнализирует о включении принтера

Auto LF#

I

14

Автоматический перевод строки

Еггог

O

32

Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтера

Imt#

I

31

Инициализация

Slot In#

I

36

Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы интерфейса

GND

-

19-30, 33

Общий провод интерфейса

Многие компьютеры имеют минимум по 1 принтерному порту, имеющему диапазон адресов с 0x378 по 0х37A и обзываемому LPT1.

При записи байта базовому адресу (например, 0x378) на выводах 2-9 появляются логические уровни, напрямую соответствующие битам байта. Например, при записи значения 0x01 на первом выводе данных (пин 2) будет присутствовать логический уровень 1 (около 5V).

Также для вывода можно использовать байт контроля порта, это базовый адрес + 2. Используются только первые 4 бита, причём здесь все сигналы логически инвертированы, кроме бита 2 (нумерация от 0). Этот сигнал по стандарту отвечает за инициализацию внешнего устройства.

Таким образом, получается 12 бит для вывода. Хотя обычно используются только стандартные 8 бит, а остальные сигналы являются управляющими.

NT-совместимые операционные системы не позволяют просто писать по нужному адресу данные в порт, (а прямо говоря, запрещают непосредственное использование верхней памяти), что делает практически нереальным использование LPT-порта. Самым удобным вариантом решения этой проблемы является использование многочисленных драйверов-заглушек.

Режимы работы:

Стандарт позволяет использовать интерфейс в нескольких режимах:

  • SPP (Standart Paralell Port) — однонаправленный порт, полностью совместим с интерфейсом Centronics.

  • Nibble Mode — позволяет организовать двунаправленный обмен данными в режиме SPP путём использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру. Исторически это был единственный способ использовать Centronics для двустороннего обмена данными.

  • Byte Mode — редко используемый режим двустороннего обмена данными. Использовался в некоторых старых контроллерах до принятия стандарта IEEE 1284.

  • EPP (Enhanced Parallel Port) — разработан компаниями Intel, Xircom и Zenith Data Systems — двунаправленный порт, со скоростью передачи данных до 2МБайт/сек. (1991)

  • ЕСР (Extended Capabilities Port) — разработан компаниями Hewlett-Packard и Microsoft — в дополнение появились такие возможности, как наличие аппаратного сжатия данных, наличие буфера и возможность работы в режиме DMA.

Стандартные функции для чтения из порта и записи в порт языке С++:

  • запись в порт значения 0х00:

int value = outp(0x378, 0x00)

где 0x378 – адрес памяти в 16-ричной системе счисления, куда записывается информация;

  • чтение данных из порта:

value = inp(0x378).