Курсовая работа: Програма контролю наявності зв’язку комп’ютера з пристроєм через паралельний порт протягом 15 секунд

На рисунках 1.1 a) і 1.1 б) наведені структурна схема адаптера і його програмна модель. Підключення периферійного обладнання виконується через три двонаправлених 8-бітних порти (або канали)

A, B і C. Інтерфейс із системною шиною здійснюється за допомогою ліній:

D (0-7) - двонаправлена шина даних з тристабільними каскадами.

A1,A0 - лінії адреси, котрі вибирають внутрішній регістр адаптера, комутований на шину даних:

00 - порт A, 01 - порт B, 10 - порт C, 11 - регістр управляючого слова.

CS - активний вхід вибірки кристала; високий рівень забороняє, а низький дозволяє зв'язок приладу із системною шиною даних.

RD - активний вхід зчитування інформації із адресованого по лініям A0, A1 регістру на шину даних.

WR - активний вхід запису інформації з шини даних в адресований по A0 і A1 внутрішній регістр адаптера.

RESET - активний сигнал для приведення приладу у вихідний стан;

при дії сигналу регістр управління обнуляється, а всі три порти налаштовуються в режим введення.

Відмітимо,що зчитування з регістру управління (RD=0,A1=1,A0=1) не допускається, а одночасний запис та зчитування (RD=0,WR=0) призводять до непередбачуваних наслідків.

Програмування адаптера полягає в завантаженні управляючого слова в регістр управління. Формат управляючого слова визначення режиму, що ідентифікується умовою D7=1, наведені на мал. 1.2 Відмітимо, що 8-бітні порти A і B не разділені, а лінії порта C розділені на дві 4-бітні групи, що являють собою два незалежних порти.

Наприклад, управляюче слово конфігурації порту A на введення в режимі 0, порта B на виведення в режимі 1, біта 3 порту C на введення та біта 7 порту C на виведення матиме код 11010101b.

Управляюче слово з нульовим старшим бітом D7=0 використовується для встановлення і скидання будь-якого біту порта C. Біти D (6-4) в цьому випадку не використовуються і містять нулі, біти D (3-1) містять двійковий номер (адресу) модифікованого біта порту С, а біт D0 задає встановлення (D0=1) або обнулення (D0=0) адресованого біту.

Адаптер має 3 режими роботи - 0,1,2. Розглянемо кожний з них.

В режимі 0 (базового введення-виведення) можуть працювати всі три порти, причому порт C разділюється на два незалежних 4-бітных порти.

Всього, таким чином, виходить два 8-бітних і два 4-бітних порти паралельного введення або виведення, що забезпечує 16 можливих конфігурацій адаптера в режимі 0. Дані, що виводяться, фіксуються в регістрах-фіксаторах, що входять до складу всіх портів, а введені дані не запам'ятовуються, тобто в операціях зчитування вхідного порту на шину даних передаїться поточний стан вхідних ліній.

Режим 0 застосовується при програмно-управляємому введенні-виведенні з повільнодіючими периферійними пристроями.

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

введення стану пристрою, перевірку готовності, виведення або введення даних і формування супроводжуючого стробу. Якщо пристрій не готовий до обміну, мікропроцесор входить в цикл очікування.

Режим 1 (стробоване введення-виведення) призначений для однонаправленої передачі даних, ініційованих перериваннями. Власне передача слів даних здійснюється через порти B і A, а шість ліній порту C використовуються для управління обміном. Даний режим надає користувачеві такі можливості: запрограмувати один або два паралельних порти з лініями квітування і переривання, кожний з яких може працювати на введення або виведення; при використанні тільки одного порту решту 13 ліній запрограмувати в режим 0; при встановленні двох портів в режим 1 інші 2 лінії використати для введення або виведення.

В режимі 2 (двонаправлена шина, що забезпечує введення і виведення даних) може працювати тільки група A. Порт A використовується для передачі власне 8-бітных даних, а п'ять ліній порту C виконують функції квітування і переривань. Загальна дисципліна квітування аналогічна режиму 1, але ї окремі тригери дозволу переривань по виводу INTE1 (управляється встановленням та скиданням біту PC6) та по вводу INTE2 (управляється через біт PC4). Дані, що вводяться та виводяться, фіксуються в регістрах-фіксаторах порту.

4. Реалізація проекту

Програму написано на мові програмування С з використанням вставок на асемблері. Для читання байта з паралельного порту використовується функція мови С inportb (номер). Для встановлення затримки використовується функція 83h переривання 15h (очікування події). При проходженні заданого у CX: DX заданого числа мікросекунд встановлюється старший біт за адресою в DS: BX.

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

5. Інструкція користувача

Перед початком роботи треба підключити пристрій, який треба перевірити, до паралельного порту комп’ютера. Після цього треба запустити програму на виконання. При тестуванні на екран буде виведено повідомлення. Тестування може закінчитись достроково при натисканні клавіші, або при надходженні сигналу. Інакше через 15 секунд буде видано повідомлення про те, що даних не надходить і програма завершить роботу.

6. Основні висновки

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

Список літератури

1. Ю.С. Лукач, А.М. Сибиряков.

2. Архитектура ввода-вывода ЭВМ IBM PC.

3. Електронний довідник NG.

Додаток

Текст програми

К-во Просмотров: 209
Бесплатно скачать Курсовая работа: Програма контролю наявності зв’язку комп’ютера з пристроєм через паралельний порт протягом 15 секунд