Реферат: Використання інтерфейсу Centronics для керування зовнішніми пристроями
1. Маскування – встановлення фільтру, тобто операції виконуються тільки з певними бітами.
Asm
Mov al,ba
And al,0100 0000b
Mob b2,al
end
2. Інверсія виконується на рівні асемблеру () або нарівні Паскалю.
neg al
3. Зсув. В асемблері зсув , у Паскалі зсув на n бітів вправо означає ділення на 2n .
В Паскалі є також наступні команди роботи з портами:
Adres:=$00378;
Port[Adres]:=255; // запис 1111 1111
B1:=port[Adres+1]; // зчитування
Стробування
Швидкість обміну через порт принтера залежить від швидкодії комп’ютера. Тому для зовнішніх пристроїв низької і середньої швидкодії потрібно забезпечувати затримку сигналів (наприклад стробу) на певні проміжки часу (затримка 1 мс: в Паскалі : Delay(1) , в – Delphi : Sleep(1)).
У процесі початкового тестування POST BIOS перевіряє наявність паралельних портів LPT1-LPT4 по адресах 3BCh, 378h, 278h і поміщає базові адреси виявлених портів в пам’ять за адресами: 0:0408h, 040Ah, 040Ch, 040Eh. Після виявлення порти ініціалізуються – на порт подається сигнал Init і в порт записуються нульові значення.
Програмне переривання BIOS int 17h забезпечує наступні функції підтримки LPT-порту:
00h - вивід символу з регістру AL, строб формується після готовності принтера
01h - ініціалізація принтера
02h - опитування стану принтера
При виклику INT 17h номер функції задається в регістрі AH, а номер порту – у регістрі DX (0 – LPT1, 1 – LPT2..). Дані з порта повертаються у регістр AH.
Використання переривань: LPT1 – IRQ7, LPT2 – IRQ5.
4. Проектування апаратури для спряження з Centronics
Для Centronics характерні такі особливості:
1) обмін даними є програмно-керованим (обробка переривань і прямий доступ до пам’яті неможливі).
2) Невисока швидкість обміну
3) Обмеження на довжину лінії зв’язку (2м)
4) Немає шини живлення.
Розглянемо підключення до комп’ютера найпростішого пристрою – набору світло діодів і кнопок.