Аппаратное обеспечение IBM PC



         

Порт 379h. - часть 2


Следует также учитывать, что нагрузка на выходную линию принтерного порта не должна превышать одного входа TTL.

Если по каким-либо причинам вы пожелаете работать с принтером через порты ввода/вывода, вам необходимо изучить временную диаграмму принтерного порта. Она представлена на следующем рисунке:

----------------------------------¬ ¦ ¦ BUSY --------- L-------- ------ ACK ---------------------------------------¬ ---- ¦ ¦ L--------- --------------¬ ¦ ¦ DATA ----- L-------------------------------- ------ STROBE ------¬ ------------------------------------ ¦ ¦ L---------

Для того, чтобы вывести символ на принтер, программа вначале должна убедится, что уровень сигнала на линии BUSY (бит 7 порта 379h) равен 0, а уровень сигнала на линии ACK (бит 6 порта 379h) - единице. После этого следует установить код выводимого символа на линиях DATA (порт 378h).

Затем не ранее, чем через 0,5 мкс линию STROBE (бит 0 порта 37Ah) необходимо перевести в состояние логического 0. При этом выводимый символ запишется во внутренний буфер принтера. Уровень логического нуля необходимо удерживать в течение как минимум 0,5 мкс. Это время нужно для того, чтобы символ записался в буфер принтера. После истечения интервала времени линию STROBE нужно опять перевести в состояние логической единицы.

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

Когда принтер полность обработает выведенный символ, линия ACK перейдет в состояние 0. Приблизительно через 5 мкс после этого линия BUSY также перейдет в состояние 0.

Еще через 5 мкс линия ACK примет состояние 1. Теперь принтер готов принят следующий символ распечатываемых данных.




Содержание  Назад  Вперед