Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Робота паралельного порта ПЕОМ



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

Розширити можливості ПЕОМ можна використовуючи шини розширення. Зараз така шина РСІ. Раніше використовувалася шина ISA проте вона, була дещо повільною. Не останню роль зіграли й маркетингові міркування. На даний час шина ISA практично не підтримується виробниками системних плат.

Шини розширення дають доступ до системних шин системи: шини адреси, шини даних, шини керування. Це дає можливість нарощувати систему в цілому, забезпечуючи доданим модулям доступ до ресурсів системи.

Однак такий спосіб вимагає розробку апаратури, що працюватиме на швидкості системної шини (а це 33МГц і більше). Існують задачі, які не потребують такі швидкості. Окрім того не у всі системи можна добавити додатковий пристрій через брак місця наприклад. Тому простим рішенням для керування нескладними і відносно повільними пристроями є використання паралельних портів ПЕОМ.


Паралельний порт ПЕОМ типу IBM PC проектувався для роботи з друкуючими зовнішніми пристроями. Тому має певну специфіку.

Всі сигнали виведені назовні на контакти роз'єму. Для доступу до контактів є три адреси в області пам'яті пристроїв вводу виводу. Є дві базові адреси починаючи з якої визначаються інші адреси. Здебільшого базова адреса 0378h. За цією адресою знаходиться регістр даних який налаштований на вихід. Регістр з адресою 379h (регістр статусу друкарки) налаштований на ввід і нарешті порт 37Ah налаштований на вивід (регістр керування друкаркою). Не всі біти регістрів доступні для управління (рис.1.1)

Рисунок 1.1- Структура та функціїрагістрів паралельного порта

Вхідні кола окремих бітів інвертуються при вводі, інші- ні (рис. 1.2).

Рисунок 1.2- Схематичне зображення вхідних кіл регістра 03791г

В деяких системах регістр даних за адресою 378h може працювати як на вивід так і не ввід. Такі системи називаються двонаправленими і напрям визначається бітом 5 регістра 37Ah.

Параметри паралельного порта підпорядковуються стандарту IEEE 1284. Це стандарт описує електричні параметри ліній порта, три режими роботи, сигнали управління режимами та перериванням, яке може виникнути при роботі паралельного порта.

Переривання може бути на 5 чи 7 векторі. Його можна включити бітом 4 в порті 37Ah(37A.4) і викликати по фронту на лінії Ack. Однак на деяких платах може стояти інвертор. Про це буде розказано пізніше.


Процес використання паралельного порта зображено на рис.1.3. Пристрої приєднують до роз'єма, що знаходиться на задні стінці ПЕОМ. Стан логічних рівнів пристрою доступний при зчитування вмісту регістрів порта. Використовуючи логічні рівні пристрою програма виконується за складеним алгоритмом.

Для роботи із паралельним портом в Паскалі використовують масив із зарезервованою назвою PORT. Індексом масиву є адреса порта.

Таблиця 1.3- Функції зовнішніх контактів раз'ему паралельного порта

Рисунок 1.3- Напрям потоку даних від зовнішнього пристрою до програми користувача


Наприклад для виведення коду 10 на контакти з 2 по 9 (тобто на контакти регістра даних паралельного порта (табл.2.1)) треба виконати команду:

PORT[$378]:=10; {0000 1010b}

Після її виконання на контактах 3 та 5 буде напруга близько 4В, а на контактах 2,4,6-9 напруга близько 0В.

Набути навичок роботи із бітами в двійковому числі можна з використанням наочного представлення стану бітів. Якщо в пристрої, приєднаному до паралельного порта світлодіод світитиметься, то у відповідному біті встановлено лог.1, а якщо світлодіод не світиться то -лог.0.

Для включення світлодіода, який приєднано до контактів Data0-Data7 треба послати в порт 378h код із виставленими бітами (лог.1) де треба, щоб світлодіод світи ся. Задача полягає тільки у правильному виставленні бітів в байті, який будуть записувати в порт.

 

Виконання роботи

 

Програма на мові Pascal:

uses crt;

var a: byte;

var b: boolean;

begin

a:=$01; b:=TRUE;

Repeat

port [$378]:=a;

if b then a:=a shl 1

else a:=a shr 1;

delay (50000);

if (a and $81 <> 0)then b:=not b;

until fslse;

end.


Структурна схема:

b =0
a=1 b=0
a
a←1
a→1  
a and $81<>00 $
b =- b

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.