Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ПУ(исп).doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.25 Mб
Скачать

Литература

  1. Кулаков В. Программирование на аппаратном уровне: специальный справочник. 2-е издание. – СПб.: Питер, 2003

  2. Деревянко А.С. Системное программное обеспечение персональных ЭВМ. Учебное пособие. – Харьков: ХГПУ, 1994

  3. Петер Нортон. Программно-аппаратная организация компьютера IBM PC.

  4. Роберт Журден. Справочник программиста на персональном компьютере фирмы IBM.

Лабораторная работа №8 матричные Принтеры. Расширенные возможности печати

Цель работы – изучить расширенные возможности печати матричных принтеров.

Теоретические сведения

Принтер дает широкий выбор эффектов при печати – от применения числа знаков на дюйм до использования специальных эффектов или выделения выбранных символов или фраз. Эта лабораторная работа показывает дополнительные возможности печати, которые можно выбрать с помощью программного обеспечения.

Для установки различных спецификаций, относящихся к формату страницы, стилю шрифта и т.п., на принтер посылаются специальные управляющие коды. Эти коды посылаются на принтер, как и любые другие данные. Некоторые из них это простые однобайтные коды из числа первых 32-х набора кодов ASCII. Эти управляющие коды инициируют такие простые действия принтера, как перевод строки или перевод формата (прогон страницы). Однако большинство спецификаций печати устанавливается посылкой ESC-последовательностей, в которых один или более кодовых байтов следует за символом ESC, код которого ASCII 27. Начальный код ESC информирует принтер, что символ(ы), который следует за ним следует интерпретировать как команду, а не как данные. Такие ESC-последовательности обычно не имеют символа-ограничителя, поскольку принтер «знает» длину каждой последовательности. Только в некоторых случаях, когда последовательность может иметь разную длину, требуется ограничивающий символ, в качестве которого всегда используется код ASCII 0.

Почти во всех случаях спецификации, установленные этими кодами действуют до тех пор, пока они не будут явно отменены. Как только будет получен код, например, подчеркивания, то оно будет осуществляться до тех пор, пока не будет послан код отмены подчеркивания. Буфер принтера может быть очищен без отмены установленных спецификаций. Но если произошла ошибка на принтере, и принтер был выключен и включен, то необходимо снова устанавливать все спецификации.

Большинство кодов устанавливающих спецификации принтера перемешаны с данными, на которые они действуют. Например, данные для слова, которое должно быть выделено жирным шрифтом, должны предваряться ESC-последовательностью, включающей жирный шрифт, и завершаться ESC-последовательностью, выключающей его. Поскольку универсальный стандарт на эти коды отсутствует, то печать с использованием мощных возможностей требует, чтобы для каждого поддерживаемого принтера были написаны драйверы. Каждый драйвер преобразует инструкции, генерируемые процедурой печати, в протокол, используемый данным принтером.

Обсуждения и примеры последующих страниц в основном относятся к графическому принтеру IBM. Коды, используемые этим принтером, настолько же «стандартны», насколько и любой другой протокол. В большей степени это связано с тем, что этот протокол используется в эпсоновских принтерах (первые принтеры для IBM PC были фирмы Epson), которые составляют треть всех используемых принтеров. Хотя приведенная далее информация может быть неприменима ко всем принтерам, но большинство общих принципов применимо.

Средства BIOS для работы с принтером. BIOS использует для работы с принтером функции 0, 1, 2 прерывания INT 17h.

Функция 00h предназначена для печати одного символа:

На входе: AH = 00h;

AL = ASCII-код символа для печати;

DX = номер принтера: 0, 1 или 2.

На выходе: AH = слово состояния принтера.

Эта функция выводит на принтер один символ, заданный в регистре AL. В регистр DX необходимо записать номер используемого принтера, для LPT1 это 0, для LPT2 - 1 и т.д. После выполнения прерывания регистр AH будет содержать слово состояния, имеющее следующий формат (таблица 2).

Таблица 2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]