Реферат: Паралельний інтерфейс IEEE 1284 (інтерфейс Centronics)
Рис. 4. Передача даних по протоколу Centronics
1.6 Програмна частина інтерфейсу
Програмувати розробку інтерфейсу можна на нижчому рівні (наприклад із використанням мови Assembler), на середньому рівні та на мовах високого рівня (наприклад в середовищі Delphi).
Для програмування LPT портів в середовищі Delphi використовується модуль LPTIO.pas в якому описана вся взаємодія з драйвером LPT-порту lptwdmio.sys (Увага!!! Драйвер повинен знаходитись в папці c:\WINDOWS\system32\drivers\ або в тій же папці що і програма) [4].
Для роботи з LPT-портом оголошуємо об’єкт:
Lpt: TLptPortConnection;
В процедурі створення форми створюємо об’єкт Lpt
procedure TForm1. FormCreate (Sender: TObject);
var
msg: AnsiString;
begin
Lpt:= TLptPortConnection. Create;
В тій же процедурі занесемо в регістр даних і у регістр управління заносимо 0 і 3 відповідно, що в результаті приведе до виключення всіх світлодіодних індикаторів.
Lpt. WritePort (GetCurrentPort, 0,0);
Lpt. WritePort (GetCurrentPort, 2,3);
Регістри є 8-бітні тому максимально можливе десяткове число, яке може бути записане в них, це 255 або 11111111 в двійковому форматі. Для запису використовується функція WritePort,де в параметрах вказується порт, в який записуються дані, його можна взнати використавши процедуруGetCurrentPort. Номера регістру: 0 – регістр даних, 1 – регістр стану, 2 – регістр управління. Число яке записується від 0 до 255.
Для зчитування значень з регістру використовується функція ReadPort в параметрах якої вказується поточний порт і номер регістру (аналогічно з функцією запису).
Lpt. ReadPort (GetCurrentPort, 0)
Зчитується все значення регістру і тому, для того, щоб отримати значення певної комірки регістру, над зчитаним значенням потрібно виконати наступні дії:
var
d: boolean;
begin
d:= true;
d:= d and (1 = (1 and Lpt. ReadPort((GetCurrentPort), 0)));
Над зчитаними даними і степенем двійки, відповідно до номера регістра, значення якого потрібно взнати, виконується логічна операція and (логічне множення). Потім прирівнюємо до того ж числа в результаті виходе логічне значення true – якщо значення рівні і false – якщо ні. Значення булевої змінної можна використати наприклад для перемикання прапорця чи зміни кольору фігури, яка символізує діод. Повний текст програми яка зчитує і записує значення в LPT-порт дивіться в додатку.
1.7 Перспективи інтерфейсу IEEE 1284
Зараз практично всі сучасні системні плати не мають LPT-порту. Але на старіших системних платах цей порт досить поширений. Це пов’язане з вичерпанням портом свого ресурсу як такого. На заміно йому прийшов більш зручний і функціональний USB-порт. [5]. Порівняльні характеристики інтерфейсу IEEE 1224 та USB приведено в табл. 4
інтерфейс аналог асинхронний передача
Таблиця 4. Порівняльні характеристики інтерфейсу IEEE 1224 та USB
IEEE 1284 | USB 2.0 | USB 3.0 |
Швидкість | 1,2 Мбіт/c |
К-во Просмотров: 449
Бесплатно скачать Реферат: Паралельний інтерфейс IEEE 1284 (інтерфейс Centronics)
|