Ïîðò 379h.



Ïîðò 379h.

Ïîðò ñîñòîÿíèÿ ïðèíòåðà, äîñòóïåí òîëüêî äëÿ ÷òåíèÿ: 7 6 5 4 3 2 1 0 T-T-T-T-T-T-T-¬ ¦ ¦ ¦ ¦ ¦ ¦ ¦ LT+T+T+T+T+T+-+T- ¦ ¦ ¦ ¦ ¦ L===¦= óñòàíîâëåíû â 0; ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L======= ñèãíàë îøèáêè, àêòèâíûé óðîâåíü - 0, ¦ ¦ ¦ ¦ êîíòàêò ðàçúåìà - 15, ERROR; ¦ ¦ ¦ ¦ ¦ ¦ ¦ L========= ïðèíòåð âûáðàí, êîíòàêò 13, SLCT; ¦ ¦ ¦ ¦ ¦ L=========== êîíåö áóìàãè, êîíòàêò 12, PE; ¦ ¦ ¦ L============= ãîòîâíîñòü ïðèíòåðà, àêòèâíûé óðîâåíü - 0, ¦ êîíòàêò ðàçúåìà - 10, ACK; ¦ L=============== 0 - ïðèíòåð çàíÿò, íàõîäèòñÿ â ñîñòîÿíèè offline èëè ïðîèçîøëà îøèáêà, êîíòàêò 11, BUSY.

Îáû÷íî ðåäêî ïðèõîäèòñÿ ðàáîòàòü ñ ïðèíòåðîì íà óðîâíå ïîðòîâ ââîäà/âûâîäà, òàê êàê äîñòàòî÷íî èñïîëüçîâàòü ôóíêöèè BIOS èëè MS-DOS, ïðåäíàçíà÷åííûå äëÿ ýòîãî. Ïðèâåäåííàÿ âûøå èíôîðìàöèÿ ìîæåò ïðèãîäèòüñÿ âàì äëÿ ðàçðàáîòêè ñîáñòâåííîãî äðàéâåðà ïðèíòåðà èëè äëÿ ïîäêëþ÷åíèÿ ê ïðèíòåðíîìó ïîðòó êàêîãî-ëèáî äðóãîãî óñòðîéñòâà ââîäà/âûâîäà, íàïðèìåð, àíàëîãî-öèôðîâîãî ïðåîáðàçîâàòåëÿ.

Äëÿ òåõ, êòî áóäåò èñïîëüçîâàòü ïðèíòåðíûé ïîðò äëÿ ïîäêëþ÷åíèÿ àïïàðàòóðû, ïðèâåäåì òàáëèöó íàçíà÷åíèÿ êîíòàêòîâ ðàçúåìîâ ïðèíòåðíîãî ïîðòà (êîíòàêò PC) íà êîìïüþòåðå è êîíòàêòîâ ðàçúåìà íåïîñðåäñòâåííî íà ïðèíòåðå (êîíòàêò ïðèíòåðà): Êîíòàêò Êîíòàêò Íàçíà÷åíèå Âõîä/âûõîä PC ïðèíòåðà 1 1 Ñòðîá (STROBE) Âûõîä, èíâåðñèÿ 2 2 Äàííûå, áèò 0 Âûõîä 3 3 Äàííûå, áèò 1 Âûõîä 4 4 Äàííûå, áèò 2 Âûõîä 5 5 Äàííûå, áèò 3 Âûõîä 6 6 Äàííûå, áèò 4 Âûõîä 7 7 Äàííûå, áèò 5 Âûõîä 8 8 Äàííûå, áèò 6 Âûõîä


9 9 Äàííûå, áèò 7 Âûõîä 10 10 Ïîäòâåðæäåíèå, ACK Âõîä, èíâåðñèÿ 11 11 Çàíÿòîñòü, BUSY Âõîä 12 12 Êîíåö áóìàãè, PE Âõîä 13 13 Âûáîð, SLCT Âõîä 14 14 Àâò. ïåðåâîä Âûõîä, èíâåðñèÿ ñòðîêè, Auto Line Feed 15 32 Îøèáêà, ERROR Âõîä, èíâåðñèÿ 16 31 Ñáðîñ ïðèíòåðà, Âûõîä, èíâåðñèÿ INIT 17 36 Ïðèíòåð âûáðàí, Âûõîä, èíâåðñèÿ SLCT IN 18-25 16,17, Çåìëÿ - 19-30,33

Äëÿ ñèãíàëîâ, îòìå÷åííûõ â òàáëèöå ñëîâîì "èíâåðñèÿ", èñïîëüçóåòñÿ óðîâåíü ëîãè÷åñêîãî íóëÿ â àêòèâíîì ñîñòîÿíèè ñèãíàëà.

Èñïîëüçóÿ ïðèíòåðíûé ïîðò äëÿ óïðàâëåíèÿ âíåøíèìè óñòðîéñòâàìè, áóäüòå îñòîðîæíû è âûïîëíÿéòå âñå ïðàâèëà çàçåìëåíèÿ óñòðîéñòâ. Åñëè âàø óñòðîéñòâî íå çàçåìëåíî èëè çàçåìëåíî íåïðàâèëüíî, ïðèíòåðíûé ïîðò ìîæåò âûéòè èç ñòðîÿ.

Ñëåäóåò òàêæå ó÷èòûâàòü, ÷òî íàãðóçêà íà âûõîäíóþ ëèíèþ ïðèíòåðíîãî ïîðòà íå äîëæíà ïðåâûøàòü îäíîãî âõîäà 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. Òåïåðü ïðèíòåð ãîòîâ ïðèíÿò ñëåäóþùèé ñèìâîë ðàñïå÷àòûâàåìûõ äàííûõ.



Ñîäåðæàíèå ðàçäåëà