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

2016-07-30СтудИзба

Описание файла

Документ из архива "Програма контролю наявності зв’язку комп’ютера з пристроєм через паралельний порт протягом 15 секунд", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48213"

Текст из документа "48213"

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

КІРОВОГРАДСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

КУРСОВИЙ ПРОЕКТ

З ДИСЦИПЛІНИ: “АРХІТЕКТУРА ЕОМ”

ТЕМА:

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

Зміст

Вступ

1. Призначення та область використання

2. Огляд існуючих пристроїв, систем, програмного забезпечення, обгрунтування вибору принципа розробки та методики побудови програми

3. Опис та обгрунтування проектних рішень по проектуванню програми

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

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

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

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

Додаток

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

Блок-схема програми


Вступ

Для ефективної роботи систем керування різними пристроями їх підключають до комп’ютерів. З комп’ютера можуть видаватися різноманітні команди для пристрою, пристрій може передавати різні сигнали комп’ютеру про свій стан.

Для зв’язку використовуються спеціальні пристрої, такі як послідовні та паралельні адаптери. Послідовні передають дані по одному біту, паралельні - одночасно. Паралельні забезпечують більшу швидкість роботи, але вимагають більше з’єднувальних ліній.

У даній роботі розглянуто програму, яка приймає дані з зовнішнього пристрою через паралельний порт. Якщо дані не змінюються (там знаходиться якесь одне значення), то програма повідомляє про це.


1. Призначення та область використання

Програма призначена для контролю зв’язку комп’ютера з зовнішнім пристроєм через паралельний порт. У випадку якщо нові дані не надходять, то програма видає відповідне повідомлення.

Програма може бути використана на комп’ютері з паралельним адаптером і операційною системою MS-DOS.

2. Огляд існуючих пристроїв, систем, програмного забезпечення, обгрунтування вибору принципа розробки та методики побудови програми

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

Операційні системи містять стандартні програми для передачі файлів, з’єднання з мережами за допомогою пристроїв введення-виведення. Для різних пристроїв переважно створюється різне спеціалізоване програмне забезпечення.

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

3. Опис та обгрунтування проектних рішень по проектуванню програми

Наведемо деякі відомості про роботу паралельного адаптера.

Будь-який МП-системі необхідні засоби обміну даними із зовнішніми периферійними пристроями. В залежності від умов конкретного застосування та характеристик периферійного обладнання передача даних виконується в паралельному або послідовному форматі. Спільність функцій введення-виведення стимулювала розробку ВІС периферійних адаптерів, що являють собою гнучкі програмовані прилади, зорієнтовані виключно на введення-виведення. Зараз такі адаптери стали неодмінними компонентами практично всіх мікропроцесорних сімейств.

Як приклад типового паралельного периферійного адаптера, або програмованого паралельного інтерфейсу, нижче розглядається мікросхема КР580ВВ55А.

На рисунках 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.


Додаток

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

#include

#include

#include

#include

char end=0;

void set_timer ()

{

unsigned res;

asm{

mov ah,0x83

mov al,1

int 15h

mov ah,0x83

mov al,0

mov bx,offset end

mov cx,0xe5

mov dx,0xffff

int 15h

pushf

pop ax

and ax,1

mov res,ax

}

if (res! =0) {

printf ("Помилка встановлення таймера! \n");

exit (-1);

}

}

void main ()

{

char data;

char x,xnew;

clrscr ();

printf ("\t\t Програма перевiрки наявностi\n");

printf ("\t\tзв`язку комп`ютера з пристроєм через паралальний\n");

printf ("\t\t порт протягом 15 секунд. \n\n");

printf ("Для початку вiдмiрювання часу натиснiть клавiшу ENTER. \n");

getch ();

printf ("Очiкуємо 15 секунд... \n");

printf ("Для вiдмiни натиснiть будь-яку клавiшу. \n");

set_timer ();

xnew=inportb (0x378);

x=xnew;

data=0;

do{

xnew=inportb (0x378);

if (xnew! =x) {

data=1;

break;

}

x=xnew;

if (kbhit ()) {getch (); break; }

}while (! end);

if (! data)

{

printf ("Даних з паралельного порту не надходить. \n");

sound (1000);

delay (500);

nosound ();

}

else

{

printf ("Данi надходять з паралельного порту. \n");

}

getch ();

}


Блок-схема програми


Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5138
Авторов
на СтудИзбе
442
Средний доход
с одного платного файла
Обучение Подробнее