Автор: Пользователь скрыл имя, 07 Декабря 2011 в 13:49, лабораторная работа
Объектом изучения данной работы является печатающее устройство FX-800.
В этом устройстве использован ударный принцип печати с синтезом контуров знаков из элементов точечной матрицы. Печатающим элементом в устройстве является линейка, образованная девятью вертикально расположенными иголками. Привод печатающих иголок – электромагнитный.
Команды левого поля
#27,’I’,
’n’ (#27,#108, #n), где n –номер колонки начала
строки.
Команды правого поля
#27,’0’, ’n’ (#27,#81, #n), где n –номер последней колонки в строке.
Например,
определить строку, начинающуюся с10
колонки и кончающуюся 30 колонкой,
можно с помощью двух управляющих последовательностей
#27,’1’, ’10’ , #27,’0’, #30
Крайнее положение поля зависит от шрифта, определяющего максимальное количество знаков в строке (табл.2), и от режима печати.
Максимальное количество знаков в строке
Пайк | 80 |
Элит | 96 |
Уплотненный | 137 |
Уплотненный элит | 160 |
Выбор интервала между строками
Команда
задается управляющей
- #27,#65, #n (#27,’A’, #n)
С
помощью этой команды устанавливается
интервал между строками, равный n/72
дюйма. По умолчанию интервал между строками
равен 1/6 дюйма, что соответствует трем
шагам между печатающими иголками.
Немедленная подача строки
Команда
задается управляющей
- #27,#74, #n (ESC j n)
При
выполнении этой команды бумага перемещается
на одну строку с интервалом между строками
n/216 дюйма (0<n<256). Это команда одноразового
действия (она распространяется только
на одну текущую строку). Она не меняет
интервал, ранее установленный другой
командой, и не сопровождается возвратом
каретки.
Выбор длины страницы в строках
Команда
задается управляющей
#27,’C’, #n или #27, #67, #n , где n – количество
строк (n<127) .
Подача формата #12, обеспечивает печать строки и перевод бумаги к следующей странице.
На
рис.2 приведен пример задания интервала
между строками, который определяется
в одной команде вместе с заданием двойной
высоты.
Порядок
выполнения работы
При
выполнении данной работы производятся
действия, определенные объединенным
индивидуальным заданием на эту работу
и на следующую. Поэтому порядок выполнения
индивидуального задания приведен в соответствующем
разделе описания лабораторной работы
№2.
Лабораторная работа №2
«Программно
управление принтером
при выводе графической
информации»
Печатающее устройство FX- 800 может осуществлять вывод информации в графической форме.
Графический
режим задается с помощью управляющей
последовательности
ESC K n1 n2 (27, #75,#n1, #n2)
где:
В
рассматриваемой управляющей
Используемое
здесь понятие «знаковая
Построение графической информации осуществляется фрагментами, каждый из которых соответствует одной знаковой строке, в формировании которых участвуют восемь из девяти имеющихся иголок печатающей линейки.
Вид каждой из колонок, составляющих знаковую строку, задается десятичным числом, соответствующим восьми разрядному двоичному коду управления иголками во время нанесения на бумагу каждой колонки формируемой знаковой строки. Старший разряд этого кода с весом 128 управляет верхней иголкой печатающей линейки. Младший разряд с весом 1 управляет нижней иголкой. Например, чтобы нанести знаковую строку, состоящую из линий, образуемых второй, пятой, и седьмой иголками на управление иголками необходимо многократно подавать число 7410= =010010102.
На рис.4 приведена программа, формирующая графическое изображение в трех строках шириной 54 колонки.
Меняя
К на L или Y можно менять линейную плотность
точек.
PROGRAM PR5;
USES PRINTER;
VAR
C,N:INTEGER;
BEGIN WRITE(LST,#27,’@’);
FOR N:=1 TO 3 DO
BEGIN WRITE(LST,#27,#36,#200,#0);
WRITE(LST,#27,’Y’,#60,#0);
FOR C:=1 TO 20 DO WRITE(LST,#85,#42,#85);
WRITELN(1ST);END;
END.
Рис.
4
Знаки,
задаваемые пользователем.
Печатающее устройство дает возможность пользователю задавать нужный ему контур знака, т.е. создавать пользовательский символ. Введение пользовательских знаков начинается с созданием нужного контура пользовательского знака. Предположим необходимо создать знак с контуром близким к
g
Сначала
нужно расположить точки создаваемого
знака в матрице знакоместа, как это
показано на рис. Далее кодируются десятичным
кодом вид каждой колонки знакоместа.
Для образца, приведенного на рис. 6, это
будет последовательность чисел:
010 =000000002 - 1-ая колонка поля знака;
3410 =001000102 - 2-ая колонка поля знака;
8410 =010101002 - 3-ая колонка поля знака;
13610 =100010002 - 4-ая колонка поля знака;
1710 =000100012 - 5-ая колонка поля знака;
13610 =100010002 - 6-ая колонка поля знака;
8410 =010101002 - 7-ая колонка поля знака;
3410 =001000102 - 8-ая колонка поля знака;
010 =000000002 - 9-ая колонка поля знака;
010 =000000002 - 10-ая колонка поля знака;
010 =000000002 - 11-ая колонка поля знака;
010 =000000002 - 12-ая колонка поля знака.
В приведенном на рис.6 знакоместе имеется пять полных шагом (без учета одного шага, используемого как промежуток между соседними знакоместами). Колонки могут задаваться на каждом полушаге. При этом необходимо соблюдать правило - расстояние по горизонтали между двумя точками при формировании контура знака не должно быть меньше одного полного шага. Колонки знакоместа, не содержащие точек на рисунке контура, а также пробел между знакоместами кодируется нулевыми кодами. Таким образом, для определения контура знака необходимо задать 12 десятичных или 12 восьми битовых двоичных чисел.
Данные
числа в соответствующей
YBAB
PROGRAM PR2;
USES PRINTER;
BEGIN WRITE(LST,#27,’@’);WRITE(LST,#
WRITE(LST,#27,#38,#0,’A’,’A’)
WRITE(LST,#0,#136,#84,#34,#
WRITE(LST,#27,#37,#1,’A’,’B’,#
WRITE(LST);
END.
Рис.
5
Управляющая
последовательность
#27, #38,#0,’A’,’A’
определяет в общей последовательности символов, хранимых в БЗУ в качестве активного алфавита, кодов первого и последнего символов, определяющих последовательность символов, контуры которых пользователь собирается изменить. В рассматриваемом примере изменяется контур только одного символа, поэтому начальный символ и конечный символ последовательности изменяемых символов совпадают. Далее в следующей команде задается последовательность чисел, соответствующих отдельным колонкам изображения символа, приведенного на рис.6.
Рис. 6
Перед заменой стандартных описаний символов на описание контуров пользовательских символов, в поле описания знака, адрес которого определяется кодом ‘A’ находилось описание контура буквы «A» (т.е. стандартное для данного принтера описание контура кодируемое как ‘A’).
Это поле в рассматриваемом примере заменяется новым описанием, а именно описанием контура на рис.6. По этому, когда в дальнейшем будет выполняться обращение к полю по коду ‘A’, из БЗУ будет извлекаться описание контура на рис.6.
Управляющая
последовательность
#27, #37, #n
позволяет выбирать или введенный
пользовательский знак (при этом
n=1), или стандартное описание (при этом
n=0).
Порядок
выполнения работы
По первой и второй работам выдается единое задание. При выполнении задания необходимо сделать следующее.
Титульный лист Вашего отчета должен содержать относящиеся к Вам и Вашей работе данные: Вашу фамилию, фамилию преподавателя, текущий год и т.п.
Информация о работе Программное управление принтером при выводе знаковой информации