Керування зовнішніми апаратними пристроями з використанням компютерних програмних засобів

Желюк О. М.

Існує значна кількість апаратних засобів робота яких ґрунтується на системі команд та керуючих сигналів від персонального комп’ютера. Такі пристрої виготовлялись в час виникнення ЕОМ і будуть проектуватись надалі. Без них неможливо використання сучасних комп’ютерних засобів у промисловості, наукових дослідженнях, діловиробництві, побуті, навчальних закладах та інших сферах людської діяльності. Такі пристрої можуть бути використані для для керування фізичними приладами, пристроями автоматики, світлодинамічними установками, пристроями динамічної індикації та іншими засобами, що можуть використовуватись для потреб навчальних закладів, виробництва та побуту.

Керування зовнішніми пристроями передбачено програмно на основі як спеціалізованих операційних систем, створених для специфічних потреб, так і традиційно поширених таких як MS-DOS та Windows. Керування пристроями та обмін даними здійснюється через спеціальні “ворота” (канали), які отримали назву “порти”. З простих у керуванні в комп’ютерах використовують спеціалізовані порти двох типів – паралельні синхронні порти стандарту Centronics (LPT) та послідовні асинхронні порти стандарту RS-232 (COM). Паралельні порти мають імена «LPT1», «LPT2», а послідовні «COM1», «COM2», «COM3» … До портів підключають також пристрої, без яких роботу сучасної ЕОМ важко уявити: маніпулятор “мишка”, принтер, модем, сканер та ін.

В літературі здебільшого керування паралельними та послідовними портами описується на рівні регістрів цих портів на мові програмування Assembler. Це не дивно. Послідовний порт досить “повільний” та специфічний. Паралельний порт “швидший”. Створити програму для роботи з портами, знаючи алгоритм їх дії не викликає значних складнощів. Стандарт роботи паралельного порту на відміну від послідовного передбачає більш простий і доступний алгоритм для самостійного засвоєння, що і сприяє знайомству та розгляду основ роботи з зовнішніми пристроями саме на базі цього порту.

Термін “паралельний порт” досить часто асоціюють з терміном “принтерний порт”, оскільки він є самим зручним засобом сполучення друкуючого пристрою з ЕОМ. Для роботи паралельного порту IBM — сумісні ЕОМ використовують єдиний стандартний інтерфейс Centronics. Через паралельний порт відбувається обмін даними з рядом стандартних пристроїв: адаптери, комп’ютери, принтери, сканери, багатофункціональні пристрої та ін. Слід відмітити, що паралельний порт може використовуватись не тільки традиційно для роботи з принтером, але і для керування різноманітними пристроями за допомогою зовнішніх інтерфейсних засобів створених для виконання специфічних потреб користувачів.

Термін “паралельний порт” виник завдяки функціональній особливості: передачі інформації по одному байту (8 біт). При цьому для передачі даних використовується 8 провідників — ліній, по одному на кожен біт. Такі провідники утворюють восьми бітну шину даних. Біти інформації передаються одночасно з однією і тією ж швидкістю по індивідуальним провідникам. Оскільки використовуються 8 провідників для передачі даних, інформація може передаватись у 8 разів швидше, ніж по однопровідниковій лінії, що зумовлює основну перевагу паралельного порту на відміну від послідовного. А так як передача даних через порт здійснюється відповідно до паралельної обробки інформації в самому комп’ютері то такий метод передачі даних є одним з найбільш ефективних. Незважаючи на те, що використовується тільки 8 інформаційних ліній для повноцінного обміну з зовнішніми пристроями до порту входять ще ряд додаткових керуючих сигналів з відповідними провідниками.

Стандарт IBM — сумісних ЕОМ передбачає взаємодію трьох паралельних портів, яким призначені базові адреси 03BCh, 0378h та 0278h для передачі даних. В будь-якій системі ці адреси мають бути унікальними, тобто два паралельні порти не можуть використовувати одну й ту ж базову адресу. В IBM — сумісних системах за паралельними портами зарезервовано три спеціалізованих логічних імені, що підтримуються системою LPT1, LPT2, LPT3. Абревіатуру LPT можна подати як Line Printer. Сучасні IBM — сумісні комп’ютери здебільшого оснащені вбудованими паралельними портами і в основному не використовують базову адресу 03BCh. Стандартне функціональне призначення контактів гнізда паралельного порту для використання його в роботі з друкуючим пристроєм наведено в таблиці 1.

 

Strobe – сигнал для синхронізації запису даних в друкуючий пристрій.

Data0 — Data7 – лінії 8-ми бітної шина даних.

Ask (Asknowledge) – при переході з високого рівня на низький сигналізує про завершення вводу даних.

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

PE (Paper Empty) – встановлюється високий рівень при закінченні паперу.

