7. ИНТЕРФЕЙСЫ ПРИНТЕРА.
Существует множество разновидностей печатающих уст-
ройств. Они различаются как по принципу действия - матрич-
ные, струйные, лепестковые, термические и т.д., так и по
применяемым в них интерфейсам связи и протоколам обмена с
компьютером - параллельным - HPnp(IFSP), ИРПР-М(CENTRONICS)
и др., и последовательным - C2(RS-232C, V24), ИРПС (CL) И др.
Для того, чтобы подключить принтер. Ваш компьютер необходимо
осиастить соответствующим интерфейсом, а также загрузить
программную поддержку (драйвер) этого интерфейса.7.1. Параллельный интерфейс принтера.
Рассмотрим два наиболее распространенных параллельных
интерфейса - ИРПР-М (CENTRONICS) н ИРПР. Чаще всего в ком-
пьютерах используется упрощенный вариант CENTRONICS с мини-
мально достаточным числом линий связи. Эти линии, названия
сигналов, а также два основных типа разъемов принтера отоб-
ражены в таблице 2.Остальные линии интерфейса в упрощенном варианте не ис-
пользуются. Передача данных от компьютера к принтеру осу-
ществляется с помощью сигналов СТРОБ и ЗАНЯТ (рис.31). Прин-
тер выставляет сигнал ЗАНЯТ в лог. 1 в случаях ввода данных,
состоямия "ошибки", переполнения буфера и т.п. Компьютер по
этому сигналу приостанавливает передачу данных и не передает
импульс с лог. о по линии СТРОБ до тех пор, пока принтер не
перейдет в состояние готовности, то есть лог. О на линии ЗА-
НЯТ. Принтер считывает данные с линий D0-D7 только после то-
го, как сигнал СТРОБ принял состояние лог. 0. Длительность
импульса СТРОБ с лог. о ие менее-0,5 икс.Для реализации интерфейса типа CENTRONICS удобно ис-
пользовать микросхему КР580ВВ55А, которая представляет собой
программируемый интерфейсный адаптер (ПИЛ). В состав ПИА![]()
входят три 8-ми разрядных параллельных порта ввода/вывода А,
В, С. В нашей схеме (рис. 32) порт В используется для выво-
да информации DATA 0-7 иа вход принтера. По младшему разря-
ду порта С РСО передается сигнал СТРОБ, а старший разряд РС7
служит для ввода сигнала ЗАНЯТ принтера. Порт А зарезервиро-
ван под джойстик. Программа поддержки интерфейса заносит в
управляющий регистр ПИА число 136, что соответствует на-
стройке ПИА в режим вывода по порту в и четырем младшим раз-
рядам порта С и ввода по 4-м страшим разрядам порта С.Заметим, что после включения питания, в результате RE-
SETa, все порты ПИА настраиваются в режим ввода информации.
Кроме того, адресация порта А выбрана таковой, что позволяет
использовать его в качестве интерфейса джойстика, который
может быть подключен, как показано на рис. 32. Джойстик бу-
дет выбираться при нуле на шииах А5, RD, I0RQ, что соответс-
твует адресации KEMPST0N интерфейса.Принтер подсоединяется к интерфейсу с помощью кабеля
длиной 1,5-2 метра.Для увеличения нагрузочной способности на выходе интер-
фейса желательно включить буферный элемент, в качестве кото-
рого можно использовать любые ТТЛ микросхемы без инверсии,
например, К155ЛП4, К155ЛП10, К155ЛП11, К555АП5, К555АП6,
К589АП16.Интерфейс ИРПР - параллельный интерфейс, отличающийся
от CENTRONICS как полярностью сигналов, так и протоколом об-
мена . В упрощенном варианте для работоспособности интерфей-
са, кроме 8-ми информационных тии DATA 0-7, необходимы два
управляющих сигнала:- SC - строб источника, аналогично сигиалv СТРОБ интер-
фейса CENTRONICS, в низком уровне свидетельствует о досто-
верности информации на шинах DATA 0-7;- АС - запрос приемника, в состоянии 0/1 сигнализирует
о готовности/неготовности принтера к приему данных, т.е.
аналогичен сигналу ЗАНЯТ интерфейса CENTRONICS.Сигналы SC и АС связаны между собой следующим образом:
- SC изменяет состояние из лог. 1 в лог. о только при
А С = о, а из лог. 0. в лог. 1 - при АС = 1;- АС остается в состоянии лог. 1 до тех пор, пока сиг-
нал SC не изменит свое состояние из лог. о в лог. 1.Несмотря на отличия в протоколах обмена, схема и прог-
рамма поддержки интерфейса CENTRONICS вполне могут работать
с принтерами, оснащеииыми интерфейсом ИРПР. Для этого необ-
ходимо инвертировать информационные линии DATA 0-7 и буфери-
эировать сигнал SC, так как в ИРПР требуются токи нагрузки
около 40 мА. Сигнал АС используется вместо сигнала ЗАНЯТ, а
сигнал SC вместо сигнала СТРОБ. В качестве инверторов и бу-
феров можно применить микросхемы "Исключающее ИЛИ" - К155ЛП5
(Рис. 33). В этом случае, подавая на вторые входы элементовмикросхем лог.1 или лог.0, Вы получите на выходах инвертиро-
ванный или неинвертированиый сигнал. Такии образом. Ваш па-
раллельный интерфейс будет универсальный.7.1.1. Программа CENTRON I С S.
Програииа поддержки интерфейса "CENTRONICS", приведен-
ная ниже, обеспечивает выполнение коианд LLIST, LPRINT, а,
также, по коианде "RANDOMIZE USR 23370" позволяет получать
"твердую" копию текста с экрана.
5B80
20
60
C5
D5
E5
06
08
1A
5B88
FE
FE
20
ОС
1A
EE
FF
BE
5B90
20
10
23
14
10
F6
18
19
5B98
1A
BE
20
06
23
14
10
F8
5BA0
18
OF
El
D1
ОС
79
01
08
5BA8
00
09
CI
4F
10
D4
3E
20
5BB0
C9
79
El
D1
CI
C9
FE
OD
5BB8
20
07
E5
21
FF
5B
36
00
5BC0
El
FE
20
38
11
F5
E5
21
5BC8
FF
5B
7E
2B
BE
3E
OD
00
5BD0
00
00
23
34
El
Fl
C5
F5
5BD8
01
BF
E2
CD
54
IF
D2
00
5BE0
OD
DB
5F
17
38
F5
Fl
05
5BE8
05
D3
3F
06
E3
F5
3E
OE
5BF0
D3
5F
3C
D3
5F
Fl
CI
FE
5BF8
OD
CO
3E
OA
18
D8
50
00
5В00
FE
06
CA
19
5B
FE
16
28
5В08
04
FE
17
20
2C
El
El
D9
5В10
El
F5
IF
30
01
41
78
18
5В18
06
F5
ЗА
FE
5B
CB
3F
21
5В20
FF
5B
96
38
OB
El
C8
47
5В28
3E
20
CD
Вб
5B
10
F9
C9
5В30
CD
F8
IF
Fl
FE
06
C8
18
5В38
EF
FE
A5
38
05
D6
A5
C3
5В40
10
ОС
FE
80
38
70
06
01
5В48
18
DE
OE
00
06
00
C5
C5
5В50
D5
78
CD
BO
22
EB
CD
7C
5В58
5B
D1
CI
CD
Вб
5B
79
C6
5В60
08
4F
FE
00
28
04
CI
4F
5В68
18
E4
Fl
78
C6
08
47
3E
5В70
OD
CD
Вб
5B
3E
A8
B8
38
5В78
02
CO
w
D3
C9
21
00
3D
01
1 OUT 127,136: OUT 95,1: LET а=РЕЕК 23631: LET b=PEEK 23632:
LET c=a+256*b+15: POKE c,0: POKE c+1,912 LOAD "CENTRONICS"CODE
3 CLS : PRINT FLASH 1;" +++ CENTRONICS ++ +
4 PRINT AT 5,2; "RANDOMIZE USR 23370 for COPY"
5 PRINT FLASH 1;AT 10,7;"H T К + P L U S +": STOP
6 SAVE "CENTRONICS" LINE 1: SAVE "CENTRONICS"CODE 23296,256
Программа состоит из 2-х частей: на Бейсике и в иашин-
иых кодах ZS0. После старта, Бейсик-програииа загружает коды
и настраивает интерфейс. Коды приведены в распечатке содер-
жииого паияти в шестнадцатиричной (HEX) виде. Каждая строка
распечатки начинается с четырехзначного HEX адреса первого
из восьии HEX байтов, напечатанных в этой строке. Для ввода
програии в иашиниых кодах и сохранения их иа иагнитной лен-
те предлагаеи Ваи воспользоваться програииой HEX ввода, по-
иещенной ниже.7.1.2. Програииа HEX ввода.
Програииа предназначена для запиои/чтеиия и редактиро-
вания данных оперативной паиятн в шестнадцатиричной виде.
Програииу иеобходиио занести в память компьютера и записать
на леиту коиандой RUN 9999. После старта програииы внизу зк-
рана появляется надпись "Input start address". Необходиио
ввести 4-значный HEX адрес первого байта програииы в машин-
ных кодах, которую Вы будете заносить в паиять компьютера.
После ввода начального адреса програииа выведет на экран
этот адрес, содержащиеся по зтоиу адресу даииые и будет ожи-
дать от Вас ввода новых данных. Введите HEX данные и иажиите
клавишу Enter. Новые данные появятся иа экране. Если нажать
Enter без ввода данных, то Вы перейдете к следующему адресу.
Для перехода к предыдущему адресу используйте клавишу и. Ес-
ли вы закончили ввод даииых, то для сохранения их иа ленте
используйте клавишу S. После коиаиды S ваи иеобходиио ввести
иия програииы, начальный и конечный адрес блоха ходов.10 CLEAR 32767: PRINT AT 7,11;"НЕХ input"
20 PRINT FLASH 1;AT 11,10;"H T К P L U S"
3 0 PRINT AT 17,11;"Use CAPS LOCK"
40 DIM W$(4)50 INPUT " Input start address ";W$: GO SUB 400
90 CLS
100 LET D=T: DEF FN A(A$,B)=CODE A$ (В)-48-7*(CODE A$(B)>57)
110 DEF FN C(A$)"16*FN A(A$,1)+FN A(A$,2)
*120 DEF FN G$ (F) -CHRS (F+48+7*(F>9))130 DEF FN H$(E)-FN G$(INT (E/16))+FN G$(E-16*INT (E/16))
140 DIM A$(2)150 PRINT " Use ENTER to step forward"
160 PRINT " use U & ENTER to step backwards"
170 PRINT " Use S & ENTER to SAVE code"
180 PRINT190 PRINT "ADDRESS DATA NEW DATA": PRINT
200 PRINT TAB 2;FN H$(INT (D/256));FN H$(D-256*INT (D/256));
TAB 10;FN H$(PEEK D);
210 INPUT A$
220 LET L-l230 IF A$(1)-"U" THEN LET—1: GO TO 260
240 IF A$(1)="S" THEN GO TO 290
250 IF A$(1)<>CHR$ 32 THEN POKE D,FN C(A$)
260 PRINT TAB 18;FN H$(PEEK D)
270 LET D-D+L
280 GO TO 200
290 CLS : PRINT "SAVE ";CHR$ 34;: INPUT " Input name
program ";N$: PRINT N$;CHR$ 34;"CODE ";
300 INPUT " Input start address program";W$: GO SUB 400:LET B-T: PRINT B;'V;
310 INPUT " Input end address program ";W$: GO SUB 400:LET L-T: PRINT L-B
320 SAVE N$CODE B,L-B: PRINT, FLASH 1;AT 17,16;"END": PRINT
AT 21,3;"For contlnus press any key": PAUSE 0: GO TO 10
400 LET T-0
410 FOR Y-l TO 4420 LET T-T+16?(4-Y)*(CODE W$(Y)-48-7*(CODE W$(Y)>57))
430 NEXT Y
440 RETURN
9999 SAVE "HEX input" LINE 107.1.3. Програииа COPY.
Если Ваш принтер поддерживает графический режим работы,
то его можно использовать для распечатки графических копий
экрана Вашего СПЕКТРУМа. Для этого служит програииа "СОРУ",
приведенная ниже. Программа рассчитана на работу с наиболее
распространенныии, EPSON-совместимыми, принтерани.COPY
5 CLS : PRINT FLASH 1 ; AT 10,7 ; "H T К + P L U S +"
6 PRINT AT 20,2;"RANDOMIZE USR 23296 for COPY"
10 LOAD "COPY"CODE20 PAUSE 0: STOP
30 SAVE "COPY" LINE 1: SAVE "COPY"CODE 23296,256
5в80
08
7е
90
77
23
23
7е
90
5в88
77
2в
2в
с1
14
10
df
79
5в90
cd
d1
5в
79
cd
f7
5в
сс
5в98
d1
5в
е1
7е
d6
08
77
fe
5ва0
47
d1
30
ad
с9
7е
fe
80
5ва8
38
04
d6
80
18
23
cd
d1
5вв0
5в
23
18
f1
cd
е9
5в
ое
5вв8
21
21
с6
5в
cd
f7
5в
28
5вс0
е4
21
св
5в
88
df
1в
2а
5вс8
05
00
82
1в
4в
00
81
0d
5bd0
8а
f5
db
5f
17
38
fb
f1
5bd8
d3
3f
зе
fe
d3
5f
зе
ff
5ве0
d3
5f
00
00
00
00
00
00
5ве8
с9
ое
05
0d
с8
зе
20
cd
5bf0
d1
5в
18
f7
1в
33
97
е5
5bf8
21
ff
5в
св
46
е1
с9
00
5в00
зе
88
d3
7f
зе
ff
d3
5f
5в08
00
00
00
00
00
21
f4
5в
5в10
cd
а5
5в
06
18
97
cd
28
5в18
5в
зе
14
cd
f7
5в
cc
28
5в20
5в
05
78
fe
02
20
ее
с9
5в28
21
37
5в
77
cd
в4
5в
с5
5в30
78
cd
ее
od
ев
06
04
14
5в38
10
fd
cd
4в
5в
с1
0d
79
5в40
fe
01
20
ев
21
с f
5в
cd
5в48
а5
5в
с9
21
6f
5в
23
36
5в50
7f
d5
е5
21
73
5в
23
36
5в58
f9
23
23
36
f1
cd
f7
5в
5в60
28
02
36
f9
2в
2в
ое
00
5в68
06
04
28
02
06
08
1а
св
5в70
3f
28
04
cb
в9
св
в1
cd
5в78
f7
5в
с5
06
10
28
02
06
Програииа "COPY" вводится в память СПЕКТРУМа аналогично
'програиие "CENTRONICS". Для получения графической копии эк-раиа необходимо выполнить команду "RANDOMIZE USR 23296".
Программу можно модифицировать:- РОКЕ 23551,1 - уменьшенная копия экрана;
- РОКЕ 23551,0 - увеличенная копия экрана;
- РОКЕ 23530,х - где х - величина отступа от левого
края ;
- РОКЕ 23542,у - где у от 151 до 156 - размер по верти-
кали.Программы "CENTRONICS" и "COPY" располагаются в области
буфера принтера, поэтому при выполнении команды "NEW" они
уничтожаются.Следует отметить, что коды управления графическим режи-
мом работы принтеров разных фирм чаото ие совпадают, поэто-
му для работы с другими моделями принтеров программа должна
быть изменена.


