|   |   |   | 
1.1. 
  Параллельный интерфейс
 Параллельные интерфейсы отличаются высокой скоростью обмена, 
но коротким кабелем и низкой помехозащищенностью. 
Через параллельный интерфейс, имеющий 25-штырьковый разъем, 
к компьютеру обычно подсоединен 
принтер. 
Этот  стандарт называется 
Centronics,
а его отечественный аналог - ИРПР-М. 
 Pаспределение сигналов по контактам в IBM-компьютере
 Контакт Сигнал Направление сигнала 1 strob* строб источник - приемник 2 date1 данные источник - приемник ... ... данные источник - приемник 9 date8 данные источник - приемник 10 acknlg* подтверждение приемник - источник 11 busy занят приемник - источник 12 ре конец бумаги приемник - источник 13 select out* готовность приемника приемник - источник 14 auto feed* авт. перевод бумаги источник - приемник 15 error* ошибка приемник - источник 16 init* сброс источник - приемник 17 select in* выбор источник - приемник 19-25 ground* земля   
  
	
     
  
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
     
       
    
       
    
       
	
       
 Знаком * показаны инвертированные сигналы 
(напр. error),
 т.е. сигнал активен, когда на линии низкое напряжение 
(логический "ноль"). Уровни напряжения сигнала соответствуют 
стандарту ТТЛ-схем: логическая "1" = 2.4-5.25 В, 
логический "0" = 0-0.5 В. 
 Процесс установления связи двух устройств в стандарте Centronics 
происходит так: 
 1. Компьютер (источник) проверяет нет ли сигнала busy
 на контакте 11, выставляет данные на контактах 2-9 и 
подает сигнал strob на контакт 1.  2. Принтер (приемник) по  появлению сигнала строб выставляет 
сигнал busy. После обработки информации он снимает busy и 
подтверждает прием данных сигналом acknlg.
 
Рис. 1. 
  Эпюры напряжений при работе интерфейса Centronics
 Остальные сигналы менее значимы и могут не использоваться. 
В случае конца бумаги (pe) или ошибки (error) принтер все равно 
поднимет сигнал на линии busy. Инициализация принтера может быть 
произведена не только управляющим сигналом init, но и программно.
За один раз передается сразу 8-битный  информации (байт), что  
позволяет  передать один из 255 символов таблицы ASCII, которая 
обычно "прошита" в ПЗУ принтера. При автоматизации физического эксперимента параллельный интерфейс 
может использоваться для ввода/вывода цифровой информации по 12 
линиям от компьютера (данные - 8 бит + управление - 4 бита) и по 
4 линиям к компьютеру (состояние 4 бита). Каждая выходная линия,
 при соответствующем согласовании, может быть использована 
для управления состоянием аппаратуры типа "включено-выключено": 
запуск генератора, опускание пера, открытие шторки и т.д. Простейший цифро-аналоговый преобразователь (ЦАП), 
показанный на рис.2, может использоваться для вывода 
аналоговой информации, например на самописец, осциллограф, 
динамик и др.  Входные линии параллельного порта можно использовать 
для ввода состояния клавиш, наличия высокого/низкого уровня сигнала
 и т.д. в ваших приборах. Например, можно программно легко 
реализовать простейший счетчик импульсов или частотомер. 
Если использовать генератор, у которого частота импульсов
зависит от емкости (или сопротивления), то можно на его базе 
изготовить R или C измеритель. 
 
Рис. 2. 
 Простейший ЦАП на основе регистра (параллельного порта)
 Обратите внимание на тот факт, что некоторые линии управления и 
состояние - инвертированы.
 Для программирования данного интерфейса служат три регистра
по 8 бит каждый с шестнадцатеричным адресами  (в  адресном  
пространстве внешних устройств) для первого параллельного интерфейса:
 378h - данные, 379h - состояние, 37Ah - управление. Т.е. параллельный 
порт занимает в адресном пространстве три байта.
 Назначение битов регистров
 Состояние (379) Управление (37A) 7 busy (1- занят) 7-5 не используется 6 acknlg (0- подтверждение приема) 4 irq (0-прерывание запрещено) 5 pe (1- нет бумаги) 3 slct in (0-отмена выбора) 4 slct out (1- выбран)  2 init (0- инициализация) 3 error (0- ошибка) 1 auto feed (автоперевод строки) 2-0 не используется 0 strob (1- вывод байта) Работу с ними обеспечивает прерывание BIOS (basic input/output system) int 17h, 
которое имеет 3 функции:
 0 - символ вывода на печать,  1 - инициализация  порта,  2- получение слова состояния. 
 При этом номер функции заносится в регистр процессора AH,  
код передаваемого символа в AL,  а номер порта (0-2) в DX. 
После вызова прерывания int 17 в AX окажется слово состояния. 
В Турбо  Паскале в библиотеке DOS есть тип Registers и процедура 
Intr(n,registers),  которые могут использоваться для работы с 
параллельным портом например так:
 
 
 
  
	
В системе MS-DOS устройствам параллельных портов 
ввода-вывода присваивается логические имена LPT1 (PRN), LPT2 и т.д. 
       
  
       
	 
       
    
     
       
    
       
       
    
       
	 
       
    
       
       
    
       
	 
       
    
       
       
    
       
	 
       
    
       
       
    
       
	 
       
    
       
       
    
       
	 
       
    
       
       
    
       
function StatPrint: byte; {возвращает слово состояние}
var Reg: Registers;
begin
  Reg.Ah:=2; Reg.Dx:=0; Intr(17, Reg);
end;
 
 
 
 
 
 