Select – високий рівень сигналізує про те, що принтер під`єднано.

Autofd – при встановленні низького рівня папір автоматично переміщується на наступний рядок (активний рівень встановлюється перемикачами на принтері).

Error – при відмові принтера, відсутності паперу, автономному режимі та помилці встановлюється низький рівень.

Init (Input Prime) – при встановленні низького рівня буфер друку очищується, а контролер принтера встановлюється у вихідний стан.

Slct In – при низькому рівні задається можливість вводу даних (активний рівень встановлюється перемикачами на принтері).

 

Табл. 1.

Контакт
(25-pin)
СИГНАЛ ВХІД/ВИХІД
1 Strobe Вихід
2 Data0 Вихід
3 Data1 Вихід
4 Data2 Вихід
5 Data3 Вихід
6 Data4 Вихід
7 Data5 Вихід
8 Data6 Вихід
9 Data7 Вихід
10 Ask Вхід
11 Busy Вхід
12 PE Вхід
13 Select Вхід
14 Autofd Вихід
15 Error Вхід
16 Init Вихід
17 Slct In Вихід
18 – 25 Ground

 

Для знайомства з роботою та контролю дії восьми бітної шини даних паралельного порту доцільно виготовити світлодіодний індикатор. Принципова схема такого пристрою зображена на рис. 1. Індикаторами стану ліній паралельного порту є напівпровідникові світлодіоди HL1 – HL8 типу АЛ307 або інші з випромінюванням у видимому діапазоні та робочим струмом до 20 мА. Враховуючи можливі обмеження ліній паралельного порту по вихідному струму, а також для обмеження струму світлодіодів, відповідно до технічних умов, послідовно до HL1 – HL8 включено резистори R1 — R8. Світлодіодний індикатор з’єднують групою гнучких провідників з паралельним портом ЕОМ через 25-ти контактне гніздо. Дані, що поступають до паралельного порту через 8 інформаційних ліній відповідають стандарту TTL (транзисторно-транзисторної логіки), який зумовлює напругу логічної “1” не більше 5 В, а напругу логічного “0” близько 0 В.

kontrol-dii-vosmi-bitnio-shini-danikh

Рис. 1

Основи програмного керування паралельним портом через 8 бітну шину даних (Data0 – Data7) можна розглянути, скориставшись наведеними програмами. Програми створені з використанням мови програмування Turbo Basic, що разом з простим та комфортним інтерфейсом користувача дозволяє зручне компілювання та створення виконуваних *.exe – файлів. Запропоновані програми дозволяють реалізувати таймери, хронометри, спускові пристрої, системи “старт-фініш”, ефективні технічні засоби для знайомства з двійковим рахунком, встановлення відповідності чисел десяткової та двійкової систем числення, змоделювати дію світлофора, здійснити динамічні ефекти “Біжучий вогонь” та ін. В наведених програмах використовується паралельний порт LPT1 з адресою 0378h. Слід відмітити, що можливі випадки коли в залежності від особливостей апаратного виконання конкретної ЕОМ адреси паралельного порту можуть бути 0278h, або 03BCh.

Після знайомства з роботою 8-бітної шини даних для подальшого знайомства з роботою паралельного порту доцільно розглянути роботу ліній, що використовується для передачі керуючих сигналів. До таких ліній належать вихідні лінії Strobe, Autofd, Init, Slct In. Для знайомства з функціональною дією цих ліній схему індикатора необхідно доповнити попарними ланцюжками з послідовно з’єднаного резистора та світлодіода аналогічно до ланцюжків індикації стану шини даних. Такі ланцюжки під`єднують відповідно між контактами 1, 14, 16, 17 та 18-25 гнізда паралельного порту. Програмно сигнали на лініях Strobe, Autofd, Init, Slct In встановлюються при звертанні за адресою 037Ah, або 027Ah, 03BEh.

Слід відмітити, що паралельний порт може використовуватись не тільки  для виводу інформації, але й для вводу даних, сприймати та проводити подальшу обробку сигналів, що надходять на вхідні лінії Ask, Busy, PE, Select, Error. Для зчитування даних із цих ліній використовують адреси 0379h, або 0279h, 03BDh.

Світлодіодний індикатор не потребує дефіцитних комплектуючих і спеціалізованого обладнання для налагодження. Він може бути виготовлений силами учнів в позаурочний час на гуртках радіофізичного профілю.

 

rem Переводимо з десяткового у двiйкове

cls

input «Уведіть десяткове число від 0 до 255»;d

out &h378,d

print «Спостерігайте за свіченням свiтлодiодiв на індикаторі»

print «Свiтлодiоду, що світить відповідає — 1. Іншим — 0»

end

 

 

rem Двiйковий рахунок

cls

for i=0 to 255

out &h378,i

delay .1

next

end

 

rem Ефект «Біжучий вогонь»

cls

for i=1 to 10

for j=0 to 8

out &h378,2^j

delay .15

next j

next i

end

 

rem «Світлофор»

cls

for i=1 to 10

out &h378,1: delay 3

out &h378,2: delay 1

out &h378,4: delay 3

out &h378,2: delay 1

next i

end

 

 

rem Ефект «Світимо по черзі»

cls

out &h378,1

delay .5

out &h378,2

delay .5

out &h378,4

delay .5

out &h378,8

delay .5

out &h378,16

delay .5

out &h378,32

delay .5

out &h378,64

delay .5

out &h378,128

delay .5

out &h378,256

delay .5

end

 

Директор Рівненського міського

природничо-математичного ліцею,

Кандидат педагогічних наук,

Заслужений вчитель України

Желюк Олег Миколайович.

Все права защищены. Перепечатка, публикование данной статьи в любых других источниках без согласия автора запрещена.

09.07.2016 PGurov

 Метки:

Comments are closed.