
- •Лабораторна робота № 3 керування зовнішніми пристроями через lpt-порт
- •1. Теоретичні відомості
- •1.1. Будова і принцип роботи порта принтера
- •2. Адаптер „lpt_Motor_10h”
- •2.1. Схема електрична функціональна адаптера „lpt_Motor_10h”
- •2.2. Схема електрична принципова адаптера „lpt_Motor_10h”
- •На валах електродвигунів адаптера закріплено тримачі, на які можуть встановлюватися наступні диски (рис. 2.4).
- •3. Програма керування „lpt_motor_10s”
- •3.1. Програмний доступ до портів у Windows nt/2000/xp з використанням бібліотеки io.Dll
- •3.2. Опис програми керування „lpt_Motor_10s”
- •4. Порядок виконання лабораторної роботи Завдання для всіх варіантів V 1...V 99
- •Контрольні запитання
- •Список використаних джерел
Лабораторна робота № 3 керування зовнішніми пристроями через lpt-порт
Мета: вивчити способи програмного керування зовнішніми пристроями через порт принтера (LPT-порт або паралельний порт ПК), навчитися керувати такими виконавчими пристроями, як світлодіоди, реле, електричні двигуни.
Завдання: зібрати вимірювальну-керуючу систему на основі адаптера „LPT_Motor_10h” згідно зі схемою; через адаптер провести керування набором світлодіодів за допомогою бітів регістру даних порта принтера, встановлювати стани регістру команд пристрою, вмикати та вимикати електричні двигуни та надяскраві світлодіоди в режимі реального часу, написати процедури для керування зовнішніми пристроями згідно завдання.
Обладнання: адаптер для керування світлодіодами, реле та електричними двигунами „LPT_Motor_10h”, блок живлення, персональний комп’ютер.
Програмне забезпечення: програма „LPT_Motor_10s”, середовище програмування Delphi.
1. Теоретичні відомості
У даній лабораторній роботі за допомогою адаптера „LPT_Motor_10h” (hardware), який під’єднується до персонального комп’ютера через порт принтера, виконується керування такими зовнішніми пристроями, як світлодіоди, реле, електричні двигуни. Керування адаптером здійснюється програмою „LPT_Motor_10s” (software). Тому в теоретичній частині розглянемо будову і принцип дії адаптера „LPT_Motor_10h” та програми „LPT_Motor_10s”.
1.1. Будова і принцип роботи порта принтера
Основне призначення порта принтера, який реалізує інтерфейс Centronics, – це під’єднання до комп’ютера принтерів різних типів. Тому розміщення контактів конектора, призначення сигналів та програмні засоби орієнтовані на це застосування [1-3]. В той же час через порт принтера можна керувати й нестандартними зовнішніми пристроями. Дані в порт записуються і зчитуються по шині даних D0-D7 (8 біт), а для вибору конкретного порту використовується шина адреси A0-A15 (16 біт) (рис. 1.1).
Рис. 1.1. Ввід-вивід даних через паралельний порт
Фактично паралельний порт складається з трьох 8-бітних регіcтрів:
DR – Data Register, 8-бітний регістр даних.
SR – Status Register, 5-бітний регістр стану.
CR – Control Register , 4-бітний регістр контролю.
Регістри даних і контролю (DR і CR) служать для виводу даних з комп’ютера, а регістр стану (SR) – для вводу (табл.1.1). Кожному біту (розряду) порта принтера фізично відповідає один контакт в конекторі. Використовується наступні адреси портів принтера: LPT1 ($00378), LPT2 ($00278) і LPT3 ($003BC). Для більшості комп’ютерів адреси регістрів порта принтера (LPT1) в шістнадцятковій системі наступні: DR ($00378); SR ($00379), CR ($0037А), тобто адреса наступного регістра на 1 більша від попереднього, проте адреса першого порту LPT1 може бути різною.
Логічній одиниці на розряді паралельного порту відповідає напруга +5В, а логічному нулю 0 В. Проте, якщо розряд інверсний, то логічній одиниці відповідає 0 В, а логічному нулю +5В.
Регістр SR дозволяє зчитувати дані із зовнішніх пристроїв, наприклад цифрові сигнали з різноманітних сенсорів. Для SR не використовуються всі розряди, тому розряди вхідних сигналів звичайно зчитуються по 4 біти зі зсувом вліво на 3 біти (табл. 1.1). Відповідно після зчитування потрібно програмно зсунути розряди SR7-SR3 вправо на 3 біти (поділити на 8).
Поняття Centronics відноситься до набору сигналів, протоколу обміну і 36-контактного конектора, що встановлюється в принтерах (рис. 1.2).
З’єднання з принтером З’єднання з комп’ютером
(36 контактів) (25 контактів)
Рис. 1.2. Кабель принтера
Таблиця 1.1
Розряди паралельного порту (інтерфейс Centronics)
Регістри |
Розряди (ПК) |
Розряди (принтер) |
Контакт роз’єму (ПК) |
Контакт роз’єму (принтер) |
1 – ввід ; 0 – вивід; і – інверсія |
DR |
DR0 |
D0 |
2 |
2 |
0 |
DR1 |
D1 |
3 |
3 |
0 |
|
DR2 |
D2 |
4 |
4 |
0 |
|
DR3 |
D3 |
5 |
5 |
0 |
|
DR4 |
D4 |
6 |
6 |
0 |
|
DR5 |
D5 |
7 |
7 |
0 |
|
DR6 |
D6 |
8 |
8 |
0 |
|
DR7 |
D7 |
9 |
9 |
0 |
|
SR |
SR3 |
Error |
15 |
32 |
1 |
SR4 |
Slct |
13 |
13 |
1 |
|
SR5 |
Pe |
12 |
12 |
1 |
|
SR6 |
Ask |
10 |
10 |
1 |
|
SR7 |
Busy |
11 |
11 |
1 (і) |
|
CR |
CR0 |
Strobe |
1 |
1 |
0 (i) |
CR1 |
Auto fd |
14 |
14 |
0 (i) |
|
CR2 |
Init |
16 |
31 |
0 |
|
CR3 |
Scltin |
17 |
36 |
0 (i) |
|
Земля |
Gnd |
Gnd |
18 – 25 |
16,17,19-30,33 |
|